马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、搭建zk和kafka集群
ZooKeeper 是一个分布式和谐服务,主要用于办理分布式系统中的一致性、配置管理、向导者选举、分布式锁等题目。它像分布式系统的“电话簿”或“管理员”,帮助各个节点协同工作,确保系统的高可用性和一致性。
搭建zk集群
1、下载zk的安装包,比方:apache-zookeeper-3.8.4-bin.tar.gz
2、将安装包上传并解压到/usr/local目录
3、创建目录生存zk的数据和日志 ,mkdir /usr/local/apache-zookeeper-3.8.4-bin/{datas, logs}
4、修改配置,重定名 mv /usr/local/apache-zookeeper-3.8.4-bin/conf/zoo_sample.cfg /usr/local/apache-zookeeper-3.8.4-bin/conf/zoo.cfg
改配置 zoo.cfg
- # 心跳时间间隔(单位:毫秒)
- tickTime=2000
-
- # 集群初始化超时(tickTime倍数)
- initLimit=10
-
- # 数据同步超时(tickTime倍数)
- syncLimit=5
-
- # 内存快照目录
- dataDir=/usr/local/apache-zookeeper-3.8.4-bin/datas
-
- # 事务日志
目录 - dataLogDir=/usr/local/apache-zookeeper-3.8.4-bin/logs
-
- # 客户端连接端口
- clientPort=2181
-
- # 集群节点列表
- server.100=192.168.1.100:2888:3888
- server.101=192.168.1.101:2888:3888
- server.102=192.168.1.102:2888:3888
复制代码 节点拷贝
scp -r /usr/locak/apache-zookeeper-3.8.4-bin root@ip:/usr/local/apache-zookeeper-3.8.4-bin
创建myid
每个zk节点dataDir指定目录中都需要创建一个名为myid的文件,其内容为上述配置文件中server.X的X值
- tee /usr/local/apache-zookeeper-3.8.4-bin/datas/myid <<-'EOF'
- 100
- EOF
复制代码 开启端口
firewall-cmd --zone=public --add-port=2181/tcp --add-port=2888/tcp --add-port=3888 --permanent
启动/关闭/状态节点
/usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh start
- tee /usr/local/apache-zookeeper-3.8.4-bin/zkStart.sh <<-'EOF'
- #! /bin/bash
- echo "zookeeper start 100, 101, 102"
- ssh 192.168.1.100 "source /usr/local/apache-zookeeper-3.8.4-bin/zkStart.sh start"
- ssh 192.168.1.101 "source /usr/local/apache-zookeeper-3.8.4-bin/zkStart.sh start"
- ssh 192.168.1.102 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh start"
- EOF
-
- tee /usr/local/apache-zookeeper-3.8.4-bin/zkStop.sh <<-'EOF'
- #! /bin/bash
- echo "zookeeper start 100, 101, 102"
- ssh 192.168.1.100 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh stop"
- ssh 192.168.1.101 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh stop"
- ssh 192.168.1.102 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh stop"
- EOF
-
- tee /usr/local/apache-zookeeper-3.8.4-bin/zkStatus.sh <<-'EOF'
- #! /bin/bash
- echo "zookeeper start 100, 101, 102"
- ssh 192.168.1.100 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh status"
- ssh 192.168.1.101 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh status"
- ssh 192.168.1.102 "source /usr/local/apache-zookeeper-3.8.4-bin/zkServer.sh status"
- EOF
复制代码 设置权限
- chmod +x /usr/local/apache-zookeeper-3.8.4-bin/zkStart.sh
-
- chmod +x /usr/local/apache-zookeeper-3.8.4-bin/zkStop.sh
-
- chmod +x /usr/local/apache-zookeeper-3.8.4-bin/zkStatus.sh
复制代码 执行文件
/usr/local/apache-zookeeper-3.8.4-bin/zkStart.sh
访问节点
/usr/local/apache-zookeeper-3.8.4-bin/zkCli.sh -server 192.168.1.100:2181
搭建kafka集群
下载kafka安装包,比方kafka_2.12.3.7.0.tgz
解压到所有节点/usr/local路径下
创建logs文件,生存日志
mkdir /usr/local/kafka_2.12-3.7.0/logs
修改配置,/usr/local/kafka_2.12-3.7.0/config/server.properties
- tee /usr/local/=kafka_2.12-3.7.0/config/server.properties <<-'EOF'
- # 同一kafka集群下broker.id必须不同
- broker.id=1
- advertised.listeners=PLAINTEXT://192.168.1.100:9092
- log.dirs=/usr/local/kafka_2.12-3.7.0/logs
- zookeeper.connect=192.168.1.100:2181,192.168.1.101:2181,192.168.1.102:2181
- EOF
复制代码 情况变量
- tee -a /etc/profile <<-'EOF'
- export KAFKA_HOME=/usr/local/kafka_2.12-3.7.0
- export PATH=$PATH:$KAFKA_HOME/bin
- EOF
复制代码 开放端口
- firewall-cmd --zone=public --add-port=9092/tcp --parmanent
- firewall-cmd --reload
复制代码 启动节点
启动zk:/usr/local/apache-zookeeper-3.8.4-bin/bin/zkStart.sh
逐个启动kafka节点:kafka-server-start.sh $KAFKA_HOME/config/server.properties
|