代码改变世界

kafka集群安装

2018-12-06 21:09  RingWu  阅读(321)  评论(0编辑  收藏  举报

本教程主要说明kafka0.10.2.1集群的安装;hdp-02,hdp-03,hdp-04是我集群节点的名称,修改配置文件,请根据自身的节点名称进行修改。

基本概念

Broker : 安装Kafka服务的那台集群就是一个broker(broker的id要全局唯一)

Producer :消息的生产者,负责将数据写入到broker中(push)

Consumer:消息的消费者,负责从kafka中读取数据(pull),老版本的消费者需要依赖zk,新版本的不需要

Topic: 主题,相当于是数据的一个分类,不同topic存放不同的数据

Consumer Group: 消费者组,一个topic可以有多个消费者同时消费,多个消费者如果在一个消费者组中,那么他们不能重复消费数据

安装步骤

1.准备三台及以上的linux服务器。

2.安装zookeeper集群,并启动,请参照博文:https://www.cnblogs.com/RingWu/p/10079420.html

3.下载kafka_2.11-0.10.2.1的安装包并解压,这里的2.11指的是kafka对应scala的版本是2.11

4.修改配置文件 config/server.properties
broker.id=0
host.name=hdp-02
log.dirs=/usr/local/kafka_2.11-0.10.2.1/data
zookeeper.connect=hdp-02:2181,hdp-03:2181,hdp-04:2181

5.将配置好的kafka拷贝到其他机器上

scp -r /usr/local/kafka_2.11-0.10.2.1/ hdp-03:/usr/local/

scp -r /usr/local/kafka_2.11-0.10.2.1/ hdp-04:/usr/local/

6.修改hdp-03,hdp-04的broker.id和host.name
7.使用

启动kafka

在每台机器上运行如下指令

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.11-0.10.2.1/config/server.properties

可以使用jps指令查看kafka是否启动成功

停止kafka

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-server-stop.sh

创建topic

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --create --zookeeper hdp-02:2181,hdp-03:2181,hdp-04:2181 --replication-factor 3 --partitions 3 --topic my-topic

列出所有topic

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --list --zookeeper hdp-02:2181,hdp-03:2181,hdp-04:2181

查看某个topic信息

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --describe --zookeeper hdp-02:2181,hdp-03:2181,hdp-04:2181 --topic my-topic

启动一个命令行的生产者

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-console-producer.sh --broker-list hdp-02:9092,hdp-03:9092,hdp-04:9092 --topic my-topic

启动一个命令行的消费者

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-console-consumer.sh --zookeeper hdp-02:2181,hdp-03:2181,hdp-04:2181 --topic my-topic --from-beginning

消费者连接到borker的地址

/usr/local/kafka_2.11-0.10.2.1/bin/kafka-console-consumer.sh --bootstrap-server hdp-02:9092,hdp-03:9092,hdp-04:9092 --topic my-topic --from-beginning