一、安装前准备
1、节点
192.168.30.41
192.168.30.42
192.168.30.43
2、操作系统: Centos7.5
3、安装包
a、java8: jdk-8u181-linux-x64.tar.gz
b、elasticsearch kafka_2.11-0.11.0.2.tgz
c、zookeeper zookeeper-3.4.5-cdh5.4.5.tar.gz
4、备注:
相应版本安装包可直接在本人网盘下载,链接:https://pan.baidu.com/s/1cs4IidkSVoMDAdQW93VDYQ
二、安装java环境
1、详见ELK 环境搭建1-elasticsearch
三、安装zookeeper集群
1、创建账号与配置环境变量
useradd zkkafka && su - zkkafka
mkdir -p /application/elk/zookeeper
tar zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /application/elk/zookeeper
rm -rf zookeeper-3.4.5-cdh5.14.2.tar.gz
设置环境变量 vim ~/.bash_profile添加
export ZOOKEEPER_HOME=/application/elk/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
加载环境变量
source ~/.bash_profile
2、修改配置文件 vim /application/elk/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
# **数据文件目录与日志目录**
dataDir=/application/elk/zookeeper/zkdata
dataLogDir=/application/elk/zookeeper/zkdatalog
clientPort=2181
server.1=192.168.30.41:2888:3888
server.2=192.168.30.42:2888:3888
server.3=192.168.30.43:2888:3888
#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#192.168.30.41和42为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
#tickTime:
这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
#initLimit:
这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器>还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
#syncLimit:
这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒
#dataDir:
快照日志的存储路径
#dataLogDir:
事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多
#clientPort:
这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。修改他的端口改大点
3、创建所需目录:
mkdir -p /application/elk/zookeeper/zkdata
mkdir -p /application/elk/zookeeper/zkdatalog
mkdir -p /application/elk/zookeeper/logs
4、添加myid vim /application/elk/zookeeper/zkdata/myid
#添加
1
注意: 此数字来源于zoo.cfg中配置 server.1=192.168.30.41:2888:3888行server后面的1,故192.168.30.42填写2,192.168.30.43填写3
5、配置日志目录 vim /application/elk/zookeeper/libexec/zkEnv.sh修改以下参数
ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
vim /application/elk/zookeeper/conf/log4j.properties
zookeeper.root.logger=INFO, ROLLINGFILE
zookeeper.log.dir=/application/elk/zookeeper/logs
log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
6、其它两个节点除myid文件要填入的不一样其它都做和上述相同操作
7、相应操作
a、启动
/application/elk/zookeeper/bin/zkServer.sh start
b、查看节点状态,有两种状态:leader 和 follower
/application/elk/zookeeper/bin/zkServer.sh status
c、查看进程
jps
d、停止
/application/elk/zookeeper/bin/zkServer.sh stop
四、安装kafka