说明: 本博客安装的elasticsearch版本为1.6.0,后续会更新更高版本的安装部署等。
1. elasticsearch的安装
1.1 集群规划
上传elasticsearch的tar.gz包至规划的集群各节点的目录下(规划两个节点rc-es001,rc-es002),如:本项目安装在/opt/softwares/目录下
注意: 建议elasticsearch的安装包在集群中各节点目录一致
1.2 修改配置文件
修改安装包下config目录下的配置文件elasticsearch.yml(集群每个节点)
# 集群的名称
cluster.name: elasticsearch
# 节点名称
node.name: es-node-01
# 配置文件的位置
path.conf: /opt/softwares/elasticsearch-1.6.0/config
# 该节点存储的索引数据
path.data: /opt/softwares/elasticsearch-1.6.0/data
# 临时工作目录
path.work: /opt/softwares/elasticsearch-1.6.0/work
# 日志文件位置
path.logs: /opt/softwares/elasticsearch-1.6.0/logs
# 插件安装目录
path.plugins: /opt/softwares/elasticsearch-1.6.0/plugins
# 设置该节点绑定的ip地址
network.bind_host: rc-es001
# 设置其它节点与该节点交互的ip地址
network.publish_host: rc-es001
network.host: rc-es001
# 设置tcp协议端口号
transport.tcp.port: 9300
# 设置http协议端口号
http.port: 9200
# 通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1
discovery.zen.minimum_master_nodes: 2
# 默认设置为3s,此参数值为集群发现其它节点ping连接的超时时间,为避免网络延时,导致报错,故设置稍大些
discovery.zen.ping.timeout: 40s
# 设置是否打开多播发现节点,默认为true
discovery.zen.ping.multicast.enabled: false
# 在es1.x中默认使用的是组播(multicast)协议,默认会自动发现同一网段的es节点组建集群,
# 在es2.x中默认使用的是单播(unicast)协议,想要组建集群的话就需要在这指定要发现的节点信息了。
discovery.zen.ping.unicast.hosts: ["rc-es001", "rc-es002"]
其它,节点下配置修改与上面大致相同,只是以下几个参数值不同:
node.name: es-node-02
network.bind_host: rc-es002
network.publish_host: rc-es002
network.host: rc-es002
1.3 启动elasticsearch集群
在bin目录下,后台启动elasticsearch(集群每个节点)
方式一
./elasticsearch -d -Xms8g -Xmx8g
注意: 参数-Xms8g -Xmx8g为ES使用的堆内存,具体大小应根据机器的配置确定,建议不要超过物理内存的一半,也不要超过32G;
方式二
在修改/etc/profile文件,添加如下内容
export ES_HEAP_SIZE=8g
然后在ES安装目录的bin目录下