这里通过 VMware ,我们安装了三台虚拟机,用来搭建 kafka集群,虚拟机网络地址如下:

   hostname                      ipaddress                 subnet mask                          geteway    

  1、 master     192.168.146.200    255.255.255.0      192.168.146.2

  2、 slave1      192.168.146.201    255.255.255.0      192.168.146.2

  3、 slave2      192.168.146.202    255.255.255.0      192.168.146.2

1、下载 kafka 压缩包

  官网下载地址:http://kafka.apache.org/downloads

2、搭建zookeeper集群

  由于 kafka 集群的运行需要 zookeeper,所以我们要首先进行 zookeeper 集群的搭建。

  关于搭建的教程,我在上一篇博客已经介绍了:https://www.cnblogs.com/ysocean/p/9860529.html

3、解压 kafka

  将下载的 kafka 压缩文件上传到集群中的每台机器相应目录,执行如下命令进行解压。

tar -zxf kafka_2.12-2.0.0.tgz

4、修改配置文件 server.properties

 broker.id=0
listeners=PLAINTEXT://192.168.146.200:9092
zookeeper.connect=192.168.146.200:2181,192.168.146.201:2181,192.168.146.202:2181

  第一个 broker.id 后面的值和搭建 zookeeper 集群中 myid 一样,是一个集群中唯一的数,要求是正数。需要保证kafka集群中设置的都不一样。

  第二个设置监听器,后面的 IP 地址对应当前的 ip 地址。

  第三个是配置 zookeeper 集群的 IP 地址。

  该配置文件的其余设置可以默认,具体会在后面博客进行介绍。

5、启动 kafka

/usr/local/software/kafka_2.12-2.0.0/bin/kafka-server-start.sh /usr/local/software/kafka_2.12-2.0.0/config/server.properties &

  该命令虽然是后台启动服务,但是日志仍然会打印到控制台。

  想要完全后台启动,执行如下命令:

/usr/local/software/kafka_2.12-2.0.0/bin/kafka-server-start.sh /usr/local/software/kafka_2.12-2.0.0/config/server.properties 1>/dev/null 2>&1 &

  其中1>/dev/null  2>&1 是将命令产生的输入和错误都输入到空设备,也就是不输出的意思。/dev/null代表空设备。

  执行完毕后,输入 jps ,出现 kafka 的进程,则证明启动成功。

  

6、创建 topic

  集群启动成功后,我们通过创建一个名字为 test,partitions为3,replication为3的topic。

  进入到bin 目录下,执行如下命令:

./kafka-topics.sh --create --zookeeper 192.168.146.200:2181,192.168.146.201:2181,192.168.146.202:2181 --partitions 3 --replication-factor 3 --topic test

7、向 topic 发送消息

  进入到 bin 目录下,执行如下命令:

./kafka-console-producer.sh --broker-list 192.168.146.200:9092,192.168.146.201:9092,192.168.146.202:9092 --topic test

  

  输入 hello kafka ,然后 enter 键,即向名为 test 的topic 发送了一条消息:hello kafka

8、kafka 可视化工具

  为了更好的看到上一步创建的 topic,以及发送的消息。这里介绍一个 kafka 可视化工具——Kafka Tools,官网下载地址:http://www.kafkatool.com/download.html

  安装过程很简单,都是点击下一步即可。然后打开该工具,进行如下配置:

  点击 File ---> Add cluster

  

  然后点击有下家的 Add 按钮即可。

  点开刚刚创建的连接,出现如下界面:

  

  test 便是我们上一步创建的 topic 名称,里面有一条消息 hello kafka。

Kafka 详解(二)------集群搭建的更多相关文章

  1. elasticsearch系列三:索引详解(分词器、文档管理、路由详解(集群))

    一.分词器 1. 认识分词器  1.1 Analyzer   分析器 在ES中一个Analyzer 由下面三种组件组合而成: character filter :字符过滤器,对文本进行字符过滤处理,如 ...

  2. Kafka详解二:如何配置Kafka集群

    问题导读1.Kafka有哪几种配制方法?2.如何启动一个Consumer实例来消费消息? Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置 单节点:一个broker的集群 ...

  3. Nginx详解-服务器集群

    Nginx是什么 代理服务器:一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.  一个完整的代理请求过程为:客户端首先 ...

  4. kafka Centos7.2 单机集群搭建

    前提是已经安装好了zk集群 1.下载  kafka_2.11-1.0.0.tgz  下载网址 http://kafka.apache.org/documentation.html 2.解压  tar ...

  5. 九、kafka伪分布式和集群搭建

    伪分布式: 1.先将zk启动,如果是在伪分布式下,kafka已经集成了zk nohup /kafka_2.11-0.10.0.1/bin/zookeeper-server-start.sh /kafk ...

  6. Session详解及集群共享

    Session的介绍 维基百科:会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,session在网络协议(例如telnet或FTP ...

  7. CynosDB技术详解——存储集群管理

    本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...

  8. kafka详解(二)--kafka为什么快

    前言 Kafka 有多快呢?我们可以使用 OpenMessaging Benchmark Framework 测试框架方便地对 RocketMQ.Pulsar.Kafka.RabbitMQ 等消息系统 ...

  9. Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)

    Kafka 0.9版本对java client的api做出了较大调整,本文主要总结了Kafka 0.9在集群搭建.高可用性.新API方面的相关过程和细节,以及本人在安装调试过程中踩出的各种坑. 关于K ...

  10. Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...

随机推荐

  1. PE知识复习之PE文件空白区添加代码

    PE知识复习之PE文件空白区添加代码 一丶简介 根据上面所讲PE知识.我们已经可以实现我们的一点手段了.比如PE的入口点位置.改为我们的入口位置.并且填写我们的代码.这个就是空白区添加代码. 我们也可 ...

  2. SQL优化总结之二

    1.列优先 如图有表A和表B,对其查询时,会有如下语句: select a.*,b.* from a,b where a.id = b.a_id; 注意from 后边的表名, a.如果多表查询是完全无 ...

  3. Python+AutoIt实现界面工具开发

    前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有悖于在windows上使用的操作习惯,往往不容易推广 ...

  4. C# 常用小点

    1]创建文件夹 //相对路径 string FilePath = Server.MapPath("./") + "ImageFile/Images/" + Da ...

  5. 【苹果通知APNs】不知道大家用过PushSharp没?

    好久没写东西了,近期在研究Jenkins,大家有兴趣可以一起来玩玩交流,学习DevOps还是蛮重要. 近期我负责的项目里需要APNs的通知,这个自己单独开发还是蛮费功夫,故用了第三方开源的PushSh ...

  6. python之编码与解码

    编码 字符串被当作url提交时会被自动进行url编码处理,在python里也有个urllib.urlencode的方法,可以很方便的把字典形式的参数进行url编码.当url地址含有中文或者“/”的时候 ...

  7. tf.nn.conv2d。卷积函数

    tf.nn.conv2d是TensorFlow里面实现卷积的函数,参考文档对它的介绍并不是很详细,实际上这是搭建卷积神经网络比较核心的一个方法,非常重要 tf.nn.conv2d(input, fil ...

  8. 事件绑定on与hover事件

    今天项目中UI设计了一个鼠标划入和划出的效果,本来这个小效果是非常简单的!可是在实际的生产环境中就出现了一点点问题!因为在实际的环境中,数据全部是用ajax异步加载进去的,这样就造成了hover方法不 ...

  9. latex数学公式

    https://khan.github.io/KaTeX/function-support.html 最近要写<具体数学>的读书笔记,发现好多数学符号不会打啊qwq.. 大于号:\geqs ...

  10. Dynamics CRM项目实例之六:积分管理,汇总字段,计算字段,快速查看视图

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复137或者20141228可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!        博文讲述的主要是如 ...