陈银山 发表于 2019-1-29 09:39:43

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等插件。


  
  



页: [1]
查看完整版本: elasticsearch2.x集群部署