kakfa+zookeeper集群搭建
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集群搭建的更多相关文章
- 分布式架构中一致性解决方案——Zookeeper集群搭建
当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...
- kafka学习(二)-zookeeper集群搭建
zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- Zookeeper 集群搭建--单机伪分布式集群
一. zk集群,主从节点,心跳机制(选举模式) 二.Zookeeper集群搭建注意点 1.配置数据文件 myid 1/2/3 对应 server.1/2/3 2.通过./zkCli.sh -serve ...
- Zookeeper集群搭建以及python操作zk
一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目 ...
- Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建
Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理.分布式协调管理.分布式配置管理.和分布式锁服务的集群.kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kaf ...
- zookeeper集群搭建及Leader选举算法源码解析
第一章.zookeeper概述 一.zookeeper 简介 zookeeper 是一个开源的分布式应用程序协调服务器,是 Hadoop 的重要组件. zooKeeper 是一个分布式的,开放源码的分 ...
- 【zookeeper】 zookeeper 集群搭建
集群搭建环境: 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 集群搭建步骤: 1. 确保机器安装了jdk ...
- Zookeeper(二) zookeeper集群搭建 与使用
一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03 1. ...
随机推荐
- 5、调试显示应该使用 DebuggerDisplay 而不是误用 ToString
using System.Diagnostics; namespace ShouldCode.Console { [DebuggerDisplay("Prop1:{Prop1};Prop2: ...
- 美食家App开发日记2
操作Android内置数据库失败...由于个人愚钝,按照书上所讲,一步一步写,中间出了一系列问题,有些功能在网上查了很多解决方案仍无法解决,导致无法使用. 感觉Android操作很难...
- CSS基础应用总结
目录 CSS 样式笔记 文字水平居中和垂直居中 如何设置a标签不带下划线 控件右对齐 div上下居中 控件左右居中 控件展示在同一行 设置文字超出部分...显示 CSS 样式笔记 文字水平居中和垂直居 ...
- 编程基础--XML约束
2020年新年第一天,不写一篇博客纪念一下都感觉对不起这个跨年 为什么会写一篇关于xml的博客呢?xml在编程中用的又不多,再多也用不着自己写约束文件,只要能看懂就行了不是吗?嗯,没别的原因,就是想研 ...
- php编译完php.ini加载问题-Loaded Configuration File (none)
编译安装php7时指定了--with-config-file-path=/usr/local/php7/etc,修改了 php.ini 的配置后重启,但就是不生效. 出现Loaded Configur ...
- 机器学习-浅谈神经网络和Keras的应用
概述 神经网络是深度学习的基础,它在人工智能中有着非常广泛的应用,它既可以应用于咱们前面的章节所说的Linear Regression, classification等问题,它还广泛的应用于image ...
- Dubbo如何支持本地调用?injvm方式解析
Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用,那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗? 这篇文章就分享下Dubbo关于本地调用的实现机制,以及 ...
- Windows系统以及谷歌浏览器快捷键,控制台常用命令
win10系统 快捷键 win+D 回到桌面 控制台代码(win+R打开控制台) calc 系统计算器 谷歌浏览器快捷键 ctrl+tab 切换标签页 ctrl+ 1/2...9 数字 切换到第几个标 ...
- window nginx 中文路径, 文件名乱码问题解决
window nginx 中文路径, 文件名乱码, error, not found 此问题是由于windows系统编码与nginx编码设置不一致导致的,因此我们要统一二者的编码 nginx编码设置 ...
- 手把手写框架入门(一) | 核心拦截器DispatchFilter实现
前言 1Filter实现框架拦截 1配置自定义Filter 2创建一个Filter 3创建一个ActionMapping 4创建一个ActionMapper 5创建一个WebExecutor 6创建测 ...