ELK系列——elasticsearch集群搭建(一)

前记:使用ELK技术栈也有快1年的时间了,最近需要新搭建ELK,有些配置与修改,纪录在此,以便后续查阅。


用笔记本开了三台虚拟机搭建,虚拟机系统是centos7,每台1个G内存。然后下载es最新版,现在已经到了6.7.1:https://www.elastic.co/cn/downloads/elasticsearch

es配置:修改config/elasticsearch.yml,三个节点除了node.name不同,其他相同。我这里因为只是3个节点而已,所以不分 主节点,数据节点,和协调节点。

cluster.name: libbelasticsearch #集群名称:要组成集群的es节点集群名称必须相同

node.name: "es128" #节点名称:节点的名称,集群内节点名称不能重复

node.master: true #是否能成为主节点

node.data: true #是否是数据节点

path.data: /opt/elasticsearch-6.7.1/data #es工作的数据目录

path.logs: /opt/elasticsearch-6.7.1/logs #es日志目录

network.host: 192.168.1.128 #Set the bind address to a specific IP (IPv4 or IPv6)

transport.tcp.port: 9300 #设置节点间交互的tcp端口,默认是9300

transport.tcp.compress: true #设置是否压缩tcp传输时的数据,默认为false,不压缩

http.port: 9200 #设置对外服务的http端口,默认为9200

http.max_content_length: 100mb #设置内容的最大容量,默认100mb

bootstrap.memory_lock: true #设置为true来锁住内存

discovery.zen.minimum_master_nodes: 2 #脑裂的节点数,官方建议(n+1)/2,n是主节点节点数

discovery.zen.ping_timeout: 20s #设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,网络不好设置大点

discovery.zen.ping.unicast.hosts: ["192.168.1.128","192.168.1.135","192.168.1.136"] #设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点

gateway.recover_after_nodes: 2 #该参数控制集群在达到多少个节点的规模后,才开始数据恢复任务。再等待gateway.recover_after_time时长,就开始恢复分片任务

gateway.recover_after_time: 5m #该参数控制集群在达到上条配置设置的节点规模后,再等待多久才开始数据恢复任务。默认5分钟

gateway.expected_nodes: 3 #该参数设置集群的预期节点总数。在达到这个总数后,即认为集群节点已经完全加载,即立即开始数据恢复,不用再等待上条设置的时间。默认为0

 


安装过程会有很多坑要踩,我都已经踩过了,这里就一一列出来。

1,can not run elasticsearch as root:这个是es不能以root身份启动。
新建一个用户libb。并把es归属给libb

[root@localhost elasticsearch-6.7.1]# useradd libb
[root@localhost elasticsearch-6.7.1]# chown -R libb elasticsearch-7.0.0

 

2,error='Cannot allocate memory':说的是我的机器不能分配给es启动所需要的内存,es用java的jvm内存在config/jvm.options下,默认是1G,这里改小到200M。

            #修改后 

-Xms200m

-Xmx200m

3,Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/elasticsearch-6.7.1/config/jvm.options:libb的用户没有执行权限。切换回root用户,更改拥有者为libb。

[root@localhost elasticsearch-6.7.1]# chown libb /opt/elasticsearch-6.7.1/ -R

4,切回libb用户继续启动,[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]:切换回root用户
打开/etc/security/limits.conf
加上:
* soft nofile 65536
* hard nofile 65536
* soft nproc 32000
* hard nproc 32000
* hard memlock unlimited
* soft memlock unlimited

5,[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]:

修改/etc/sysctl.conf后执行

echo "vm.max_map_count=262144" >> /etc/sysctl.conf

sysctl -p

然后切换回libb用户,再次启动所有机器上es,网页上输入:http://192.168.1.136:9200/_cat/nodes?v

大功告成,来杯王老吉。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值