(集群的3台机器都需要如下操作)
cd /home/app
上传 kafka和zookeeper的压缩包,并解压(安装方式很多)
部署zookeeper集群
cd /data/app/zookeeper**
mkdir logs data
修改配置文件
cd /data/app/zookeeper****/config
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
clientPort=2181
maxClientCnxns=0
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/app/zookeeper***/data
dataLogDir=/data/app/zookeeper***/logs
server.1=***-1:2888:3888
server.2=***-2:2888:3888
server.3=***-3:2888:3888
(***-1 是每太机器的hostname,如果没做映射就写服务器ip)
做映射如下
vim /etc/hosts添加以下内容:
ip ***-1
ip ***-2
ip ***-3
***换成机器实际的hostname。
添加id
cd /data/app/zookeeper****/data
vim myid
第一台服务器输入1,第二台输入2,第三台输入3,要与配置文件server.1,server.2,server.3对应
保存
到此zookeeper部署完成,暂时可以不启动
部署kafka集群
cd /data/app/kafka****
mkdir kafka-logs
修改配置文件
cd /data/app/app/kafka***/config
vim server.properties
broker.id=0 //三台机器要不一样
log.dirs=/data/app/kafka_2.11-1.1.0/kafka-logs
listeners=PLAINTEXT://本机ip:9092
##如果有端口映射等情况,可以填写对应的访问ip
advertised.listeners=PLAINTEXT://本机ip:9092
num.partitions=4
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
zookeeper.connect=ip1:2181, ip2:2181, ip3:2181 (ip1 ip2 ip3分别是zookeeper集群的三台服务器ip)
zookeeper.connection.timeout.ms=6000
到此kafka集群配置完成了
启动zookeeper
/data/app/zookeeper***/bin/zkServer.sh start
启动所有kafka
nohup /data/app/kafka_***/bin/kafka-server-start.sh /data/app/kafka***/config/server.properties
测试部署结果
cd /data/app/kafka****/bin
./kafka-console-producer.sh --broker-list ip:9092 --topic test
set test 123456(set key value)
./kafka-console-consumer.sh --zookeeper ip:2181 --topic test --from-beginning
get test (get key)
把ip都换成集群的三台服务器都试试