搭建kafka集群

落日映苍穹つ 2022-08-18 05:40 381阅读 0赞

1 kafka简介

  1. Kafka is a distributed,partitioned,replicated commit logservice
  2. 它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。
  3. kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,
  4. 此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,
  5. 还是producerconsumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

2 下载kafka0.8

  1. http://ftp.tc.edu.tw/pub/Apache/kafka/0.8.2.0/kafka_2.10-0.8.2.0.tgz

3 解压,创建软连接

  1. tar -zxvf kafka_2.10-0.8.2.0.tgz
  2. mv -R kafka_2.10-0.8.2.0 /opt/
  3. ln -s kafka_2.10-0.8.2.0 kafka

3 配置

  1. 修改kafka/config/server.properties,修改其中broker.id,log.dirs,zookeeper.connectport,其他项根据需要自行斟酌:
  2. # The id of the broker. This must be set to a unique integer for each broker.
  3. broker.id=1
  4. # The port the socket server listens on
  5. port=9091
  6. # A comma seperated list of directories under which to store log files
  7. log.dirs=/mnt/hd01/hadoop/kafka/logs
  8. # root directory for all kafka znodes.
  9. zookeeper.connect=db1:2181,db2:2181,db3:2181

4 启动db1的kafka

  1. /opt/kafka/kafka-server-start.sh /opt/kafka/config/server.properties &

5 复制kafka目录所有类容到其他节点

  1. scp -r ./kafka db2:/opt/
  2. scp -r ./kafka db3:/opt/

6 修改db2,db3节点上的/config/server.properties

  1. 只需修改两个值,其他配置和db1上的/config/server.properties保持一致:
  2. broker.id=2
  3. port=9092

7 分别起动db1,db2,db3上的kafka

  1. db1上执行:
  2. /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties &
  3. ssh db2 '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties &'
  4. ssh db3 '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties &'

8 创建Topic

  1. [root@db1 bin]# /opt/kafka/bin/kafka-topics.sh --create --zookeeper db1:2181 --replication-factor 1 --partitions 1 --topic mytopic
  2. Created topic "mytopic".

9 查看topic情况

  1. [root@db1 bin]# /opt/kafka/bin/kafka-topics.sh --list --zookeeper db2:2181
  2. mytopic
  3. test
  4. 参数db1db2db3,结果都是一致的

10 创建发送者

  1. [root@db1 bin]# /opt/kafka/bin/kafka-console-producer.sh --broker-list db1:9091 --topic test
  2. [2015-11-10 05:54:35,370] WARN Property topic is not valid (kafka.utils.VerifiableProperties)
  3. 111
  4. [2015-11-10 05:54:38,534] INFO Closing socket connection to /192.168.10.155. (kafka.network.Processor)
  5. 123
  6. qwe
  7. hello
  8. [2015-11-10 05:55:43,543] INFO Closing socket connection to /192.168.10.155. (kafka.network.Processor)

11 创建消费者

  1. 创建消费者之后,可以获取topictest 发送的所有类容
  2. [root@db1 bin]# ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
  3. 111
  4. 123
  5. qwe
  6. hello

发表评论

表情:
评论列表 (有 0 条评论,381人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Kafka

    Kafka使用背景 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样一些问题: 我想分析一下用户行为(pageviews),以便我能设计出更

    相关 Kafka

    Kafka初识 1、Kafka使用背景 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: 1. 我们想分析下用户行为(pageviews

    相关 Kafka

    前言:kafka作为一个消息中间件,由linkedin使用scala编写,用作LinkedIn的活动流,和运营数据处理管道的基础,其特点在于具有高水平扩展也就是动态扩容和高吞吐

    相关 Kafka

    一,环境准备           \ Zookeeper单点/集群服务(演示单点使用单点, 演示集群使用集群)           \ kafka安装包        

    相关 Kafka

    Kafka集群搭建 1、软件环境 1、linux一台或多台,大于等于2 2、已经搭建好的zookeeper集群(参考我上一篇zk集群搭建:[https://blo

    相关 Kafka

    1. 集群部署的基本流程 下载安装包、解压安装包、修改配置文件、分发安装包、启动集群 2.集群部署的基础环境准备 **安装前的准备工作(zk集群已经部署完毕)**...