kafka利用自带的zookeeper进行集群部署
一、前提条件
1、部署Kafka集群搭建需要服务器至少3台,奇数台
2、Kafka的安装需要java环境,jdk1.8
3、Kafka安装包版本:https://mirror-hk.koddos.net/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
4、3台机器增加host配置:
192.168.202.129 kafka-1.local
192.168.202.130 kafka-2.local
192.168.202.131 kafka-3.local
二、Zookeeper集群搭建
直接使用kafka自带的zookeeper建立zk集群
1、将安装包 kafka_2.13-2.7.0.tgz 上传到/opt 目录下
2、解压:tar -zxvf kafka_2.13-2.7.0.tgz
3、进入目录:cd /opt/kafka_2.13-2.7.0/
4、创建zookeeper目录:mkdir zk_kfk_data
5、进入目录:cd /opt/kafka_2.13-2.7.0/config
6、修改zookeeper.properties文件:
dataDir=/opt/kafka_2.13-2.7.0/zk_kfk_datatickTime=2000
initLimit=10
syncLimit=5server.1=kafka-1.local:2888:3888
server.2=kafka-2.local:2888:3888
server.3=kafka-3.local:2888:3888
三台机器上的zookeeper.properties文件配置相同,data.Dir 为zk的数据目录,server.1、server.2、server.3 为集群信息。
2888端口号是zookeeper服务之间通信的端口
3888端口是zookeeper与其他应用程序通信的端口。
tickTime:CS通信心跳数
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
tickTime以毫秒为单位。
tickTime:该参数用来定义心跳的间隔时间,zookeeper的客户端和服务端之间也有和web开发里类似的session的概念,而zookeeper里最小的session过期时间就是tickTime的两倍。
initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)
syncLimit:LF同步通信时限
集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)
7、创建myid文件:进入/opt/kafka_2.13-2.7.0/zk_kfk_data目录,创建myid文件,将三台服务器上的myid文件分别写入1,2,3。myid是zookeeper集群用来发现彼此的标识,必须创建,且不能相同。
8、执行启动zookeeper命令:
nohup /opt/kafka_2.13-2.7.0/bin/zookeeper-server-start.sh /opt/kafka_2.13-2.7.0/config/zookeeper.properties > /opt/kafka_2.13-2.7.0/zookeeper.log 2>&1 &
三台机器都执行启动命令,查看zookeeper的日志文件,没有报错就说明zookeeper集群启动成功了。
三、Kafka集群搭建
1、进入目录:cd /opt/kafka_2.13-2.7.0/
2、创建kafka日志数据目录:mkdir kafka-logs-1
3、进入目录:cd /opt/kafka_2.13-2.7.0/config
4、修改server.properties配置文件:
//用于区分broker,必须唯一,每台机器只需要一个broker.id
//机器A
broker.id=0
//机器B
broker.id=1
//机器C
broker.id=2//PLAINTEXT表示协议,配置本机IP地址
listeners=PLAINTEXT://kafka-1.local:9092
//PLAINTEXT表示协议,配置本机IP地址,对外公布
advertised.listeners=PLAINTEXT://kafka-2.local:9092
//配置zookeeper的地址,zookeeper集群地址以逗号隔开
zookeeper.connect=kafka-1.local:2181,kafka-2.local:2181,kafka-3.local:2181
//配置数据存放目录
log.dirs=/opt/kafka_2.13-2.7.0/kafka-logs-1
5、配置其他2台机器,注意服务器地址修改
6、 启动kafka集群:
nohup /opt/kafka_2.13-2.7.0/bin/kafka-server-start.sh /opt/kafka_2.13-2.7.0/config/server.properties > /opt/kafka_2.13-2.7.0/kafka.log 2>&1 &
三个节点均要启动;启动无报错,即搭建成功,注意:配置的时候尽量使用绑定的host,而不是直接IP
四、测试Kafka集群
//创建topic,--replication-factor指定副本个数,--partitions指定分区个数
/opt/kafka_2.13-2.7.0/bin/kafka-topics.sh --create --zookeeper kafka-1.local:2181,kafka-2.local:2181,kafka-3.local:2181 --replication-factor 1 --partitions 1 --topic test//查看所有的topic信息
/opt/kafka_2.13-2.7.0/bin/kafka-topics.sh --list --zookeeper kafka-1.local:2181//启动生产者
/opt/kafka_2.13-2.7.0/bin/kafka-console-producer.sh --broker-list kafka-1.local:9092,kafka-2.local:9092,kafka-3.local:9092 --topic test
> hello world 1
> hello world 2
> hello world 3//启动消费者
/opt/kafka_2.13-2.7.0/bin/kafka-console-consumer.sh --bootstrap-server kafka-1.local:9092,kafka-2.local:9092,kafka-3.local:9092 --topic test --from-beginning//删除topic
/opt/kafka_2.13-2.7.0/bin/kafka-topics.sh --delete --zookeeper kafka-1.local:2181 --topic test
kafka利用自带的zookeeper进行集群部署相关推荐
- 利用memcached实现CAS单点登录集群部署
前言:利用memcached实现CAS单点登录集群部署 负载均衡: 将接口请求的有状态性变成无状态性.是我们在实现负载均衡时必要要解决的问题.以应用接口的session状态为例,一般解决方法都是将se ...
- zookeeper伪集群部署
zookeeper 伪集群安装 Time : 20181024 环境 centos7 zookeeper-3.4.6 zookeerper安装启动 将下载好的zookeeper-3.4.6.tar通过 ...
- Dubbo与Zookeeper伪集群部署
1.美图 官网:http://dubbo.apache.org/#!/docs/user/preface/background.md?lang=zh-cn 1.准备Zookeeper zookeepe ...
- linux solrcloud zookeeper分布式集群部署
SolrCloud 通过 ZooKeeper 集群来进行协调,使一个索引进行分片,各个分片可以分布在不同的物理节点上,多个物理分片组成一个完成的索引 Collection.SolrCloud 自动支持 ...
- Zookeeper分布式集群部署
一.官方网站下载zookeeper-3.4.5:http://www.apache.org/dyn/closer.cgi/zookeeper/ 二.将下载得到的zookeeper-3.4.5.tar. ...
- zookeeper centos7 集群部署
配置描述: 服务器:CentOS Linux release 7.4.1708 (Core) * 3台 Zk版本: zookeeper-3.4.14 JDK版本:java version 1.8.0_ ...
- Elasitcsearch 带密码及ssl集群部署
首先批量部署基础服务,可参照ansible-playbook脚本 install_es.yml --- - name: install elasticsearchhosts: "{{ ip ...
- zookeeper的单实例和伪集群部署
原文链接: http://gudaoyufu.com/?p=1395 zookeeper工作方式 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现 ...
- zookeeper+kafka集群部署+storm集群
zookeeper+kafka集群部署+storm集群 一.环境安装前准备: 准备三台机器 操作系统:centos6.8 jdk:jdk-8u111-linux-x64.gz zookeeper:zo ...
最新文章
- 给大家提供一些面试常问的问题
- JQuery------鼠标双击时,不选中div里面的文字
- windows下统一mysql编码_mysql5.7 windows7编码统一utf-8
- QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入
- 基于JAVA+SpringBoot+Mybatis+MYSQL的仿天猫商城
- 什么是DevSecOps?
- 日照百分率建模及模拟
- 用简单直白的方式讲解A星寻路算法原理
- CSS3魔法堂:说说Multi-column Layout
- kaggle数据集下载
- 考研复试常见问题(数据库系统概论篇)
- 崂山道士、Harry Potter和人脸识别
- html如何将搜索图标放入搜索框中
- java文件在浏览器下载和预览
- 计算机屏幕黑屏让程序继续允许,电脑软件让对方黑屏
- 四足机器人|机器狗|仿生机器人|多足机器人|MATLAB动画仿真|Simulink动画仿真
- 3第三课:区块链的激励机制
- 卷积核——Roberts、Prewitt、Sobel、Lapacian、DoG、LoG算子
- 吴佳怡最新街拍曝光 潮酷girl演绎初秋时尚
- 多方寻路RFID酝酿突围