一:机器准备
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
117 引用 • 99 回帖 • 209 关注
Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
-
集群
29 引用 • 65 回帖 • 1 关注
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于