Step1. 下载elasticsearch-rtf-master并解压:
该版本集成了大部分插件,部署简单高效。
Step2. 创建一个普通ES账户。Elasticsearch5版本以后,不能再使用root账户启动。
#adduser esuser
#chown –R esuser ‘elasticsearch安装目录’
#su esuser
#chmod 777 ‘elasticsearch安装目录’
Step3. 默认的虚拟内存不足以启动elasticsearch服务,因此报错。需要更改虚拟内存:
(1)#vim/etc/security/limits.conf
添加了一下内容:
(2)#vim/etc/sysctl.conf
添加下面一行:
vm.max_map_count=655360
并执行命令:
#sysctl-p
重新启动elasticsearch,即可启动成功。
Step4. 设置外网访问:
编辑elasticsearch.yml配置文件:
添加一行:network.host: 0.0.0.0
注:如果想通过集群外部机器连接elasticsearch服务,需开通集群硬件防火墙相应端口。
Step5. 添加elasticsearch-head插件,方便web端查看数据:
(1)github下载:https://github.com/mobz/elasticsearch-head,解压
(2)按照github文档,需要先安装npm
注:(JavaScript中的npm:相当于python中的pip、java中的maven)
①下载并解压node-v6.14.3-linux-x64
②cd进bin目录,测试./node –v
③创建软连接 ln –s ‘源文件node位置’/usr/local/bin/node
ln –s ‘源文件npm位置’/usr/local/bin/npm
④因为/usr/local/bin是环境变量PATH的内容,所以建立软连接后可以直接使用node命令
(3)使用npm安装elasticsearch-head
①cd到elasticsearch-head目录下
②#npm install
③#npm run start
④默认在localhost:9100端口启动
⑤打开原安装的elasticsearch.yml配置文件,再修改一下elasticsearch的服务安全策略,使得elasticsearch-head插件与elasticsearch服务连接,如下图
⑥重启服务即可。
Step6. 扩展elasticsearch集群:
假设创建由一个master、两个slave组成的集群:
①:将原单机elasticsearch先设置为es-master节点,修改elasticsearch.yml文件添加以下内容:
#cluster.name: ‘集群名称’
#node.master:true
②:将elasticsearch整个文件夹拷贝至slave16,slave17,分别对elasticsearch.yml做修改:
参考master修改,不过http.port不能使用默认9200,这里改成9201和9202;
此外,再分别添加discovery.zen.ping.unicast.hosts:[11.11.11.130](master的ip)
(注意:elasticsearch.yml配置文件冒号后必须加一空格)
③:依次启动节点,创建一个test索引,从elasticsearch-head可以看到集群形式: