【摘要】搭建含有2个节点的ES集群,ES版本为,本次搭建是在华为云CCE平台,这里屏蔽平台相关信息。
注意:安全组策略记得要配置,否则可能无法访问9200和9300端口。
两个主机IP:
192.168.0.86
192.168.0.243
1、安装JDK
下载JDK,解压,然后在/etc/profile文件最后添加环境变量
export JAVA_HOME=/home/es/jdk1.8.0_281
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
2、创建ES用户
因为ES不能使用root启动,所以需要创建一个新用户
创建用户:useradd es
设置密码:passwd es
切换用户:su - es
3、安装ES
下载ES压缩包,解压然后分别修改两个台机器上的config/elasticsearch.yml文件。配置相关意义:
属性名 | 说明 |
---|---|
cluster.name | 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。 |
node.name | 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理 |
path.conf | 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch |
path.data | 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开 |
path.logs | 设置日志文件的存储路径,默认是es根目录下的logs文件夹 |
path.plugins | 设置插件的存放路径,默认是es根目录下的plugins文件夹 |
bootstrap.memory_lock | 设置为true可以锁住ES使用的内存,避免内存进行swap |
network.host | 设置bind_host和publish_host,设置为0.0.0.0允许外网访问 |
http.port | 设置对外服务的http端口,默认为9200。 |
transport.tcp.port | 集群结点之间通信端口 |
discovery.zen.ping.timeout | 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些 |
discovery.zen.minimum_master_nodes | 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2 |
192.168.0.86中的配置
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
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: /home/es/data
#
# Path to log files:
#
path.logs: /home/es/logs
network.host: 192.168.0.86
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.0.86:9300","192.168.0.243:9300"]
discovery.zen.minimum_master_nodes: 2
192.168.0.243中的配置
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-2
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: /home/es/data
#
# Path to log files:
#
path.logs: /home/es/logs
network.host: 192.168.0.243
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.0.86:9300","192.168.0.243:9300"]
discovery.zen.minimum_master_nodes: 2
4、启动ES
分别在两台机器下面的bin文件下面启动es,启动后访问http://192.168.0.86:9300
./elasticsearch
FAQ
问题
max file descriptors [65535] for elasticsearch process is too low
解决办法
切换到root用户修改
vim /etc/security/limits.conf
在最后面追加下面内容
es hard nofile 65536
es soft nofile 65536
网友评论