1:下载对应安装包

zookeeper-3.4.14.tar.gz:链接:https://pan.baidu.com/s/19_eYsv5r9bg0AKv3TzjpZQ    提取码:ik8a
kafka_2.12-2.1.1.tgz:     链接:https://pan.baidu.com/s/1VcLtB17fEzFrVyvran1qhQ     提取码:e4f1


2:解压对应软件包

mkdir /data
tar zxf zookeeper-3.4.14.tar.gz  -C /data/
gzip -d  kafka_2.12-2.1.1.tgz
tar xvf kafka_2.12-2.1.1.tar -C /data/

3:进行相对应的配置

cd /data/zookeeper-3.4.14/conf
[root@kafka1 conf]# cat zoo.cfg
#心跳间隔时间,zookeeper中使用的基本时间单位,毫秒值。每隔2秒发送一个心跳
tickTime=2000
#leader与客户端连接超时时间。表示10个心跳间隔
initLimit=10
#Leader与Follower之间的超时时间,表示5个心跳间隔
syncLimit=5
dataDir=/data/zookeeper-3.4.14/data/    #数据目录
dataLogDir=/data/zookeeper-3.4.14/data/  #日志目录
clientPort=2181    #客户端连接端口

server.1=10.251.23.162:2888:3888
server.2=10.251.23.163:2888:3888
server.3=10.251.23.164:2888:3888

  

上述server.{1,2,3} 是zookeeper新增../data/myid配置文件1和kakfa服务内server.properties配置的broker.id和kafkalog/meta.properties 配置文件内的broker.id=1这几个一定要有不然后续启动会报错

启动kafka报错信息如下:

32 [2019-04-03 23:59:20,892] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
33 kafka.common.InconsistentBrokerIdException: Configured broker.id 1 doesn't match stored broker.id 0 in meta.properties. If you moved your data, make sure your configured broker.id matches. If you intend to create a new broker, you should remove all data in your data directories (log.dirs).
34     at kafka.server.KafkaServer.getBrokerIdAndOfflineDirs(KafkaServer.scala:686)
35     at kafka.server.KafkaServer.startup(KafkaServer.scala:209)
36     at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
37     at kafka.Kafka$.main(Kafka.scala:75)
38     at kafka.Kafka.main(Kafka.scala)
39 [2019-04-03 23:59:20,899] INFO shutting down (kafka.server.KafkaServer)
40 [2019-04-03 23:59:20,909] INFO [ZooKeeperClient] Closing. (kafka.zookeeper.ZooKeeperClient)
41 [2019-04-03 23:59:20,926] INFO EventThread shut down for session: 0x1000015a06e0000 (org.apache.zookeeper.ClientCnxn)
42 [2019-04-03 23:59:20,929] INFO Session: 0x1000015a06e0000 closed (org.apache.zookeeper.ZooKeeper)
43 [2019-04-03 23:59:20,952] INFO [ZooKeeperClient] Closed. (kafka.zookeeper.ZooKeeperClient)
44 [2019-04-03 23:59:20,971] INFO shut down completed (kafka.server.KafkaServer)
45 [2019-04-03 23:59:20,998] ERROR Exiting Kafka. (kafka.server.KafkaServerStartable)
46 [2019-04-03 23:59:21,034] INFO shutting down (kafka.server.KafkaServer)

  

4:添加myid文件,每台机器都需要添加,1机器是1,2机器是2,3机器是3

[root@kafka1 conf]# cat /data/zookeeper-3.4.14/data/myid
1

5:分别启动三台zookeeper  

[root@kafka1 bin]# pwd
/data/zookeeper-3.4.14/bin
[root@kafka1 bin]# ./zkServer.sh start

  

6:查看状态,分为leader和follower,至此zookeeper已安装完成

[root@kafka1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower

  

7:三台配置kafka,具体参数含义,百度吧。。。注意broker.id和listeners监听地址

[root@nlp-staging-kafka1 config]# pwd
/data/kafka_2.12-2.1.1/config
[root@nlp-staging-kafka1 config]# cat server.properties
broker.id=1        #当前机器在集群中的唯一标识,和zookeeper的myid性质一样
listeners=PLAINTEXT://10.251.23.162:9092
num.network.threads=3    #这个是borker进行网络处理的线程数
num.io.threads=8      #这个是borker进行I/O处理的线程数
socket.send.buffer.bytes=102400  #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
socket.receive.buffer.bytes=102400  #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.request.max.bytes=104857600  #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
log.dirs=/data/kafkalogs/     #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
num.partitions=16  #默认的分区数,一个topic默认16个分区数??
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=24  #默认消息的最大持久化时间,24小时
log.retention.bytes=-1
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000 #默认消息的最大持久化时间,300000小时
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
message.max.byte=5242880
log.cleaner.enable=true
delete.topic.enable=true
replica.fetch.max.bytes=5242880
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
zookeeper.connect=10.251.23.162:2181,10.251.23.163:2181,10.251.23.164:2181    #设置zookeeper的连接端口

  

8:三台都新增一个文件

[root@kafka1 kafkalogs]# pwd
/data/kafkalogs
[root@kafka1 kafkalogs]# cat meta.properties
version=0
broker.id=1

  

9:三台分别进入kafka的bin目录启动kafka

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

  

至此完成

kakfa+zookeeper集群搭建的更多相关文章

  1. 分布式架构中一致性解决方案——Zookeeper集群搭建

    当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...

  2. kafka学习(二)-zookeeper集群搭建

    zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...

  3. 分布式协调服务Zookeeper集群搭建

    分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...

  4. Zookeeper 集群搭建--单机伪分布式集群

    一. zk集群,主从节点,心跳机制(选举模式) 二.Zookeeper集群搭建注意点 1.配置数据文件 myid 1/2/3 对应 server.1/2/3 2.通过./zkCli.sh -serve ...

  5. Zookeeper集群搭建以及python操作zk

    一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目 ...

  6. Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建

    Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理.分布式协调管理.分布式配置管理.和分布式锁服务的集群.kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kaf ...

  7. zookeeper集群搭建及Leader选举算法源码解析

    第一章.zookeeper概述 一.zookeeper 简介 zookeeper 是一个开源的分布式应用程序协调服务器,是 Hadoop 的重要组件. zooKeeper 是一个分布式的,开放源码的分 ...

  8. 【zookeeper】 zookeeper 集群搭建

    集群搭建环境: 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 集群搭建步骤: 1. 确保机器安装了jdk ...

  9. Zookeeper(二) zookeeper集群搭建 与使用

    一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03    1. ...

随机推荐

  1. Could not find iPhone 6 simulator

    最近原来的老项目有点问题需要处理一下,运行启动命令,就报了如下错误,提示找不到iPhone 6 模拟器. react-native run-ios Owaiss-Mac:pdm owaisahmed$ ...

  2. 图解kubernetes scheduler基于map/reduce无锁设计的优选计算

    优选阶段通过分离计算对象来实现多个node和多种算法的并行计算,并且通过基于二级索引来设计最终的存储结果,从而达到整个计算过程中的无锁设计,同时为了保证分配的随机性,针对同等优先级的采用了随机的方式来 ...

  3. Flutter全面屏适配

    笔者在这篇文章ReactNative全面屏(Android)适配问题提及了现在的全面屏问题,不仅是Android平台,IOS平台也是,给我的感觉就是手机越来越长了. 现在的手机长宽比早就不是之前的16 ...

  4. selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

    selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...

  5. 换装WIN10(windows)那点儿事,换装操作系统一文通,玩转安装操作系统

    目录 1. 按 2. win10对电脑配置的要求 3. 原版镜像下载 4. 制作U盘系统盘 5. 硬盘分区调整 6. 设置开机时从U盘启动 7. 安装win10 8. 如何激活WIN10 9. 如何给 ...

  6. OpenGL ES for Android 环境搭建

    在Android上运行OpenGL ES程序需要用到GLSurfaceView控件,GLSurfaceView继承自SurfaceView并实现了GLThread,通过OpenGL ES进行绘制. O ...

  7. selenium chrome headless无界面引擎

    注意:PhantomJS已被舍弃 chrome headless 在打开浏览器之前添加参数 import time import sys from selenium import webdriver ...

  8. 【java面试】网络通信篇

    1.说一下HTTP协议 HTTP协议是超文本传输协议,属于应用层协议,规定了客户端与服务端传输数据的格式:它是无状态的,对于前面传送过的信息没有记录:请求方式有GET,POST,HEAD,PUT,DE ...

  9. 这个时候 快下班了 我来翻译一段: Pro ASP.NET MVC 3 Framework

    Binding to a Derived Type绑定派生类型Although we have focused on interfaces (since that is most relevant i ...

  10. PYTHON经典算法-二叉树的后序遍历

    二叉树的后序遍历 问题描述 给出一个二叉树,返回其节点值的后序遍历 问题示例 给出一个二叉树{1,x,2,3}其中x表示空.后序遍历为[3,2,1] 这个图怎么画的呢?答案 需要注意的地方是:bina ...