环境:3台服务器,每台服务器分别部署一个zookeeper节点和一个kafka节点,kafka不用自带的zookeeper,另外安装
一、zookeeper安装
1、下载zookeeper压缩包apache-zookeeper-3.6.3-bin.tar.gz,解压
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C ./
2、conf下编辑zookeeper配置文件zoo.cfg
(1)copy一份zoo_sample.cfg并命名为zoo.cfg(此处不该需要在启动脚本改一下配置文件名称,默认启动脚本里的配置文件名称zoo.cfg)
cp zoo_sample.cfg zoo.cfg
(2)编辑配置文件
vi zoo.cfg
添加基本配置(这是最基本的设置,其他设置项可自行查阅相关资料进行设置)
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data1/zookeeper-data dataLogDir=/data1/zookeeper-logs clientPort=2181 server.1=ip1:2888:3888 server.2=ip2:2888:3888 server.3=ip3:2888:3888
以上设置在其余两个节点相同设置
(3)在数据存放路径下设置id,用于选举leader(我这里的路径是/data1/zookeeper-data)
cd /data1/zookeeper-data
echo 1 > myid
其余两台机器分别在相同路径下执行命令
echo 2 > myid
echo 3 > myid
至此,三台zookeeper节点已配置好
3、启动命令(这里需要依赖java环境,一般环境都有设置,没有的可自行设置,如果无法设置环境变量的,可在zkServer.sh里JAVA_HOME里面设置jdk路径)
bin目录下执行(分别启动3个节点)
./zkServer.sh start
查看zookeeper状态
./zkServer.sh status
二、kafka安装
1、下载kafka安装包解压
tar -zxvf kafka_2.13-2.8.0.tgz -C ./
2、设置配置文件
config目录下server.propertis(broker id唯一,其余两个节点可分别设置为1、2)
broker.id=0 delete.topic.enable=true num.network.threads=9 num.io.threads=16 socket.send.buffer.bytes=1048567 socket.receive.buffer.bytes=1048567 socket.request.max.bytes=104857600 log.dirs=设置路径 num.partitions=9 num.recovery.threads.per.data.dir=3 offsets.topic.replication.factor=3 transaction.state.log.replication.factor=3 transaction.state.log.min.isr=2 default.replication.factor=3 log.retention.hours=24 log.segment.bytes=1073741824 log.roll.ms=3600000 log.retention.check.interval.ms=180000 zookeeper.connect=ip1:2181,ip2:2181,ip3:2181 zookeeper.connection.timeout.ms=50000 zookeeper.session.timeout.ms=30000 num.replica.fetchers=12 replica.fetch.max.bytes=4194304 replica.fetch.min.bytes=10 replica.lag.time.max.ms=30000 replica.socket.receive.buffer.bytes=2097152 group.initial.rebalance.delay.ms=0
3、创建文件夹log.dir文件夹
4、启动
前台启动
bin/kafka-server-start.sh config/server.properties
后台启动
bin/kafka-server-start.sh -daemon config/server.properties
-daemon 参数会将任务转入后台运行,输出日志信息将写入日志文件,日志文件在执行命令的目录下的logs目录中kafkaServer.out,结尾输同started说明启动成功



