搭建ElasticSearch集群
操作系统环境为CentOS 7.1 使用VMware 10构建
java环境为 jdk 8
Elasticsearch 版本为 5.0.1
当前目标是搭建一个拥有两个节点的es集群。
1下载elasticsearch
安装jdk环境就不说了,安装十分方便。从官网下载elasticsearch-5.0.1.tar.gz
cp elasticsearch-5.0.1.tar.gz /opt //拷贝至opt目录下
tar - zxvf elasticsearch-5.0.1.tar.gz 解压
得到文件夹 elasticsearch-5.0.1
mv elasticsearch-5.0.1 elasticsearch-node1 //重命名
拷贝一份得到 elasticsearch-node2
2 配置节点
es节点的配置文件为elasticsearch解压文件下的config/elasticsearch.yml
目录及配置文件
修改以下几项配置:
cluster.name: your-cluster-name
node.name: node-name
http.port: 9200
增加 端口号都可以自定义
network.port: your-ip-address
transport.tcp.port:8101
discovery.zen.ping.unicast.hosts: ["192.168.1.189:8101", "192.168.1.189:8102"]
discovery.zen.ping.unicast.hosts这一项后面的中括号里面就是es集群中节点的ip和端口信息。
另外一个节点按照同样的方式配置,注意不能使用相同的端口号。
配置完成之后,在每个节点的bin目录下使用
./elasticsearch
即可启动elasticsearch.启动成功会有类似提示。
启动成功
在网页中访问,任何一个节点的地址都可以访问
查看集群的信息
3.遇到的问题
3.1不能在root用户下启动(不安全),虽然elasticsearch文件夹属于的用户和用户组是root
修改文件夹所属的用户及用户组:
chown -R name.password ./elasticsearch-5.0.1/(在/home下可以看到用户, -R参数表示文件夹下所有文件所属用户都一并改了)
3.2 ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法是在
sudo vim /etc/security/limits.conf
中加入以下两行:
redhat hard nofile 65536
redhat soft nofile 65536
3.3 如果提示JVM没有足够的内存分配给es节点运行,可以修改config目录下的jvm.options文件,修改
-Xms512m
-Xmx512m
注意,这两Xms和Xmx后面跟的数字和单位必须相同。
3.4 centOS 7.1 防火墙
sytemctl status firewalld.service //查看防火墙状态
sytemctl stop firewalld.service //停止防火墙
systemctl disable firewalld.service //镜子防火墙自启动