4.kafka的安装部署

为了安装过程对一些参数的理解,我先在这里提一下kafka一些重点概念,topic,broker,producer,consumer,message,partition,依赖于zookeeper,

kafka是一种消息队列,他的服务端是由若干个broker组成的,broker会向zookeeper,producer生成者对应一个topic主题生产的数据分成多个partition分区放在不同的broker中,

每个分区以message的形式存储对应的消息数据(包括key,value,offset,inserttime),另一方面就是consumer消费者要向消息队列拉数据的时候首先是通过访问zookeeper获取

一些元数据比如offset到对应的消息分区对应的读的地址继续读下去。我简单的画了个图,

 

接下来开始安装步骤了

1.解压

sudo tar -zxvf kafka_2.11-0.10.0.0.tgz[压缩包路径] -C /opt/modules/[解压的目标路径]

2.在kafka的根目录下新建个文件夹用于存储一些日志文件

mkdir kafka-logs

2.配置conf/server.properties文件

broker.id=0   
log.dirs=/opt/modules/kafka_2.11-0.10.0.0/kafka-logs
num.partitions=2
zookeeper.connect=hadoop-senior01.kyhoon.com:2181 ,hadoop-senior02.kyhoon.com:2181 

3.分发到另外一台服务器(这里只用了两台虚拟机服务器集群)并修改配置文件中的broker.id

scp -r ./kafka_2.11-0.10.0.0/ root@hadoop-senior02.kyhoon.com:/opt/modules
broker.id =1

4.启动集群的Zookeeper

bin/zkServer.sh  start

5.启动集群的kafka服务

nohup bin/kafka-server-start.sh  config/server.properties &

6.创建topic

 bin/kafka-topics.sh  --zookeeper hadoop-senior01.kyhoon.com:2181 ,hadoop-senior02.kyhoon.com:2181  --topic test --replication-factor 1 --partitions 2 --create

7.查看topic

bin/kafka-topics.sh  --zookeeper hadoop-senior01.kyhoon.com:2181 ,hadoop-senior02.kyhoon.com:2181  --list

8.创建生产者

bin/kafka-console-producer.sh  --broker-list hadoop-senior01.kyhoon.com:9092 ,hadoop-senior02.kyhoon.com:9092  --topic test

9.创建消费者

bin/kafka-console-consumer.sh  --zookeeper hadoop-senior01.kyhoon.com:2181 ,hadoop-senior02.kyhoon.com:2181  --topic test --from-beginning

10.在生产者端输入消息回车,在消费者端看到对应的消息则证明安装成功了

 

kyhoon
posted @ 2017-08-18 21:12  Kyhoon  阅读(301)  评论(0编辑  收藏  举报