大数据学习记录。
- 【大数据】虚拟机Fusion初始化系统CentOS9
- 【大数据】Hadoop安装与配置
- 【大数据】Flink安装与配置
1. 软件安装
官网下载 kafka 和 zookeeper。
- kafka_2.12-3.8.1.tgz
- apache-zookeeper-3.8.4-bin.tar.gz
将上面的包下载后传到 hadoop102 下的/opt/software
下。解压到/opt/module
下。
1 2 3
| cd /opt/software/ tar -zxf kafka_2.12-3.8.1.tgz -C /opt/module/ tar -zxf apache-zookeeper-3.8.4-bin.tar.gz -C /opt/module/
|
软件分发到其他节点。
1 2
| xsync /opt/module/kafka_2.12-3.8.1 xsync /opt/module/zookeeper-3.8.4
|
2. 配置
2.1 zookeeper 配置
配置服务器编号。
到zk的home目录下,创建zkData
目录。
1 2
| cd /opt/module/zookeeper-3.8.4 mkdir zkData
|
在该zkData
目录下,创建myid
文件,内容如下
修改zk的配置文件,到conf目录下,拷贝zoo_simple.cfg到当前目录,名为zoo.cfg。
1
| cp zoo_simple.cfg zoo.cfg
|
编辑zoo.cfg
文件,做如下修改。
1 2 3 4 5 6 7 8 9 10 11 12 13
| # 修改 dataDir=/opt/module/zookeeper-3.8.4/zkData
# 追加 server.1=hadoop102:2888:3888 server.2=hadoop103:2888:3888 server.3=hadoop104:2888:3888
# server.A=B.C.D # A 是一个数字 表示这是第号服务器 myid中的值 # B 是 A 服务器的主机名 # C 是 A 服务器与集群中的主服务器(Leader)交换信息的端口 # D 是 A 服务器用于主服务器(Leader)选举的端口
|
分发配置,后修改每台服务器的myid,我的三台机器对应关系如下。
1 2 3
| hadoop102 -> 1 hadoop103 -> 2 hadoop104 -> 3
|
2.2 zookeeper 起停
使用bin/zkServer.sh
进行起停
1 2 3
| bin/zkServer.sh start bin/zkServer.sh stop bin/zkServer.sh status
|
起停脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #!/bin/bash
if [ $# -lt 1 ] then echo "No Args Input" exit; fi
case $1 in "start") { for i in hadoop102 hadoop103 hadoop104 do echo ---------------------- zk $i 启动 --------------------------- ssh $i "/opt/module/zookeeper-3.8.4/bin/zkServer.sh start" done } ;; "stop") { for i in hadoop102 hadoop103 hadoop104 do echo ---------------------- zk $i 停止 --------------------------- ssh $i "/opt/module/zookeeper-3.8.4/bin/zkServer.sh stop" done } ;; "status") { for i in hadoop102 hadoop103 hadoop104 do echo ---------------------- zk $i 状态 --------------------------- ssh $i "/opt/module/zookeeper-3.8.4/bin/zkServer.sh status" done } ;; *) echo "Input Args Error" ;; esac
|
2.3 kafka 配置
到kafka的home目录下,修改config/server.properties
文件。
1 2 3 4
| broker.id=1 advertised.listeners=PLAINTEXT://hadoop102:9092 log.dirs=/opt/module/kafka_2.12-3.8.1/data zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
|
分发配置,到每个节点修改config/server.properties
文件中的broker.id
和advertised.listeners
,对应关系如下。
1 2 3 4 5 6 7 8 9
| hadoop102 - broker.id=1 - advertised.listeners=PLAINTEXT://hadoop102:9092 hadoop103 - broker.id=2 - advertised.listeners=PLAINTEXT://hadoop103:9092 hadoop104 - broker.id=3 - advertised.listeners=PLAINTEXT://hadoop104:9092
|
2.4 kafka 起停
kafka要依赖zk,所以在在启动kafka之前要先启动zk。
kafka的起停命令。
1 2 3 4
| bin/kafka-server-start.sh -daemon /opt/module/kafka_2.12-3.8.1/config/server.properties
bin/kafka-server-stop.sh
|
起停脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!/bin/bash
if [ $# -lt 1 ] then echo "No Args Input" exit; fi
case $1 in "start") { for i in hadoop102 hadoop103 hadoop104 do echo ---------------------- kafka $i 启动 --------------------------- ssh $i "/opt/module/kafka_2.12-3.8.1/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.12-3.8.1/config/server.properties" done } ;; "stop") { for i in hadoop102 hadoop103 hadoop104 do echo ---------------------- kafka $i 停止 --------------------------- ssh $i "/opt/module/kafka_2.12-3.8.1/bin/kafka-server-stop.sh" done } ;; *) echo "Input Args Error" ;; esac
|