过程曲折且艰辛,记录下来以备不时之需。
由于这种方案,每个 logstash 都需要占用较大内存,这对线上各日志收集的应用服务器,压力太大难以承受。
filebeat是一个轻量级的日志采集器,部署简单占用内存小。这一方案总体上比较好了,只是 logstash 这一节点的压力比较大,查询到filebeat可以负载均衡输出到多个logstash,所以后边考虑了在准备的三台 elk 服务器上都安装一个 logstash ,这样就实现了下边这一方案。
上边的方案其实已经能够满足一般公司的日志需求,但超大的日志数量可能会存在数据错乱缺失,节点脑裂等多个问题。要尽量解决这些问题,要做的工作还很多,这里收集部分网上的建议,记录如下:
在个服务器上通过 yum install -y ***.rpm 直接快速安装
安装后程序位置都在 /usr/share/ 下
配置文件都在 /etc/ 下
建议用 ansible 管理
启动:elasticsearch --- logstash --- filebeat --- kibana
停止:kibana --- filebeat --- logstash --- elasticsearch
本次搭建版本是:zookeeper-3.4.14.tar.gz(以下在每台服务器都需要部署一遍)
1,将zookeeper-3.4.14.tar.gz 拷贝到服务器(本次集群是3台)指定文件夹位置。
解压 tar -zxvf zookeeper-3.4.14.tar.gz 让后修改名称 mv zookeeper-3.4.14 zookeeper
2,进入到zookeeper目录。
3,然后在/etc/profile 增加zookeeper环境变量
4,进入到conf目录下面。修改zoo_sample.cfg 文件名
执行命令:mv zoo_sample.cfg zoo.cfg
5,编辑zoo.cfg文件
执行命令:vim zoo.cfg
1》修改dataDir 为zookeeper下面的data(该文件需要自己创建)
2》clientPort 默认是2181 (此处有端口占用,所有我这边改成2182)
3》在文件最后面加入集群(此处三台集群为什么这样加,暂时没有研究)
server.0=ip1:2888:3888
server.1=ip2:2888:3888
server.2=ip3:2888:3888
6,在5中dataDir的目录下面新建myid文件,文件内容是当前zk的节点
7,启动每台服务器的zk服务节点,在bin目录下执行(添加环境变量的话可以在任意位置执行)
执行命令:./zkServer.sh start(./zkServer.sh stop是停止)
启动成功后 查看是否启动起来:
执行命令:ps aux | grep 'zookeeper' 或者 jps
8,查看三台机器主从身份(leader 主 follower从)
至此zk集群搭建成功。
kafka集群搭建方式: https://www.jianshu.com/p/cc588e01dc74
虽然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭。同时需要注意的是并不推荐在集群启动完成后关闭作为管理节点的服务器。尽管理论上可以建立基于只有2台服务器的MySQL集群,但是这样的架构,一旦一台服务器宕机之后集群就无法继续正常工作了,这样也就失去了集群的意义了。出于这个原因,就需要有第三台服务器作为管理节点运行。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)