搭建zookeeper和Kafka集群:
本实验拥有3个节点,均为CentOS 7系统,分别对应IP为10.211.55.11、10.211.55.13、10.211.55.14,且均有相同用户名 (本实验为 jiecxy)
 
为了方便,先在三台节点上 /etc/hosts 文件内容均添加:
 
10.211.55.11 master
10.211.55.13 worker1
10.211.55.14 worker2123
 
一、 安装zookeeper
 
1. 下载 zookeeper-3.4.8.tar.gz
 
2. 在 master 节点上安装 zookeeper
解压安装包,并复制配置文件
 
# 在master节点上
[jiecxy@master ~]$ tar -xzvf zookeeper-3.4.8.tar.gz
[jiecxy@master ~]$ cd zookeeper-3.4.8/conf/
[jiecxy@master conf]$ cp zoo_sample.cfg zoo.cfg1234
 
3. 修改 zoo.cfg
 
[jiecxy@master conf]$ vi zoo.cfg1
修改内容如下:
 
...
# dataDir 最好不要在 /tmp 下
dataDir=/tmp/zookeeper
...
# the port at which the clients will connect
clientPort=2181
# 添加节点,注:端口2888、3888不固定
server.0=master:2888:3888
server.1=worker1:2888:3888
server.2=worker2:2888:3888
...123456789101112
 
 
4. 在 dataDir 目录下创建 data 文件夹 和 myid 文件(内容为0)
# 在master节点上
[jiecxy@master ~]$ mkdir /tmp/zookeeper/data/
[jiecxy@master ~]$ touch /tmp/zookeeper/myid
[jiecxy@master ~]$ echo 0 > /tmp/zookeeper/myid1234
 
5. 将 zookeeper-3.4.8 文件夹复制到另外两个节点下
 
# 在master节点上
[jiecxy@master ~]$ scp -r zookeeper-3.4.8/ worker1:~/
[jiecxy@master ~]$ scp -r zookeeper-3.4.8/ worker2:~/123
并在相同 dataDir 下创建 data 文件夹 和 myid 文件
注:worker1 的 myid 文件内容为 1,worker2 的 myid 文件内容为 2
 
# 登录 worker1
[jiecxy@worker1 ~]$ mkdir /tmp/zookeeper/data/
[jiecxy@worker1 ~]$ touch /tmp/zookeeper/myid
[jiecxy@worker1 ~]$ echo 1 > /tmp/zookeeper/myid1234
 
# 登录 worker2
[jiecxy@worker2 ~]$ mkdir /tmp/zookeeper/data/
[jiecxy@worker2 ~]$ touch /tmp/zookeeper/myid
[jiecxy@worker2 ~]$ echo 2 > /tmp/zookeeper/myid1234
 
6. 关闭防火墙
 
# 关闭防火墙
service iptables stop
# 启动防火墙
service iptables start
# 重启防火墙
service iptables restart
# 查看防火墙状态
service iptables status
# 永久关闭防火墙
chkconfig iptables off
# 永久关闭后启用
chkconfig iptables on
12345678910111213
 
 
二、 安装Kafka
 
1. 下载 kafka_2.11-0.10.0.1.tar.gz
 
2. 在 master 节点上安装 kafka(一个broker)
解压安装包
 
# 在master节点上
[jiecxy@master ~]$ tar -xzvf kafka_2.11-0.10.0.1.tar.gz12
 
3. 修改 server.properties
 
# 在master节点上
[jiecxy@master ~]$ cd kafka_2.11-0.10.0.1/config/
[jiecxy@master config]$ vi server.properties123
修改内容如下:
 
...
# master为0
broker.id=0   
...
# 连接
zookeeper.connect=master:2181,worker1:2181,worker2:2181
# 可删除topic
delete.topic.enable=true
...123456789
 
 
 
4. 将 kafka_2.11-0.10.0.1 文件夹复制到另外两个节点下
# 在master节点上
[jiecxy@master ~]$ scp -r kafka_2.11-0.10.0.1/ worker1:~/
[jiecxy@master ~]$ scp -r kafka_2.11-0.10.0.1/ worker2:~/123
并修改每个节点对应的 server.properties 文件的 broker.id: master为0,worker1为1,worker2为2
 
三、 启动集群和测试
 
注:启动时:先启动 zookeeper,后启动 kafka;关闭时:先关闭 kafka,后关闭zookeeper
 
1. 分别在每个节点上启动 zookeeper
 
# 在master节点上
[jiecxy@master zookeeper-3.4.8]$ bin/zkServer.sh start
# 在worker1节点上
[jiecxy@worker1 zookeeper-3.4.8]$ bin/zkServer.sh start
# 在worker2节点上
[jiecxy@worker2 zookeeper-3.4.8]$ bin/zkServer.sh start12345678
 
2. 验证 zookeeper 集群
 
# 在master节点上
[jiecxy@master zookeeper-3.4.8]$ bin/zkServer.sh status
# 在worker1节点上
[jiecxy@worker1 zookeeper-3.4.8]$ bin/zkServer.sh status
# 在worker2节点上
[jiecxy@worker2 zookeeper-3.4.8]$ bin/zkServer.sh status12345678
显示结果为:有一个是 leader,剩下的都是 follower 
 
 
 
3. 启动 Kafaka 集群
 
# 在master节点上
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-server-start.sh config/server.properties &
# 在worker1节点上
[jiecxy@worker1 kafka_2.11-0.10.0.1]$ bin/kafka-server-start.sh config/server.properties &
# 在worker2节点上
[jiecxy@worker2 kafka_2.11-0.10.0.1]$ bin/kafka-server-start.sh config/server.properties &12345678
 
4. 测试
创建 topic 和 显示 topic 信息
 
# 在master节点上 创建topic
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-topics.sh --create --zookeeper master:2181,worker1:2181,worker2:2181 --replication-factor 3 --partitions 3 --topic test12
 
 
# 在master节点上 显示topic信息
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-topics.sh --describe --zookeeper master:2181,worker1:2181,worker2:2181 --topic test12
 
 
# 在master节点上 列出topic
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-topics.sh --list --zookeeper master:2181,worker1:2181,worker2:218112
 
 
创建 producer
 
# 在master节点上 测试生产消息
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-console-producer.sh --broker-list master:9092 -topic test12
 
 
创建 consumer
 
# 在master节点上 测试消费
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-console-consumer.sh --zookeeper master:2181,worker1:2181,worker2:2181 -topic test --from-beginning
# 在worker1节点上 测试消费
[jiecxy@worker1 kafka_2.11-0.10.0.1]$ bin/kafka-console-consumer.sh --zookeeper master:2181,worker1:2181,worker2:2181 -topic test --from-beginning
# 在worker2节点上 测试消费
[jiecxy@worker2 kafka_2.11-0.10.0.1]$ bin/kafka-console-consumer.sh --zookeeper master:2181,worker1:2181,worker2:2181 -topic test --from-beginning12345678
然后在 producer 里输入消息,consumer 中就会显示出同样的内容,表示消费成功
 
 
5. 删除 topic 和关闭服务
 
# 在master节点上 删除topic
[jiecxy@master kafka_2.11-0.10.0.1]$ bin/kafka-topics.sh --delete --zookeeper master:2181,worker1:2181,worker2:2181 --topic test12
关闭
 
# 在master节点上 关闭kafka
[jiecxy@master ~]$ ./kafka_2.11-0.10.0.1/bin/kafka-server-stop.sh
# 在worker1节点上 关闭kafka
[jiecxy@worker1 ~]$ ./kafka_2.11-0.10.0.1/bin/kafka-server-stop.sh
# 在worker2节点上 关闭kafka
[jiecxy@worker2 ~]$ ./kafka_2.11-0.10.0.1/bin/kafka-server-stop.sh
# 在master节点上 关闭zookeeper
[jiecxy@master ~]$ ./zookeeper-3.4.8/bin/zkServer.sh stop
# 在worker1节点上 关闭zookeeper
[jiecxy@worker1 ~]$ ./zookeeper-3.4.8/bin/zkServer.sh stop
# 在worker2节点上 关闭zookeeper
[jiecxy@worker2 ~]$ ./zookeeper-3.4.8/bin/zkServer.sh stop
 
 
--------------------- 
原文:https://blog.csdn.net/jiecxy/article/details/52348120

搭建zookeeper和Kafka集群的更多相关文章

  1. Docker快速搭建Zookeeper和kafka集群

    使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...

  2. 使用Docker快速搭建Zookeeper和kafka集群

    使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...

  3. CentOS 7搭建Zookeeper和Kafka集群

    环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...

  4. zookeeper及kafka集群搭建

    zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...

  5. Kafka1 利用虚拟机搭建自己的Kafka集群

    前言:       上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...

  6. Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构

    Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 目录 Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 一.Zookeeper 1. Zook ...

  7. zookeeper与Kafka集群搭建及python代码测试

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

  8. 大数据 -- zookeeper和kafka集群环境搭建

    一 运行环境 从阿里云申请三台云服务器,这里我使用了两个不同的阿里云账号去申请云服务器.我们配置三台主机名分别为zy1,zy2,zy3. 我们通过阿里云可以获取主机的公网ip地址,如下: 通过secu ...

  9. CentOS 7 Zookeeper 和 Kafka 集群搭建

    环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...

随机推荐

  1. React 环境增加Redux ,React-Redux

    引入 Redux 的目的, 状态管理! React-Redux 就是完成一些粘合剂的作用. 简而化之的理解就是将数据放在store 中维护, 操作逻辑放在reducer中去写. 更功利的表达就是:  ...

  2. python学习笔记之五

    1.Python HTTP server win环境需要加cgi参数 python -m http.server --cgi 8000 其他如下: python -m http.server 8080 ...

  3. c#字符串to/from文本文档IO示例

    写入文本文档 class Program { static void Main(String[] args) { //写入string数组,每个string一行 string[] lines = { ...

  4. [Vue warn]: Duplicate keys detected: '1'. This may cause an update error

    今天遇到这个问题,遇到这个问题多数因为:key值的问题 第一种情况(key重复) <div class="name-list" v-for="(item,index ...

  5. sql注入、csrf

    ◎sql注入产生的原因?又如何防御sql注入? SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用 ...

  6. java-网络通信-索引

           HTTP协议 关于HTTP协议,一篇就够了 HTTP与HTTPS的区别 HTTP Keep-Alive模式 HTTP长连接和短连接 HTTP的长连接(持久连接)和短连接 HTTP的长连接 ...

  7. 利用SUM打java补丁

    Upgrade Single JAVA Component Patch Level Using SUM Tool Hi Friends, I came across few posts/threads ...

  8. IDEA 常用插件

    Maven Helperp3pauto filling Java call argumentsCamelCaseVisualVM LauncherTranslation.ignoreGenerateA ...

  9. Centos7.3 编译安装GDAL以及Python的GDAL包

    参考: https://cryolite.iteye.com/blog/176382 https://blog.csdn.net/a13326021319/article/details/782505 ...

  10. Vue 自定义指令实现权限控制(按钮级)

    在用户登陆后,根据用户id读取用户的所有权限数据,放入本地的sessionStorage进行存储(这里我是拿到权限按钮按钮的标识,英文名称.把他们合成一个字符串存储在 btnPowerString 中 ...