ElasticSearch 是一款优秀的搜索引擎,用java编写,restful接口的方式进行对接。html
安装Java环境
首先检测是否安装javajava
java -version
echo $JAVA_HOME
若是java的版本太低,建议安装高版本,下面安装的是java 1.8node
cd /opt/
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz"
tar xzf jdk-8u66-linux-x64.tar.gz
上面的下载,若是失效,您能够在个人百度网盘中下载jdk: https://pan.baidu.com/s/1kVwRD2Zlinux
cd /opt/jdk1.8.0_66/
alternatives --install /usr/bin/java java /opt/jdk1.8.0_66/bin/java 2
alternatives --config java
运行了上面的,会初选一个选择的地方,个人机器显示:git
There are 3 programs which provide 'java'. es6
Selection Command github
Enter to keep the current selection[+], or type selection number: 4
咱们安装的是jdk1.8.0.66 因此,我选择的是4,这个看具体状况,jdk1.8.0.66 是第几个,就选择那个数字。vim
alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_66/bin/jar 2
alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_66/bin/javac 2
alternatives --set jar /opt/jdk1.8.0_66/bin/jar
alternatives --set javac /opt/jdk1.8.0_66/bin/javac
安装完成,检查版本服务器
java -version restful
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
保存到文件 /etc/environment中,当服务器重启的时候加载:
vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_66
export JRE_HOME=/opt/jdk1.8.0_66/jre
export PATH=$PATH:/opt/jdk1.8.0_66/bin:/opt/jdk1.8.0_66/jre/bin
重启linux
reboot
查看是否安装成功
java -version
echo $JAVA_HOME
2.
2.1安装ElasticSearch
cd /tools
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.3.zip
unzip elasticsearch-6.1.3.zip
mv ./elasticsearch-6.1.3 /usr/local/elasticsearch
cd /usr/local
groupadd elasticsearch
useradd -g elasticsearch elasticsearch
chown elasticsearch:elasticsearch -R elasticsearch
上面安装的是es6.
2.2 设置开机启动: 我是本地,直接把iptables 关掉了
vim /etc/rc.d/rc.local
service iptables stop
su elasticsearch -c "/usr/local/elasticsearch/bin/elasticsearch -d"
必定要注意,elasticSearch不能用root帐户启动,elasticSearch不能用root帐户启动,elasticSearch不能用root帐户启动,重要的说三遍,我这里用的是我新建的elasticsearch帐户开机启动
报错:
$./bin/elasticsearch
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
#
解决方案:调小启动内存
#-Xms2g
#-Xmx2g
-Xms256m
-Xmx64m
上面设置的分配的内存的最大值为256MB和最小值64mb,您能够根据本身的机器状况设置内存大小。
从新启动便可。
2.3 配置
vim /usr/local/elasticsearch/config/elasticsearch.yml
修改以下:
cluster.name: TA-application
node.name: node-210
network.host: 192.168.0.210
其中cluster.name 是集群名称,这个不要使用默认的,要修改,去掉注释,若是有多个机器,加入同一个集群,那么这个值必须同样
noide.name 是集群里面每一个节点的值,也就是当前机器的节点的值,这个值,每一个节点要不同。
network host 改为当前的内网ip
下面的部分是elasticsearch 2 部分的插件,在es6中已经不可用,
es6的可视化GUI,请查看:http://www.fecshop.com/topic/668
2.3 #安装head 插件
su elasticsearch
cd /usr/local/elasticsearch
bin/plugin install mobz/elasticsearch-head
#启动:
bin/elasticsearch -d
2.4 查看:
head插件地址:
http://192.168.0.210:9200/_plugin/head/
2.5 集群设置
若是想要创建一个elasticSearch集群,能够按照下面的步骤,很是的简单,首先,想说明的是:对于elasticSearch,他隐藏了分布式的复杂性,分片和复制集,都是他自动完成,你只须要配置好ip就能够了,下面是配置的步骤:
我有两台机器 192.169.0.210 192.168.0.199
个人两台机器都按照上面的步骤配置完成,下面配置集群
首先是192.168.0.210
vim /usr/local/elasticsearch/config/elasticsearch.yml
#找到行 , 修改以下:
discovery.zen.ping.unicast.hosts: ["192.168.0.199"]
上面的ip就是其余的节点的ip,若是我有5台机器,那么,这里须要把其余四台机器的ip写上。
同理,对于其余的节点,须要把其余的节点协商,用逗号隔开
elasticSearch会找到对应的节点,自动分片和作复制集。
官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/5.0/_installation.html
入门教程
http://www.jianshu.com/p/f437b893502a
权威指南
关闭节点
关闭节点的API容许关闭集群中的一个或多个(或者所有)节点。下面是一个关闭 _local 节点的例子:
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown'
也能够经过各自的节点ID来关闭指定的节点(或者像这里说明 的别的选项):
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/nodeId1,nodeId2/_shutdown'
集群的主节点也可使用下面的方法来关闭:
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/_master/_shutdown'
最后,可使用以下的任意一种方法来关闭全部的节点:
$ curl -XPOST 'http://localhost:9200/_shutdown' $ curl -XPOST 'http://localhost:9200/_cluster/nodes/_shutdown' $ curl -XPOST 'http://localhost:9200/_cluster/nodes/_all/_shutdown'
延迟
默认状况下,关闭命令会延迟1秒(1s)以后执行。能够经过设置 delay 参数 来指定延迟的时间。好比:
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown?delay=10s'
禁用关闭命令
关闭的API能够经过设置节点里的 action.disable_shutdown 选项来禁用。
首先须要安装yii2的elasticSearch插件
https://github.com/yiisoft/yii2-elasticsearch
安装步骤,参看官网的下面的说明,用起来仍是不错
里面有聚合功能,能够作一些小规模数据的快速统计。
yii2 elasticSearch的使用说明地址:https://github.com/yiisoft/yii2-elasticsearch/blob/master/docs/guide/README.md