centos7 上部署 es 集群

本贴最后更新于 672 天前,其中的信息可能已经时移世易

一:机器准备
1.1 data 节点,数据存储节点,内存 64G 以上,硬盘 TB 以上,ssd,raid5 及以上更好
1.2 master 节点,一般机器即可,内存跟硬盘一般就可以
1.3 client 节点,一般机器即可,内存稍微好一点
1.4 确保所有节点在物理地点的同一机房,确保网络传输性能达到最佳
1.5 个人经验,如果出于成本考虑,直接 master 节点兼任 client 节点也可以,不过性能上有少许影响
二:系统内核参数调优
2.1 调整 ulimit
文件/etc/security/limits.conf 中设置 ulimit -n 65536
2.2 调整句柄数
文件/etc/security/limits.conf 中设置 Elasticsearch - nofile 65536
2.3 禁止内存分页
sudo swapoff -a
2.4 调整 swappiness
/etc/sysctl.conf 设置 vm.swappiness=1
三:下载 Elasticsearch 安装包
3.1 shell> wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.4.tar.gz
3.2 shell> wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.4.tar.gz.sha512
3.3 shell> shasum -a 512 -c elasticsearch-6.1.4.tar.gz.sha512
3.4 shell> tar -xzf elasticsearch-6.1.4.tar.gz
四:配置
4.1 cd elasticsearch-6.1.4
4.2 mkdir newConf
4.3 scp config/* newConf/
4.4 配置 newConf 下面的配置信息
   4.4.1 配置 Elasticsearch
   4.4.2 newConf/elasticsearch.yml 的主要配置信息
     # 集群名称
     cluster.anme: test_cluster
     # 节点名称
     node.name: es_node_n
     # 日志路径
     path.logs: /mnt/es/log
     #memory_lock 为 true,重要
     bootstap.memory_lock: true
     # 绑定的 ip
     network.host: es_node_n
     http.port: 9200
     transport.tcp.port: 9300
     # 集群的所有节点,先 client 节点,再 data 节点,最后 master 节点
     discovery.zen.ping.unicast.hosts: ["client-node-hostname:9300","data-node-hostname:9300","master-node-hostname:9300"]
     # 是否 master 节点
     node.mater: false
     # 是否 data 节点
     node.data: false
     # 是否 client 节点
     node.ingest false
   4.4.3 newConf/jvm.option 的主要配置信息
     # 设置堆大小
     -Xms31g
     -Xmx31g
     # 设置 G1 回收
     -XX:+UseG1GC
     -XX:MaxGCPauseMillis=200
     -XX:+UseCompressedOops
     -XX:+UseNUMA
     # 设置 server 模式
     -server
     # 设置栈大小
     -Xss256m
五:启动
5.1 shell> useradd -r -g Elasticsearch -s /bin/false Elasticsearch # 不做为登录用户
5.2 shell> sudo -u Elasticsearch ES_PATH_CONF=elasticsearch-6.1.4/newConf/ elasticsearch-6.1.4/bin/elasticsearch -d >/dev/null 2&1 &
5.3 全部节点启动后,通过 curl clent-node:9200/_cluster/health?pretty 跟 curl clent-node:9200/_cat/nodes 查看集群状态
5.4 全部节点启动后,通过 curl node-hostname:9200/_nodes?filter_path=**.mlockall 查看各个节点 mlockall 状态,为 true 则正确
六:参考资料
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.1/index.html

  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTFul 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    92 引用 • 95 回帖 • 479 关注
  • 集群
    27 引用 • 65 回帖

赞助商 我要投放

回帖
请输入回帖内容 ...