一.Kafka安装
1,此处我们选择下载的是kafka 2.12-2.3.0
版本,下载路径如下:http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz。各位也可以在此处http://mirror.bit.edu.cn/apache/kafka/挑选其他版本。
cd /usr/local
wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz
tar -zxvf kafka_2.12-2.3.0.tgz
rm kafka_2.12-2.3.0.tgz
2,安装完成之后我们需要对其进行配置,主要需要关注的为server.properties
这个文件。
broker.id=0 #broker.id 就是一个kafka服务器的唯一id得是数字
host.name=192.168.5.130
port=9092
listeners=PLAINTEXT://192.168.5.130:9092
advertised.listeners=PLAINTEXT://192.168.5.130:9092
log.dirs=/usr/local/kafka/data
zookeeper.connect=s201:2181,s202:2181,s203:2181
3,配置环境变量
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
二.启动
1,用守护模式启动
kafka-server-start.sh -daemon server.properties
2,把启动命令写成脚本,省着一台一台机器去启动,注意写成脚本,配置文件的路径要绝对路径。case 语法,别忘了后面有esac结尾。
#! /bin/bash
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
case $1 in
"start"){
echo "*****start**********"
for i in s201 s202 s203
do
echo "********$i**********"
ssh $i "/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties"
done
};;
"stop"){
echo "*****stop**********"
for i in s201 s202 s203
do
echo "********$i**********"
ssh $i "/usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/config/server.properties"
done
};;
esac
三.测试
1,查询主题
./kafka-topics.sh --zookeeper s201:2181 --list
./kafka-topics.sh --zookeeper s201:2181 --describe --topic first
2,创建主题
./kafka-topics.sh --zookeeper s201:2181 --create --replication-factor 3 --partitions 1 --topic first
3,删除主题
./kafka-topics.sh --zookeeper s201:2181 --delete --topic first
4,发送消息
./kafka-console-producer.sh --broker-list s201:9092 --topic first
5,消费消息
./kafka-console-consumer.sh --bootstrap-server s201:9092 --topic first --from-beginning