kafka运行需要zookeeper、scala2.11、jdk支撑
版本:kafka_2.11-0.10.0.1.tgz(2.11指的是scala版本,0.10.0.1才是kafka的版本)
简介:kafka是一个分布式消息中间件(现在改成分布式流平台),主要就是用来缓存消息,供消费者安全消费,就像一个大池子,允许往池子里灌水(消息),从池子里取水(但是这个水是不会减少的,除非设定的消息时间到期了,由kafka自己删除落得消息数据)
1、上传安装包到~/software/目录
2、解压
tar -xzvf kafka_2.11-0.10.0.1.tgz -C ../app/
3、创建数据目录
mkdir ~/app/kafka_2.11-0.10.0.1/logs
4、修改kafka配置文件
vi ~/app/kafka_2.11-0.10.0.1/config/server.properties
broker.id=1 #kafka集群中的节点id,不同节点采用不同的id
port=9092 #kafka访问端口
host.name=192.168.137.141 #kafka节点的ip
log.dirs=/home/hadoop/app/kafka_2.11-0.10.0.1/logs #kafka节点的数据目录
zookeeper.connect=192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka
注意:zk连接的kafka后缀,这个会在zk根目录下新建kafka节点
5、设置环境变量
export KAFKA_HOME=/home/hadoop/app/kafka_2.11-0.10.0.1/
export PATH=$KAFKA_HOME/bin:$PATH
source /etc/profile
6、启动kafka
nohup kafka-server-start.sh config/server.properties &
7、创建topic
bin/kafka-topics.sh --create \
--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \
--replication-factor 3 --partitions 3 --topic test
8、启动生产者测试用例
bin/kafka-console-producer.sh \
--broker-list 192.168.137.141:9092,192.168.137.142:9092,192.168.137.143:9092 --topic test
9、另一个终端启动消费者用例
bin/kafka-console-consumer.sh \
--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \
--from-beginning --topic test