ICode9

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

kafka分布式集群的搭建

2020-09-02 18:02:58  阅读:173  来源: 互联网

标签:zookeeper db 192.168 kafka 集群 dev env 分布式


使用ZooKeeper+kafka搭建高可用集群。

1 前提准备

  • ZooKeeper安装包:apache-zookeeper-3.6.1-bin.tar.gz

  • kafka安装包:kafka_2.13-2.6.0.tgz

  • jdk1.8及以上(自行配置环境变量)

  • 假设为三台服务器搭建kafka集群(192.168.12.86、192.168.12.87、192.168.12.88)

2 集群架构

2.1 ZooKeeper集群方案

主机IP消息端口通信端口节点目录
192.168.12.86 2181 2888:3888 /db/dev/env/zookeeper/zk1
192.168.12.87 2181 2888:3888 /db/dev/env/zookeeper/zk2
192.168.12.88 2181 2888:3888 /db/dev/env/zookeeper/zk3

2.2 kafka集群

主机IP集群通信端口节点目录
192.168.12.86 9092 /db/dev/env/kafka/kafkaServer/kafka
192.168.12.87 9092 /db/dev/env/kafka/kafkaServer/kafka
192.168.12.88 9092 /db/dev/env/kafka/kafkaServer/kafka

3 ZooKeeper集群搭建

3.1 解压安装包

[dev@datanode6 zookeeper]$ tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz -C zkServer/

3.2 修改配置文件

配置环境变量命令:

vim /etc/profile

添加后

#zookeeper
export ZOOKEEPER_HOME=/db/dev/env/zookeeper/zkServer/apache-zookeeper-3.6.1-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH

#JDK
export JAVA_HOME=/db/java8
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效:

source /etc/profile

添加zoo.cfg

cd /opt/zookeeper/zookeeper-3.4.13/conf

复制一份zoo_sample.cfg改名为zoo.cfg并添加配置

cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

修改为:

dataDir=/db/dev/env/zookeeper/zkServer/apache-zookeeper-3.6.1-bin

添加:vim zoo.cfg

dataDir=/db/dev/env/zookeeper/zkServer/zkinfo/data/data_1
dataLogDir=/db/dev/env/zookeeper/zkServer/zkinfo/logs/logs_1
server.0=192.168.12.86:2888:3888
server.1=192.168.12.87:2888:3888
server.2=192.168.12.88:2888:3888

添加data文件夹:

[root@hadoop2 zookeeper-3.4.13]# mkdir data

创建myid根据serverip对应填写0 1 2

[root@hadoop2 data]# vim myid

3.3 修改防火墙打开对应端口

(以下命令为centos6 请自行为端口打开防火墙)

vi /etc/sysconfig/iptables 

添加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2181 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2888 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3888 -j ACCEPT

备注:这里使用2181/2888/3888是Zookeeper需要用到的端口号,22端口是用来远程的端口,可以不用添加。一般将需要开放的端口号添加到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效

重启防火墙:

service iptables restart 

3.4 启动 ZooKeeper

zkServer.sh start

查看状态

zkServer.sh status

4 Kafka搭建集群

4.1 请将程序包放到相应的目录下解压操作

cd /kafka/config

vim server.properties
//三个节点都要根据不同的ip 设置broker.id=0 1 2
broker.id=0
delete.topic.enable=true
listeners=PLAINTEXT://192.168.12.8*:9092
log.dirs==/db/dev/env/kafka/kafkaServer/kafkainfo/kafka-logs1
zookeeper.connect=192.168.12.86:2181,192.168.12.87:2181,192.168.12.88:2181
cd bin
./kafka-server-start.sh -daemon ../config/server.properties


jps 后出现
20613 QuorumPeerMain
38582 Kafka

标签:zookeeper,db,192.168,kafka,集群,dev,env,分布式
来源: https://www.cnblogs.com/qiaoliming/p/13603012.html

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

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

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

ICode9版权所有