服务热线
135-6963-3175
首先准备三台服务器
1.在服务器安装jdk(该步骤省略)
2.安装es
下载elasticsearch-6.5.x.tar.gz并解压缩在三个节点。
编辑配置文件
[root@master elasticsearch-6.5.4]# vim config/elasticsearch.yml #配置es的集群名称,默认是elasticsearch, #es会自动发现在同一网段下的es, # 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 cluster.name: cell # # ------------------------------------ Node ------------------------------------ #node.name每个节点起一个名字 node.name: node_01 node.master: true node.data: true # # Add custom attributes to the node: # #node.attr.rack: r1 # # ----------------------------------- Paths ------------------------------------ # # Path to directory where to store the data (separate multiple locations by comma): # path.data: /var/data/elasticsearch # # Path to log files: # path.logs: /var/log/elasticsearch network.host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 discovery.zen.ping.unicast.hosts: ["192.168.100.101:9300","192.168.100.102:9300", "192.168.100.103:9300"] discovery.zen.minimum_master_nodes: 2
属性说明:
node.name
每个节点起一个不同的名字
cluster.name
集群名字,三台集群的集群名字都必须一致
discovery.zen.minimum_master_nodes:2
表示集群最少的master数,如果集群的最少master数据少于指定的数,将无法启动,官方推荐node master数设置为集群数/2+1,我这里三台ES服务器,配置最少需要两台master,整个集群才可正常运行,
node.master
该节点是否有资格选举为master,如果上面设了两个mater_node 2,也就是最少两个master节点,则集群中必须有两台es服务器的配置为node.master: true的配置,配置了2个节点的话,如果主服务器宕机,整个集群会不可用,所以三台服务器,需要配置3个node.masdter为true,这样三个master,宕了一个主节点的话,他又会选举新的master,还有两个节点可以用,只要配了node master为true的ES服务器数正在运行的数量不少于master_node的配置数,则整个集群继续可用,我这里则配置三台es node.master都为true,也就是三个master。
master服务器主要管理集群状态,负责元数据处理,比如索引增加删除分片分配等,数据存储和查询都不会走主节点,压力较小,jvm内存可分配较低一点。
node.data
存储索引数据,三台都设为true即可
bootstrap.memory_lock: true
锁住物理内存,不使用swap内存,有swap内存的可以开启此项
discovery.zen.ping_timeout: 3000s
自动发现拼其他节点超时时间
discovery.zen.ping.unicast.hosts: ["ip1:9300","ip2:9300","ip3:9300"]
设置集群的初始节点列表,集群互通端口为9300
不能以root启动,所以创建elsearch用户组及elsearch用户
groupadd elsearch useradd elsearch -g elsearch -p elasticsearch #更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch chown -R elsearch:elsearch elasticsearch #elasticsearch为你elasticsearch的目录名称 #切换到elsearch用户再启动 su elsearch #切换账户 cd elasticsearch/bin #进入你的elasticsearch目录下的bin目录 ./elasticsearch -d
出错:
(1)不允许root登录异常:
su root vi /etc/sysctl.conf文件最后添加一行 vm.max_map_count=262144 sysctl -p
(2)不允许外网访问异常:
设置外网访问
更改elasticsearch.yml文件
network.host: 0.0.0.0 http.port: 9200
#配置这个:否则head无法连接elasticsearch
http.cors.enabled: true http.cors.allow-origin: "*"