红联Linux门户
Linux帮助

Ubuntu16.04配置单机版Zookeeper和Kafka

发布时间:2017-05-21 09:50:05来源:linux网站作者:Wu-Xiaofeng
1.配置zookeeper单机模式
选择的是zookeeper-3.4.10版本,官网下载链接:http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz,下载之后将zookeeper-3.4.10.tar.gz解压到指定文件夹。
tar xvzf dl/zookeeper-3.4.10.tar.gz -C app/
解压之后,将conf/zoo_sample.cfg复制为conf/zoo.cfg。
cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg
然后编辑zoo.cfg,修改内容如下:
# /home/jason是我的用户主目录
dataDir=/home/jason/app/zookeeper/data
其他参数保持默认,若有特殊需求,也可进行修改。配置好后,手动创建dataDir目录。
mkdir /home/jason/app/zookeeper/data
若系统没有配置java环境变量,则需要在$ZOOKEEPER/bin/zkEnv.sh脚本中配置JAVA_HOME。在zkEnv.sh脚本的JAVA_HOME变量前面加上:
JAVA_HOME="/home/jason/app/jdk"
配置好后就可以启动zookeeper了:
./bin/zkServer.sh start
启动成功的日志如下:
ZooKeeper JMX enabled by default
Using config: /home/jason/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
需要结束服务时,仍在本目录下,执行如下命令即可:
./bin/zkServer.sh stop
 
2.配置kafka单机模式
选择的是kafka_2.12-0.10.2.0版本,官网下载链接:http://mirrors.hust.edu.cn/apache/kafka/0.10.2.1/kafka_2.12-0.10.2.1.tgz 。下载之后将kafka_2.12-0.10.2.0.tgz解压到指定文件夹。
tar xvzf dl/kafka_2.12-0.10.2.0.tgz -C app/
配置kafka时需要修改2个配置文件:server.properties、zookeeper.properties,其他配置文件保持默认选项。
2.1.配置server.properties
只需要配置一项,其余保持默认值:
log.dirs=/home/jason/app/kafka/kafka-logs
然后手动创建log.dirs目录:
mkdir /home/jason/app/kafka/kafka-logs
2.2.配置zookeeper.properties
只需要配置一项,其余保持默认值:
dataDir=/home/jason/app/kafka/zookeeper/data
然后手动创建dataDir目录:
mkdir /home/jason/app/kafka/zookeeper/data
至此环境配置已经完成,然后可以开始使用kafka了。
 
3.使用kafka
若系统没有配置java环境变量,则需要在$KAFKA/bin/kafka-run-class.sh脚本中配置JAVA_HOME。在kafka-run-class.sh脚本的JAVA_HOME变量前面加上:
JAVA_HOME="/home/jason/app/jdk"
3.1.启动kafka服务(前提是要先启动zookeeper)
./bin/kafka-server-start.sh config/server.properties
对于这种启动之后就可以忽略的服务,可以在最前面加上nohup,让其在后台自己运行。
3.2.创建话题topic
新开一个命令行窗口,创建一个叫做test的topic:
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
然后可以根据地址和端口号将话题topic展示出来:
./bin/kafka-topics.sh --list --zookeeper localhost:2181
3.3.启动生产者producer
新开一个命令行窗口,执行以下命令:
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
然后可以之间在本窗口输入消息,每遇到换行符就认为是一条消息输入完成。
3.4.启动消费者consumer
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
然后,每在producer那里输入一条,consumer这里就会显示一条,然后kafka服务那里也会产生日志记录。
在以后启动时,只需要依次启动kafka server,producer和consumer就可以了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30950.html