官网:
参考文档:
一、安装zookeeper
1. 下载zookeeper-3.4.5-cdh5.3.6.tar.gz
下载地址为: http://archive.cloudera.com/cdh5/cdh/5/
2. 解压到/opt/modules/cdh目录
tar -zxvf zookeeper-3.4.-cdh5.3.6.tar.gz -C /opt/modules/
3. 修改配置
cd /opt/modules/cdh/zookeeper-3.4.-cdh5.3.6 mkdir dataDir cd conf mv zoo_sample.cfg zoo.cfg vi zoo.cfg
修改内容
dataDir=/opt/modules/cdh/zookeeper-3.4.-cdh5.3.6/dataDir
4. 启动zookeeper
cd /opt/modules/cdh/zookeeper-3.4.-cdh5.3.6
bin/zkServer.sh start
5. 使用jps命令查看是否成功启动
启动成功,会有QuorumPeerMain进程
二、安装kafka
1. 下载 kafka_2.11-0.10.0.0.tgz
下载地址为https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz
2. 解压
解压 kafka_2.11-0.10.0.0.tgz到/opt/modules目录
3. 修改配置
mkdir -p /opt/modules/kafka_2.11-0.10.0.0/dataDir
vi server.properties
修改内容:
log.dirs=/opt/modules/kafka_2.11-0.10.0.0/dataDir
zookeeper.connect=beifeng-hadoop-02:2181
4. 启动kafka
以后台进程方式启动kafka
nohup bin/kafka-server-start.sh config/server.properties >~/kafka-start.log >& &
5. 使用jps查看是否成功启动
启动成功能看到Kafka进程
ps -ef | grep kafka
netstat -tlnup | grep
三、单broker模拟生产者和消费者
1. 创建topic
创建一个叫"test"的topic,只有一个分区,一个副本
bin/kafka-topics.sh --create --zookeeper beifeng-hadoop-: --replication-factor --partitions --topic test
2. 通过list命令查看创建的topic
bin/kafka-topics.sh --list --zookeeper beifeng-hadoop-:
3. 发送消息
bin/kafka-console-producer.sh --broker-list beifeng-hadoop-: --topic test
4. 接收消息
bin/kafka-console-consumer.sh --zookeeper beifeng-hadoop-: --topic test --from-beginning
四、搭建一个多broker的集群
1. 修改配置
cp config/server.properties config/server1.properties
cp config/server.properties config/server2.properties
server1.properties内容修改:
broker.id=1
port=9093
log.dir=/opt/modules/kafka_2.11-0.10.0.0/dataDirServer1
server2.properties内容修改:
broker.id=2
port=9094
log.dir=/opt/modules/kafka_2.11-0.10.0.0/dataDirServer2
2. 启动服务器
nohup bin/kafka-server-start.sh config/server1.properties >~/kafka-server1-start.log >& & nohup bin/kafka-server-start.sh config/server2.properties >~/kafka-server2-start.log >& &
3. 创建有3个副本的topic
bin/kafka-topics.sh --create --zookeeper beifeng-hadoop-: --replication-factor --partitions --topic my-replicated-topic
4. 查看topic信息
bin/kafka-topics.sh --describe --zookeeper beifeng-hadoop-: --topic my-replicated-topic
Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
解释一下这些输出。第一行是对所有分区的一个描述,然后每个分区都会对应一行,因为我们只有一个分区所以下面就只加了一行。
leader:负责处理消息的读和写,leader是从所有节点中随机选择的.
replicas:列出了所有的副本节点,不管节点是否在服务中.
isr:是正在服务中的节点.
在我们的例子中,节点1是作为leader运行。
5. 生产者
bin/kafka-console-producer.sh --broker-list beifeng-hadoop-: --topic my-replicated-topic
6. 消费者
bin/kafka-console-consumer.sh --zookeeper beifeng-hadoop-: --from-beginning --topic my-replicated-topic