apache-zookeeper-3.5.8-bin.tar.gz
jdk-8u391-linux-x64.tar.gz
kafka_2.12-3.0.0.tgz
测试服务器一核2GB
服务器 安全组开放端口9092,3888,2181,2888
一、安装JDK
JDK官网下载地址:https://www.oracle.com/java/technologies/downloads/#java18
1、在usr目录下新建Java目录,然后将下载的JDK拷贝到这个新建的Java目录中1
创建目录命令:mkdir /usr/java
2、进入到Java目录中解压下载的JDK
解压命令:tar -zxvf jdk-18_linux-x64_bin.tar.gz
在1主机上,将安装包分发到其他机器
scp -r /opt/jdk1.8/ node2:/opt/
3、设置环境变量
设置命令:vim /etc/profile
输入上面的命令后,shift+g快速将光标定位到最后一行,然后按“i”,再输入下面代码
#set java environment
JAVA_HOME=/opt/jdk1.8
CLASSPATH=$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export PHTH JAVA_HOME CLASSPATH
#zookeeper
export ZOOKEEPER_HOME=/opt/zookeeper-3.5.8
export PATH=:$ZOOKEEPER_HOME/bin:$PATH
#KAFKA_HOME
export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin
填写完代码后按ESC键,输入“:wq”保存并退出编辑页面
4、输入下面命令让设置的环境变量生效
生效命令:source /etc/profile
5、验证JDK是否安装成功java
验证命令:Java -version
二、安装Zookeeper
Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台server组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。
Zookeeper运行需要java环境,所以需要提前安装jdk。对于安装leader+follower模式的集群,大致过程如下:
配置主机名称到IP地址映射配置
修改ZooKeeper配置文件
远程复制分发安装文件
设置myid
启动ZooKeeper集群
如果要想使用Observer模式,可在对应节点的配置文件添加如下配置:
peerType=observer
其次,必须在配置文件指定哪些节点被指定为Observer,如:
server.1:node1:2181:3181:observer
其次,必须在配置文件指定哪些节点被指定为 Observer,如:
server.1:localhost:2181:3181:observer
这里,我们安装的是leader+follower模式
服务器IP
主机名 myid的值
第一步:下载zookeeeper的压缩包,下载网址如下
我们在这个网址下载我们使用的zk版本为3.5.8
下载完成之后,上传到我们的linux的/opt路径下准备进行安装
第二步:解压
在node1主机上,解压zookeeper的压缩包到/opt路径下去,然后准备进行安装
tar -zxvf zookeeper-3.5.8.tar.gz
第三步:修改配置文件
在node1主机上,修改配置文件
cd /zookeeper-3.5.8/conf/
cp zoo_sample.cfg zoo.cfg
mkdir /opt/zookeeper-3.5.8/zkdatas
vim zoo.cfg
修改以下内容
#Zookeeper的数据存放目录
dataDir=/opt/zookeeper-3.5.8/zkdatas
# 保留多少个快照
autopurge.snapRetainCount=3
# 日志多少小时清理一次
autopurge.purgeInterval=1
# 集群中服务器地址
#当前服务器的ip设置为0.0.0.0
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
第四步:添加myid配置
在node1主机的/opt/zookeeper-3.5.8/data/这个路径下创建一个文件,文件名为myid ,文件内容为1
vim myid
echo 1 > /opt/zookeeper/data//myid
第五步:安装包分发并修改myid的值
在node1主机上,将安装包分发到其他机器
第一台机器上面执行以下两个命令
scp -r /opt/zookeeper-3.5.8/ node2:/opt/
scp -r /opt/zookeeper-3.5.8/ node3:/opt/
第二台机器上修改myid的值为2
修改配置文件中的server ip,当前服务器的ip设置为0.0.0.0
echo 2 > /export/server/zookeeper-3.5.8/data/myid
第三台机器上修改myid的值为3
修改配置文件中的server ip,当前服务器的ip设置为0.0.0.0
echo 3 > /export/server/zookeeper-3.5.8/data/myid
第六步:三台机器启动zookeeper服务
三台机器分别启动zookeeper服务
这个命令三台机器都要执行
/opt/zookeeper-3.5.8/bin/zkServer.sh start
三台主机分别查看启动状态
/opt/zookeeper-3.5.8/bin/zkServer.sh status
配置Path环境变量
1:分别在三台中,修改/etc/proflie,添加以下内容
export ZOOKEEPER_HOME=/export/server/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin:$PATH
2:分别在三台主机中,source /etc/profile
切记:必须source,不然不生效
# 启动服务
./zkServer.sh start
# 查看状态
./zkServer.sh status
# 停止服务
./zkServer.sh stop
# 重启服务
./zkServer.sh restart
#! /bin/bash
case $1 in
"start"){
for i in 123.249.80.174 123.249.6.143 120.46.45.204
do
echo " --------启动 $i zookeeper-------"
ssh $i "source /etc/profile && /opt/zookeeper-3.5.8/bin/zkServer.sh start"
done
};;
"stop"){
for i in 123.249.80.174 123.249.6.143 120.46.45.204
do
echo " --------停止 $i zookeeper-------"
ssh $i "source /etc/profile && /opt/zookeeper-3.5.8/bin/zkServer.sh stop"
done
};;
"status"){
for i in 123.249.80.174 123.249.6.143 120.46.45.204
do
echo " --------查看 $i zookeeper-------"
ssh $i "source /etc/profile && /opt/zookeeper-3.5.8/bin/zkServer.sh status"
done
};;
esac
三、安装Kafka
#例:假如服务器对外访问的ip为123.44.55.66 内网地址为10.20.30.153
listeners=PLAINTEXT://10.20.30.153:9092
advertised.listeners=PLAINTEXT://123.44.55.66:9092
原文链接:https://blog.csdn.net/weixin_44943959/article/details/123236738
通过jps命令查看运行的情况
您可以使用以下步骤重启kafka:
1. 停止kafka服务:使用以下命令停止kafka服务:
bin/kafka-server-stop.sh
2. 如果kafka服务没有停止,则使用以下命令终止进程:
kill -9 `ps ax | grep -i 'kafka' | grep -v grep | awk '{print $1}'`
3. 启动kafka服务:使用以下命令启动kafka服务:
bin/kafka-topics.sh --bootstrap-server 123.44.55.66:9092 --list
创建 first topic
bin/kafka-topics.sh --bootstrap-server 123.44.55.66:9092 --create --partitions 1 --replication-factor 3 --topic first
查看 first 主题的详情
bin/kafka-topics.sh --bootstrap-server 123.44.55.66:9092 --describe --topic first
修改分区数(注意:分区数只能增加,不能减少)
bin/kafka-topics.sh --bootstrap-server 123.44.55.66:9092 --alter --topic first --partitions 3
再次查看 first 主题的详情
bin/kafka-console-producer.sh --bootstrap-server 123.44.55.66:9092 --topic first