kafka是一个分布式消息队列,需要依赖ZooKeeper,请先安装好zk集群

kafka安装包解压

$ tar xf kafka_2.-0.9.0.1.tgz
$ mv kafka_2.-0.9.0.1 /usr/kafka
$ cd /usr/kafka

配置文件

server.properties
# The id of the broker. This must be set to a unique integer for each broker.
broker.id= # Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=node1:,node2:,node3:

规划有3个节点,broker的id应该不同
node1为broker.id=0
node2为broker.id=1
node3为broker.id=2

node1上复制kafka目录到其他节点

$ scp -r /usr/kafka node2:/usr/
$ scp -r /usr/kafka node3:/usr/

node2、node3上替换broker.id

$ sed -i -e 's/broker.id=.*/broker.id=1/' /usr/kafka/config/server.properties
$ sed -i -e 's/broker.id=.*/broker.id=2/' /usr/kafka/config/server.properties

可以配置环境变量,可选

export KAFKA_HOME=/usr/kafka
PATH=$PATH:$KAFKA_HOME/bin

启动kafka
1、在3个节点启动ZooKeeper
2、在3个节点启动kafka

$ bin/kafka-server-start.sh config/server.properties

测试
创建话题,使用kafka-topics.sh

$ kafka-topics.sh --zookeeper node1:,node2:,node3: --topic test --replication-factor  --partitions  --create
$ kafka-topics.sh --zookeeper node1:,node2:,node3: --list
$ kafka-topics.sh --zookeeper node1:,node2:,node3: --describe --topic test

创建生成者和消费者
在任意节点上开启生成者

$ bin/kafka-console-producer.sh --broker-list node1:,node2:,node3: --topic test

可以在多个节点上开启多个消费者

$ bin/kafka-console-consumer.sh --zookeeper node1:,node2:,node3: --from-beginning --topic test 

--from-beginning 表示从最早开始获取队列的数据
消费几条数据后,执行下面的语句,看看是否从头开始,以及不同partition返回数据无序性

$ bin/kafka-console-consumer.sh --zookeeper node1:,node2:,node3: --topic test

返回数据是无序的。

Kafka 集群部署的更多相关文章

  1. kafka 集群部署 多机多broker模式

    kafka 集群部署 多机多broker模式 环境IP : 172.16.1.35   zookeeper   kafka 172.16.1.36   zookeeper   kafka 172.16 ...

  2. Zookeeper+Kafka集群部署(转)

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  3. 3、Kafka集群部署

    Kafka集群部署 1)解压安装包 [ip101]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/app/ 2)修改解压后的文件名称 [ip101]$ mv k ...

  4. Zookeeper+Kafka集群部署

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  5. Kafka集群部署 (守护进程启动)

    1.Kafka集群部署 1.1集群部署的基本流程 下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 1.2集群部署的基础环境准备 安装前的准备工作(zk集群已经部署完毕)  关闭防火墙 c ...

  6. Kafka集群部署以及使用

    Kafka集群部署 部署步骤 hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka http://kafka.apache.org/down ...

  7. 分布式消息系统之Kafka集群部署

    一.kafka简介 kafka是基于发布/订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目:类似的消息队列服务还有rabbitmq.activemq.zeromq:ka ...

  8. zookeeper集群+kafka集群 部署

    zookeeper集群 +kafka 集群部署 1.Zookeeper 概述: Zookeeper 定义 zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 Zooke ...

  9. Kafka集群部署

    一. 关于kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键 ...

  10. 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程

    本博文的主要内容有   kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...

随机推荐

  1. 回调地狱以及用promise怎么解决回调地狱

    哈哈哈,我又又又回来了,不好意思,最近枸杞喝的比较到位,精力比较旺盛. 现在我们来聊一聊啥是回调地狱,注意是回调地狱啊   不是RB人民最爱拍的那啥地狱啊,来吧,上车吧少年,这是去幼儿园的车 都让开, ...

  2. Java java jdk在Linux下安装与环境变量的配置

    java jdk在Linux下安装与环境变量的配置 by:授客 QQ:1033553122 linux环境:CentOS-6.0-x86_64-bin-DVD1.iso [root@localhost ...

  3. 如何用WebSocket实现一个简单的聊天室以及单聊功能

    百度百科中这样定义WebSocket:WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端.简单的说,We ...

  4. Android 经典欧美小游戏 guess who

    本来是要做iOS开发的,因为一些世事无常和机缘巧合与测试工作还有安卓系统结下了不解之缘,前不久找到了guess who 源码,又加入了一些自己的元素最终完成了这个简单的小游戏. <?xml ve ...

  5. 【Java入门提高篇】Day4 Java中的回调

    又忙了一周,事情差不多解决了,终于有可以继续写我的博客了(各位看官久等了). 这次我们来谈一谈Java里的一个很有意思的东西——回调. 什么叫回调,一本正经的来讲,在计算机程序设计中,回调函数是指通过 ...

  6. python turtle 绘制图像

    def _circle(): t = turtle.Turtle() t.pencolor("yellow") t.pensize(5) t.speed(200) t.circle ...

  7. linux信息收集篇之sosreport

    sosreport是一个类型于supportconfig 的工具,sosreport是python编写的一个工具,适用于centos(和redhat一样,包名为sos).ubuntu(其下包名为sos ...

  8. Python中的分组函数(groupby、itertools)

    from operator import itemgetter #itemgetter用来去dict中的key,省去了使用lambda函数 from itertools import groupby ...

  9. Tidb数据库报错:Transaction too large

    Tidb是一个支持ACID的分布式数据库,当你导入一个非常大的数据集时,这时候产生的事务相当严重,并且Tidb本身对事物的大小也是有一个严格的控制. 有事务大小的限制主要在于 TiKV 的实现用了一致 ...

  10. IDEA中的替换功能(替换代码中的变量名很好用哦)

    刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F( ...