ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

集群部署

2020-03-16 16:03:36  阅读:241  来源: 互联网

标签:机器 部署 三台 zookeeper kafka 集群 id leader


ZooKeeper和Kafka集群部署

ZooKeeper集群部署

准备三台机器搭建集群,所有命令都在三台机器上运行

基础环境配置

主机名配置

# hostnamectl set-hostname zookeeper1

# hostnamectl set-hostname zookeeper2

# hostnamectl set-hostname zookeeper3

# bash    重启生效

配置文件

三台机器修改

# vi /etc/hosts

搭建集群

安装环境

三台机器安装JDK环境

# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

查看java版本

# java -version

解压软件包 

将zookeeper压缩包上传到三台机器的/root目录,进行解压

# tar -zxvf zookeeper-3.4.14.tar.gz

修改配置文件

修改三台机器的配置文件

# cd zookeeper-3.4.14/conf 

# mv zoo_sample.cfg zoo.cfg

在文件最后加入三行

# vi zoo.cfg

initLimit:ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间

syncLimit:配置follower和leader之间发送消息,请求和应答的最大时间长度

tickTime:tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒

server.id=host:port1:port2:其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口

dataDir:其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id

创建myid文件

在三台机器上创建myid文件

# mkdir /tmp/zookeeper

# vi /tmp/zookeeper/myid

文件里的数字为zoo.cfg的指定值,第二台机器为2,第三台为3

启动服务

关闭三台机器的防火墙

# systemctl stop firewalld

启动zookeeper服务

# cd zookeeper-3.4.14/bin 

# ./zkServer.sh start

查看启动状态

# ./zkServer.sh status

两台机器为follower,一台为leader

Kafka集群部署 

kafka服务依赖于zookeeper服务。所以用搭建过zookeeper集群的三台机器进行构建kafka集群。所有命令都在三台机器上运行

搭建集群

解压软件包

将kafka压缩包上传到三台机器的/root目录,进行解压

# tar -zxvf kafka_2.11-1.1.1.tgz

修改配置文件

在三台机器上修改配置文件

# cd kafka_2.11-1.1.1/config

# vi server.properties

将配置文件中以下两行注释掉(在文本前加#)

#broker.id=0

#zookeeper.connect=localhost:2181

在文件底部添加配置

第一台机器

第二台机器

第三台机器

broker.id:每台机器不能一样

zookeeper.connect:有3台ZooKeeper服务器

listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误。

启动服务

在三台机器上启动服务

# cd kafka_2.11-1.1.1/bin

# ./kafka-server-start.sh -daemon ../config/server.properties

查看服务

# jps

第一台机器

第二台机器

第三台机器

测试服务 

# cd kafka_2.11-1.1.1/bin

在第一台机器创建topic命令

# ./kafka-topics.sh --create --zookeeper 192.168.37.12:2181 --replication-factor 1 --partitions 1 --topic test

成功输出“Created topic "test"

在第二台和第三台机器分别测试查看topic

# ./kafka-topics.sh --list --zookeeper 192.168.37.13:2181

# ./kafka-topics.sh --list --zookeeper 192.168.37.14:2181

成功输出test

 

标签:机器,部署,三台,zookeeper,kafka,集群,id,leader
来源: https://www.cnblogs.com/tui463/p/12504436.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有