一、安装前准备工作
1、下载elastic search(tar包) https://www.elastic.co/downloads
2、下载jdk1.8(website)
二、部署
1、创建对应的目录并解压
- cd ~
- mkdir /app
- tar xf elasticsearch-6.2.3.tar.gz -C /app/
- mkdir /usr/java
- tar xf jdk-8u161-linux-x64.tar.gz -C /usr/java/
- ln -s /usr/java/jdk1.8.0_161 /usr/java/jdk
- echo 'PATH=/usr/java/jdk/bin/:$PATH' >/etc/profile.d/jdk.sh
- source /etc/profile.d/jdk.sh
- groupadd elasticsearch
- useradd -s /sbin/nologin -g elasticsearch elasticsearch
三、配置文件
1、elasticsearch主配置文件
- vim /app/elastic/config/elasticsearch.yml
- ---------------------------------- Cluster -----------------------------------
- cluster.name: mytestelastic #各节点当中判断是否在同一个集群就是由该项来判定的,没有其他的配置
- node.name: es105 #节点名称
- node.attr.rack: r1 #机架感知,当开启该项时,会按照机架不同的分布来进行副本的均衡法则来分开存放。(机架出现故障会导致整个机架内的server无法提供服务,例如多个server连接的同一个交换机,可以叫做同一个机架)
- path.data: /data/esdata #数据文件路径
- path.logs: /log/eslog #日志文件路径
- path.plugins: /path/to/plugins #插件路径
- bootstrap.memory_lock: true #在程序启动的时候先去获取足够大的内存,其目的是为了锁住内存。防止在内存不足的情况下,将ES的内存数据交换到磁盘上。
- network.host: 172.18.30.105 #配置服务地址
- http.port: 9200 #对外服务端口
- discovery.zen.ping.unicast.hosts: ['172.18.30.105','172.18.30.106','172.18.30.110']
- #使用单播发现集群节点,quorum机制,必须为奇数个节点。
- discovery.zen.minimum_master_nodes: 2 #定义可工作的法定票数
- gateway.recover_after_nodes: 2 #这个设置主要防止不必要的数据处理,比如一个集群全部重启,然后有一个机器起的比较慢,然后机器就会组成集群,选出master,然后从备份中恢复出故障集群的数据。集群此时恢复正常。然后起的慢的机器又重启成功了,又会把数据同步到这台机器上并删除冗余数据。这项配置决定直到第n个节点可用才可以进行恢复操作
- gateway.expected_nodes: 10
- gateway.recover_after_time: 5m 这个配置一个是恢复的时间;这三项要求首先等待n个节点恢复,然后等待5分钟或者10个节点已经加入了集群就开始数据恢复
2、jvm配置
- vim /app/elastic/config/jvm.options
- -Xms2g #初始化堆内存大小
- -Xmx2g #对内存总大小
- #ES初始的内存2g是不够的,需要加大,根据实际情况而定。
3、启动elastic search
- su - elasticsearch #禁止root用户启动elasticsearch
- cd /app/elastic/bin
- ./elasticsearch -d #-d表示启动守护进程
四、内核参数的配置
- cat >> /etc/security/limits.conf << EOF
- * soft nofile 102400
- * hard nofile 102400
- * soft nproc 40960
- * hard nproc 40960
- elasticsearch soft memlock unlimited
- elasticsearch hard memlock unlimited
- EOF
- ulimit -n 102400 #设置文件打开数,并马上生效,、
- echo 262144 >/proc/sys/vm/max_map_count
五、test
- curl http://172.18.30.105:9200/
- {
- "name" : "test1",
- "cluster_name" : "mytestelastic",
- "cluster_uuid" : "8ZSsWOFARoOvFoDurRt_jw",
- "version" : {
- "number" : "6.2.3",
- "build_hash" : "c59ff00",
- "build_date" : "2018-03-13T10:06:29.741383Z",
- "build_snapshot" : false,
- "lucene_version" : "7.2.1",
- "minimum_wire_compatibility_version" : "5.6.0",
- "minimum_index_compatibility_version" : "5.0.0"
- },
- "tagline" : "You Know, for Search"
- }
注意:ES集群有几个节点就curl几次,可以验证集群中通信是否畅通。
文档更新时间: 2019-06-14 15:50 作者:张尚