基于Linux的ElasticSearch轻松搭建
搭建环境:
CentOS Linux release 7.5.1804
elasticsearch-6.2.3
jdk1.8.0_141
第一步:安装jdk,配置环境变量,注意1.8以上,否则出各种问题
第二步.解压缩es,配置es的环境参数config/elasticsearch.yml和jvm.options调优
tar -zxvf elasticsearch-6.2.3.tar.gz
cluster.name:集群的名字
node.name:节点的名字
node.master: 设置当前节点为master节点,指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.data:设置当前节点是否存储数据
path.data:ElasticSearch存储数据的目录
path.logs:ElasticSearch日志打印的目录
bootstrap.memory_lock:ElasticSearch启动的时候是否锁定内存,设置为true来锁住内存不进行swapping。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。 同时也要允许elasticsearch的进程可以锁住内存,linux下启动es之前可以通过`ulimit -l unlimited`命令设置
network.host:ElasticSearch当前节点的主机ip
http.port:ElasticSearch的端口
discovery.zen.ping.unicast.hosts:设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
-Xms5g:设置ElasticSearch初始化的JVM堆内存为5g
-Xmx5g:设置ElasticSearch最大的JVM堆内存为5g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=100
设置JVM垃圾收集器卫G1,默认是CMS,JVM GC停顿的时间设置为100毫秒
第三步:创建es用户组,创建es用户,密码为root,修改es的目录权限
groupadd es
useradd es -g es -p root
chown -R es:es /opt/elasticsearch-6.1.0
第四步:根据情况修改elasticsearch.yml文件,在文件的最后加上三行
http.cors.enabled: true
http.cors.allow-origin: "*"
#下面那一行可以酌情考虑,如果es以后是要做很多例如聚合操作,且内存足够的话,可以适当调大,如果仅仅是做搜索引擎,那么不必要设置这个参数
indices.fielddata.cache.size: 5GB
第五步:切换用户es启动ElasticSearch