安装配置Zookeeper
1. 安装zookeeper:
yitian@heron01:~$ mkdir zookeeper
yitian@heron01:~$ cd zookeeper/
yitian@heron01:~/zookeeper$ tar -zxvf zookeeper-3.4.10.tar.gz
解压后,在zoo.cfg配置文件中进行如下配置:
yitian@heron01:~/zookeeper/zookeeper-3.4.10/conf$ mv zoo_sample.cfg zoo.cfg
配置如下:
dataDir=/home/yitian/zookeeper/data
dataLogDir=/home/yitian/zookeeper/logs
并根据dataDir创建所需的文件目录:
yitian@heron01:~/zookeeper$ mkdir logs
yitian@heron01:~/zookeeper$ mkdir data
2. 配置完成后,启动zookeeper:
yitian@heron01:~$ ./zookeeper/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/yitian/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
yitian@heron01:~$ ./zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/yitian/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
yitian@heron01:~$ jps
2280 QuorumPeerMain
2302 Jps
具体的zookeeper集群的安装和配置见:
安装配置Kafka
1. 安装Kafka
具体的Kafka的安装见:Kafka的安装和使用(Kafka Doc-QuickStart)
2. 配置kafka中使用之前构建的单节点zookeeper,修改kafka的配置文件如下:
listeners=PLAINTEXT://192.168.209.137:9092
zookeeper.connect=192.168.209.137:2181
如果zookeeper配置的为集群模式,则zookeeper的配置项可以使用“,”分开。
3. 启动kafka进行测试
yitian@heron01:~/kafka/kafka_2.11-2.0.0$ bin/kafka-server-start.sh config/server.properties
4. 使用命令行模式进行运行producer和consumer
创建topic:
yitian@heron01:~/kafka/kafka_2.11-2.0.0$ bin/kafka-topics.sh --create --zookeeper 192.168.209.137:2181 --replication-factor 1 --partitions 1 --topic zk-topic
Created topic "zk-topic".
列出所有的topic:
yitian@heron01:~/kafka/kafka_2.11-2.0.0$ bin/kafka-topics.sh --list --zookeeper 192.168.209.137:2181
zk-topic
启动producer发送一些信息:
yitian@heron01:~/kafka/kafka_2.11-2.0.0$ bin/kafka-console-producer.sh --broker-list 192.168.209.137:9092 --topic zk-topic
>This is a message for test kafka based on zookeeper
>
然后启动consumer接受消息:
yitian@heron01:~/kafka/kafka_2.11-2.0.0$ bin/kafka-console-consumer.sh --bootstrap-server 192.168.209.137:9092 --topic zk-topic --from-beginning
This is a message for test kafka based on zookeeper
可见,kafka和zookeeper集成成功。
使用Java编写的Kafka程序
使用kafka的java API编写的简单productor和consumer见:
在配置项中,进行如下修改:
因为之前使用的是kafka自带的zookeeper进行的启动,因此broker的URL需要配置为:localhost:9092(该项配置也是kafka配置文件中的默认配置)。在修改kafka的配置文件后,就需要在java的配置项中对该项进行相应的修改。
修改后先启动producer,在启动consumer后,运行成功。
其中,consumer的运行输出: