kafka-2.11-0.11集群搭建
kafka集群依赖于zookeeper,所以需要先搭建zookeeper集群,kafka默认自带了内建的zookeeper,建议使用自己外搭建的zookeeper,这样比较灵活并且解耦服务,同时也可以让其他需要zookeeper的服务使用。注意kafka-2.11-0.11版本与zookeeper-3.4.10.tar.gz对应,
一、安装
1、下载zookeeper:
# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
生产环境使用集群至少需要三台服务器,官方建议至少3或5台,并且集群节点个数必须是奇数。需要java环境,jdk1.8+(自己先配置好,本文不涉及)。
创建目录:
#mkdir /data
#mkdir /data/zookeeper/{data,logs} -p
#tar xf zookeeper-3.4.10.tar.gz
#rm -rf zookeeper-3.4.10.tar.gz
修改配置文件:
创建配置文件zoo.cfg
#cat zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
clientPort=2181
maxClientCnxns=100
autopurge.snapRetainCount=3
autopurge.purgeInterval=24
quorumListenOnAllIPs=true
dataLogDir=/data/zookeeper/logs
server.3=10.10.11.92:2888:3888
server.6=10.10.9.29:2888:3888
server.9=10.10.8.16:2888:3888
创建myid,用于唯一标示一个zk节点,在创建的/data/zookeeper/data目录下面创建:
#echo 3 > /data/zookeeper/data/myid
将配置好的zookeeper服务整个分别copy到另外两台服务器上,并创建需要的目录。
#mkdir /data/zookeeper/{data,logs} -p
并在相应的data目录下创建各自的myid文件:
#echo 6 > /data/zookeeper/data/myid
#echo 9 > /data/zookeeper/data/myid
切换到bin目录,分别启动zk服务:
./zkServer.sh start
三台都启动完成后,发现报错了:
2017-11-07 15:31:01,300 [myid:3] - WARN [WorkerSender[myid=3]:QuorumCnxManager@588] - Cannot open channel to 9 at election address /10.10.8.16:3888
java.net.ConnectException: Connection refused (Connection refused)
排错:
1、怀疑是防火墙的问题,这是内网啊,所以不是防火墙;
2、端口被占用了,lsof -i:3888,没有输出啊,所以端口也没占用;
3、ip地址不是本机的网卡
云服务器采用虚拟化的技术,监听的网卡是属于物理网关的网卡,而虚拟化机内部自然没有这个网卡。
在配置文件添加一下参数,重启服务正常:
quorumListenOnAllIPs=true
2、查看zk状态
#./zkServer.sh status
3、zookeepr常用的四字节命令:
|
ZooKeeper四字命令
|
功能描述
|
|---|---|
| conf | 3.3.0版本引入的。打印出服务相关配置的详细信息。 |
| cons | 3.3.0版本引入的。列出所有连接到这台服务器的客户端全部连接/会话详细信息。包括"接受/发送"的包数量、会话id、操作延迟、最后的操作执行等等信息。 |
| crst | 3.3.0版本引入的。重置所有连接的连接和会话统计信息。 |
| dump | 列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用。 |
| envi | 打印出服务环境的详细信息。 |
| reqs | 列出未经处理的请求 |
| ruok | 测试服务是否处于正确状态。如果确实如此,那么服务返回"imok",否则不做任何相应。 |
| stat | 输出关于性能和连接的客户端的列表。 |
| srst | 重置服务器的统计。 |
| srvr | 3.3.0版本引入的。列出连接服务器的详细信息 |
| wchs | 3.3.0版本引入的。列出服务器watch的详细信息。 |
| wchc | 3.3.0版本引入的。通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。 |
| wchp | 3.3.0版本引入的。通过路径列出服务器watch的详细信息。它输出一个与session相关的路径。 |
| mntr |
3.4.0版本引入的。输出可用于检测集群健康状态的变量列表 |
#echo mntr | nc ip port
ip:zk服务器的IP地址; port:zk服务的端口
二、kafka集群
将下载好的包上传到服务器,并解压到/data目录下:
#tar xf kafka_2.11-0.11.0.0.tgz
只需要修改server.properties文件、consumer.properties、producer.properties文件
server.properties文件主要注意三个地方:
broker.id=0 #每个broker在集群中必须是唯一的,如有三个节点可以分别设置为(0、1、2)
host.name=10.10.8.16 #host.name为个服务器的IP地址,根据自己的情况填写
zookeeper.connect=10.10.8.16:2181,10.10.9.29:2181,10.10.11.92:2181
#cat server.properties
broker.id=0
delete.topic.enable=true
listeners=PLAINTEXT://10.10.89.219:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/kafka-logs
num.partitions=4
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.10.8.16:2181,10.10.9.29:2181,10.10.11.92:2181
zookeeper.connection.timeout.ms=100000
zookeeper.session.timeout.ms=50000
group.initial.rebalance.delay.ms=0
将配置好的服务分别copy到另外两台服务器上面:
!!!注意修改broker.id、host.name,为各自服务器对应的。
切换到bin目录,启动kafka服务:./kafka-server-start.sh -daemon ../config/server.properties &
2、创建topic
#./kafka-topics.sh --create --zookeeper 10.10.11.92:2181,10.10.8.16:2181,10.10.9.29:2181 --replication-factor 2 --partitions 9 --topic userlog
参数解释:
zookeeper:zookeepr集群的地址
replication-factor:复制两份
partitions:创建9个partition
topic: topic名称
使用 describe 命令来显示 topic 详情
#./kafka-topics.sh --describe --zookeeper 10.10.11.92:2181,10.10.8.16:2181,10.10.9.29:2181 --topic test
Topic:test PartitionCount:1 ReplicationFactor:2 Configs:
Topic: test Partition: 0 Leader: 3 Replicas: 3,2 Isr: 3,2
1) Leader 是给定分区的节点编号,每个分区的部分数据会随机指定不同的节点
2) Replicas 是该日志会保存的复制
3) Isr 表示正在同步的复制
kafka-2.11-0.11集群搭建的更多相关文章
- Redis 5.0.5集群搭建
Redis 5.0.5集群搭建 一.概述 Redis3.0版本之后支持Cluster. 1.1.redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):s ...
- CDH 6.0.1 集群搭建 「Before install」
从这一篇文章开始会有三篇文章依次介绍集群搭建 「Before install」 「Process」 「After install」 继上一篇使用 docker 部署单机 CDH 的文章,当我们使用 d ...
- kafka系列一、kafka安装及部署、集群搭建
一.环境准备 操作系统:Cent OS 7 Kafka版本:kafka_2.10 Kafka官网下载:请点击 JDK版本:1.8.0_171 zookeeper-3.4.10 二.kafka安装配置 ...
- Hadoop2.0 HA集群搭建步骤
上一次搭建的Hadoop是一个伪分布式的,这次我们做一个用于个人的Hadoop集群(希望对大家搭建集群有所帮助): 集群节点分配: Park01 Zookeeper NameNode (active) ...
- ubuntu18.04 flink-1.9.0 Standalone集群搭建
集群规划 Master JobManager Standby JobManager Task Manager Zookeeper flink01 √ √ flink02 √ √ flink03 √ √ ...
- java_redis3.0.3集群搭建
redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介. 首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面 ...
- Redis 3.0.2集群搭建以及相关问题汇总
Redis3 正式支持了 cluster,是为了解决构建redis集群时的诸多不便 (1)像操作单个redis一样操作key,不用操心key在哪个节点上(2)在线动态添加.删除redis节点,不用停止 ...
- CDH 6.0.1 集群搭建 「After install」
集群搭建完成之后其实还有很多配置工作要做,这里我列举一些我去做的一些. 首先是去把 zk 的角色重新分配一下,不知道是不是我在配置的时候遗漏了什么在启动之后就有报警说目前只能检查到一个节点.去将 zk ...
- redis4.0.6集群搭建
文件环境:CentOS7 + redis4.0.6 先去官网下载redis:https://redis.io/,然后上传到你的虚拟机,我上传到了/mysoft 先解压->然后进入主目录-> ...
- redis3.0.3集群搭建
redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介. 首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面 ...
随机推荐
- java中的static(包括类前面修饰的static、方法前面修饰的static、成员变量前面修饰的static)
static是静态修饰符: 什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个 ...
- 【实战TFS】【QQ群】了解别人是如何使用TFS的
长时间在这个QQ群里面混,了解到其他人是如何使用TFS系统的,也与网友们一起探讨,共同提高,还有分享的大量资料文档. 推荐一下:):)
- C# 实现将多个word文档合并成一个word文档的功能
前段时间项目上遇到这么一个需求,需要将多个OCR识别的word文档合并成一个,于是就在网上找了找,自己修改了一下.在这里跟大家分享一下,希望有用的到的. 要做多word文档合并,首先要导入Micros ...
- .Net core 应用程序发布Web时,有些文件夹没有发布成功解决办法
如果文件是你在项目中手动添加的, 那么在解决方案中右击文件,然后点击属性,文件属性----高级----复制到输出目录----改为始终复制/如果较新则复制 即可.
- DataType 枚举
命名空间: System.ComponentModel.DataAnnotations 成员名称 说明 CreditCard 表示信用卡号码. Currency 表示货币值. Cust ...
- foreach写失效的问题
本文由作者张远道授权网易云社区发布. 坦白讲身为程序员,bug在所难免.有人讲,bug越多,说明程序员越伟大.这句话有它一定的道理. 因为从某方面讲,bug多了说明他的代码量也多. 言归正传,这里我记 ...
- The Beam Model:Stream & Tables翻译(上)
作者:周思华 欢迎访问网易云社区,了解更多网易技术产品运营经验. 本文尝试描述Beam模型和Stream & Table理论间的关系(前者描述于数据流模型论文.the-world-beyond ...
- AGC002F Leftmost Ball
题目传送门 Description \(n\)种颜色的球,每种\(k\)个,\((n,k\leq 2000)\)将\(n\cdot k\)个球排成一排,把每种颜色最左边的那个涂成白色(初始不含白色), ...
- zookeeper链接数导致kafka storm不能正常工作
报错信息: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: org.apache ...
- 如何修改静态IP地址和动态IP地址
打开控制面板,一般在电脑的菜单栏能找到,win8和win10可以使用快捷键(win键+X键),找不到的朋友可以搜索一下. 进入到网络和共享中心,点击更改适配器设置. 这里显示的是电脑所以的网络 ...