es集群搭建过程
1.环境和安装包
- es的运行依赖java环境,所以要先保证有jdk的安装,例子中使用1.8的jdk。
- 拉取es的安装包 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.2.tar.gz
- 解压 tar -zxvf elasticsearch-6.8.2.tar.gz 解压之后进入目录 修改elasticsearch.yml文件内容 在conf文件夹下,配置为集群,配置文件如下:
cluster.name: elasticsearch-cluster 集群名
node.name: es-node3 节点名
network.host: 0.0.0.0 配置为外网可访问 不然只有本机可以访问
network.publish_host: 192.168.184.146
http.port: 9200
transport.tcp.port: 9300 集群之间的通信端口
http.cors.enabled: true 跨域允许配置 下同
http.cors.allow-origin: "*"
node.master: true 可选举为主节点
node.data: true 可用作数据节点 有的主节点配置为false 只做转发请求使用
discovery.zen.ping.unicast.hosts: ["192.168.184.146:9300","192.168.184.144:9300","192.168.184.143:9300"] 集群节点配置
discovery.zen.minimum_master_nodes: 2 最少选举主节点个数 2
bootstrap.system_call_filter: false
三台机器的集群名必须一致。节点名必须不一样。官方推荐node master数设置为集群数/2+1,我这里三台ES服务器,配置最少需要两台master,整个集群才可正常运行。
es要求不能用root用户启动,所以要新建一个用户,或者对当前有的用户分配权限 chmon -Rf username elsaticsearch文件夹名。
es启动需要对内存等设置有一些要求:
/etc/sysctl.conf
fs.file-max=655360
vm.max_map_count=655360
sysctl -p生效
解释:
(1)vm.max_map_count=655360
系统最大打开文件描述符数
(2)vm.max_map_count=655360
限制一个进程拥有虚拟内存区域的大小
修改vim /etc/security/limits.conf
-
soft nofile 65536
-
hard nofile 65536
至此 基本环境配置完毕。
2.可视化工具搭建
集群搭建完毕之后访问任何一个节点的9200端口都会返回如下
访问接口看到集群信息即为搭建成功。
进一步查看健康状况也可以直接访问接口查看,但是为了方便,直接搭建head或者kibana可视化工具查看操作更方便。
head搭建比较简单,需要有node环境,head可以安装在任何服务器,只要能访问到es的服务即可。