准备
三台Linux虚拟机(这里是centos7.5,我将其分别命名为hadoop001、hadoop002、hadoop003)
jdk1.8.0_151.tar.gz
zookeeper-3.4.6.tar.gz
kafka_2.11-0.10.2.2.tgz
配置hosts文件及hostname
#在所有节点的hosts文件中最加集群ip。注意一定不要动hosts文件中的前两行,这是个巨坑!
echo "192.168.56.101 hadoop001" >> /etc/hosts
echo "192.168.56.102 hadoop002" >> /etc/hosts
echo "192.168.56.103 hadoop003" >> /etc/hosts
#在hadoop001节点上执行
echo "hadoop001" > /etc/hostname
hostname hadoop001
#在hadoop002节点上执行
echo "hadoop002" > /etc/hostname
hostname hadoop002
#在hadoop003节点上执行
echo "hadoop003" > /etc/hostname
hostname hadoop003
在所有节点上部署JDK
部署Zookeeper集群
在所有节点上部署Kafka集群
#解压Kafka
mkdir /opt/app/
tar -zxvf kafka_2.11-0.10.2.2.tgz -C /opt/app
cd /opt/app/
ln -s kafka_2.11-0.10.2.2 kafka
cd kafka
修改Kafka配置文件
vi config/server.properties
#将Hadoop001节点上的broker.id设置为0(broker.id=0)
#将Hadoop002节点上的broker.id设置为1(broker.id=1)
#将Hadoop003节点上的broker.id设置为2(broker.id=2)
#修改日志存放路径,默认是在 /tmp/kafka-logs 下
log.dirs=/opt/app/kafka/kafka-logs
#修改Kafka的连接的zk集群,尽量添加所有zk节点。
/kafka,表示在zk 集群中的 / 下创建一个kafka节点,当前kafka集群的信息就保持在 /kafka下,可以不加,但强烈建议加上 /kafka
zookeeper.connect=hadoop001:2181,hadoop002:2181,hadoop003:2181/kafka
启动各上的Kafka
#前台启动
bin/kafka-server-start.sh config/server.properties
#后台启动
bin/kafka-server-start.sh -daemon config/server.properties
或
nohup bin/kafka-server-start.sh config/server.properties &