安装和配置kafka
将kafka压缩包kafka_2.10-0.8.2.1.zip上传至其中一个节点。
解压压缩包
unzip kafka_2.10-0.8.2.1.zip
如果找不到unzip命令,先安装
yum -y install unzip
再解压
将解压后的目录移动到/usr/目录下
mv kafka_2.10-0.8.2.1 /usr/
设置kafka的环境变量
vi /etc/profile
定义KAFKA_HOME,并将KAFKA_HOME/bin拼接到PATH后面
export KAFKA_HOME=/usr/kafka_2.10-0.8.2.1
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
kafka集群模式
配置server.properties文件
cd /usr/kafka_2.10-0.8.2.1/config/
vi server.properties
配置zk,搜索zookeeper关键字,zookeeper.connect改成实际的zk节点
zookeeper.connect=node1:2181,node2:2181,node3:2181
设置可执行文件
cd /usr/kafka_2.10-0.8.2.1/bin
chmod +x *.sh
拷贝kafa整个目录至其他两个节点
scp -r /usr/kafka_2.10-0.8.2.1 root@node2:/usr/
scp -r /usr/kafka_2.10-0.8.2.1 root@node3:/usr/
编辑server.properties
node2节点:
cd /usr/kafka_2.10-0.8.2.1/config/
vi server.properties
将broker.id改为1
node3节点:
cd /usr/kafka_2.10-0.8.2.1/config/
vi server.properties
将broker.id改为2
启动
保存zk已正常启动
分别在node1、node2、node3中进入/usr/kafka_2.10-0.8.2.1目录启动
bash startkafka.sh
通过jps查看进程,都对应有kafka的进程
node1
node2
node3
创建topic
在bin目录下: cd /usr/kafka_2.10-0.8.2.1/bin
**kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --topic topic1 --partitions 2 --replication-factor 2**
查看topic
kafka-topics.sh --list --zookeeper node1:2181,node2:2181,node3:2181
查看描述信息
kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node3:2181
kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node3:2181 --topic topic1
删除topic
kafka-topics.sh --delete --zookeeper node1:2181,node2:2181,node3:2181 --topic topic1
这里没有真正删除,只是做了一个删除的标记。
通过查询命令查看
kafka-topics.sh --list --zookeeper node1:2181,node2:2181,node3:2181
kafka生产者,消费者模式
在bin目录下通过ll命令可以看到kafka-console-consumer.sh、kafka-console-producer.sh等可执行文件
执行命令以生产者角色启动
kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic topic
在node2进入到usr/kafka_2.10-0.8.2.1/bin目录中以消费者角色启动
cd /usr/kafka_2.10-0.8.2.1/bin
./kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic topic
在node1中输入消息再回车
在node2中可以看到输出对应的消息