首页 > 代码库 > elasticsearch2.x集群部署
elasticsearch2.x集群部署
一.linux环境
1、增大用户进程数和文件句柄数
(1)vim /etc/security/limits.d/90-nproc.conf
* soft nproc 30499
root soft nproc unlimited
(2)vim /etc/security/limits.conf
* soft noproc 30499
* hard noproc 30499
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
2、安装jdk
rpm -ivh jdk-8u74-linux-x64.rpm (选择稳定版本)
安装后,查看是否成功 java -version
java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) |
如果出现以上,则表示安装成功;如果原本就按照了,则忽略此步骤;建议JDK版本在8以上。
二、安装elasticsearch
1、解压缩
压缩前先确认下当前环境下是否可以创建新用户,如果不行,则执行以下命令再进行解压:
chattr -i /etc/passwd chattr -i /etc/shadow chattr -i /etc/group chattr -i /etc/gshadow |
rpm -ivh elasticsearch-x.x.x.rpm
创建完成后,为了防止误操作,则可以关闭:
chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow |
rpm安装时,会自动创建elasticsearch用户和组。
2、配置es内存大小
vim /usr/share/elasticsearch/bin/elasticsearch
ES_HEAP_SIZE=31g
根据elasticsearch官网推荐,单实例不要超过32G,详情可以查看官网.
3、jvm的GC优化
vim /usr/share/elasticsearch/bin/elasticsearch.in.sh
# Add gc options. ES_GC_OPTS is unsupported, forinternal testing if [ "x$ES_GC_OPTS"= "x" ]; then ES_GC_OPTS="$ES_GC_OPTS -XX:+UseParNewGC" ES_GC_OPTS="$ES_GC_OPTS -XX:+UseConcMarkSweepGC" ES_GC_OPTS="$ES_GC_OPTS-XX:CMSInitiatingOccupancyFraction=75" ES_GC_OPTS="$ES_GC_OPTS -XX:+UseCMSInitiatingOccupancyOnly" Fi 注释掉上面四行ES_GC_OPTS参数,添加以下参数: JAVA_OPTS="$JAVA_OPTS-XX:+UseG1GC" JAVA_OPTS="$JAVA_OPTS-XX:MaxGCPauseMillis=200" |
以上是选用G1来作为GC策略,为了防止因GC过久导致节点不稳,则可以采用G1来作为es的GC策略,默认GC策略是CMS.
4、主配置
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: xxx #集群的cluster.name各个节点中配置的名称一致. node.name: xxx path.data: /data1/,/data2/,/data3/ #多磁盘利用,创建的数据盘用户和用户组为elasticsearch bootstrap.mlockall: true network.host: xx.xx.xx.xx #节点ip,建议使用内网IP http.port: 9001 #建议实际环境修改端口 transport.tcp.port: 9002 #建议实际环境修改端口 discovery.zen.ping.unicast.hosts: ["x1","x2", "x3"] discovery.zen.minimum_master_nodes: 2 # 根据节点配置,nodes num / 2 +1 discovery.zen.ping.multicast.enabled: false discovery.zen.ping.timeout: 30s index.number_of_shards: 3 #分片数 index.number_of_replicas: 1 #备份数 index.refresh_interval: 30s #刷新时间,一般建议增大此时间提高索引效率. |
5、服务
(1)启动服务
service elasticsearch start
(2)停止服务
service elasticsearch stop
(3)重启服务
service elasticsearch restart
(4)查看服务状态
service elasticsearch status
在各个节点启动服务后,elasticsearch集群部署完成。
为了查看集群的节点cpu,内存,磁盘容量等信息,则可以安装相应的插件,比如mavel,head,bigdesk等插件。
本文出自 “蓦然回首” 博客,请务必保留此出处http://linyongzhi.blog.51cto.com/2540209/1903266
elasticsearch2.x集群部署