搭建服务相关软件下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html //官网地址,找自己相关需要的版本下载!我的网盘链接 提取码:a0ue

1.JDK安装:

1-1:
将下载好的jdk上传到服务可以在服务器上安装 yum -y install lrzsz ,就可以使用xhell直接拖了

mkdir /opt/JDK					//创建目录
tar -xvf jdk-8u231-linux-x64.tar.gz -C /opt/JDK/			//指定解压tar包
ls /opt/JDK/			//查看确认是否解压成功

1-2:配置环境变量:

vi /etc/profile

在文件的末尾添加下面脚本,根据自己jdk安装位置修改:

export JAVA_HOME=/opt/JDK/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

1-3:重启配置文件

[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

这样jdk就安装完毕!准备工作完成一步,下面进行搭建zookeeper集群!

**

2.安装部署zookeeper集群

**
2-1:准备工作:
下载zookeeper源码包:
1.wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 2.我的网盘链接 提取码:a0ue

mkdir /opt/zookeeper
cd /opt/zookeeper
tar -xvf zookeeper-3.4.14.tar.gz  -C /opt/zookeeper/

2-2:创建集群目录,此处创建三节点,master(主)、slave1、slave2,并将解压好的文件移动到各个节点

mkdir -p master slave1 slave2
cp -rf zookeeper-3.4.14/* master
cp -rf zookeeper-3.4.14/* slave1
cp -rf zookeeper-3.4.14/* slave2

2-3:配置zk配置信息
将zoo_sample覆盖为zoo,并复制到各个节点

[root@localhost zookeeper]# mv master/conf/zoo_sample.cfg  master/conf/zoo.cfg 
[root@localhost zookeeper]# ls master/conf/
configuration.xsl  log4j.properties  zoo.cfg

2-4:修改配置如下:

vi master/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/master/tmp
clientPort=2181
dataLogDir=/opt/zookeeper/master/datalog

server.0=localhost:2888:3888
server.1=localhost:2889:3889
server.2=localhost:2890:3890
cp master/conf/zoo.cfg  slave1/conf/
cp master/conf/zoo.cfg  slave2/conf/
sed -i "s/clientPort=2181/clientPort=2182/" slave1/conf/zoo.cf
sed -i "s/clientPort=2181/clientPort=2183/" slave2/conf/zoo.cf
sed -i "s/master/slave1/" /opt/zookeeper/slave1/conf/zoo.cfg 
sed -i "s/master/slave2/" /opt/zookeeper/slave2/conf/zoo.cfg

将master、slave1、slave2对应的zoo.cfg中clientPort分别修改为2181、2182、2183,dataDir修改好、dataLogDir创建好。

然后再对应的dataDir目录下创建myid文件如下(注意0/1/2要对应上面的server.0/1/2):

cd /opt/zookeeper/master/ && mkdir datalog tmp
cd /opt/zookeeper/slave1/ && mkdir datalog tmp
cd /opt/zookeeper/slave2/ && mkdir datalog tmp
cd  /opt/zookeeper/master/tmp/ && echo "0" > myid && echo "1" > /opt/zookeeper/slave1/tmp/myid && echo "2" > /opt/zookeeper/slave2/tmp/myid

2-5:启动zookeeper三个节点:
嘿嘿:制作启动脚本啊!

vim /opt/start.sh
#!/bin/bash
#zookeeper启动命令集
/opt/zookeeper/master/bin/zkServer.sh start
/opt/zookeeper/slave1/bin/zkServer.sh start
/opt/zookeeper/slave2/bin/zkServer.sh start

chmod +x start.sh//授权

/opt/start.sh//启动zookeeper服务

ss -antplu //查看端口

KafkaRecordSerializationSchema如何加入key_jdk

3:部署kafka

3-1:下载kafka

  1. wget http://mirror.bit.edu.cn/apache/kafka/2.2.1/kafka_2.11-2.2.1.tgz 2.我的网盘链接 提取码:a0ue
tar -xvf  kafka_2.11-2.2.1.tgz  -C /opt/
mv /opt/kafka_2.11-2.2.1/ /opt/kafka2.11
cd  /opt/kafka2.1

2-2:启动kafka:

nohup /opt/kafka2.11/bin/kafka-server-start.sh config/server.properties &

2-3:创建topic

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

Created topic test.//系统显示已创建topic

2-4:测试一下topic啊!

查看topic

/opt/kafka2.11/bin/kafka-topics.sh --list --zookeeper localhost:2181

查看default-group堆积情况

/opt/kafka2.11/bin/kafka-consumer-groups.sh --bootstrap-server master:9092 --describe --group default-group

它这里会执行失败,是一个坑,我们下面解决,暂时不理会它

2-5:开启2个页面:进行测试一下kafka:
使用kafka-console-producer.sh 发送消息

/opt/kafka2.11/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

使用kafka-console-consumer.sh消费消息

/opt/kafka2.11/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

这里测试完毕发现kafka能正常使用了,但是它只能在本地使用,就像上面我们遇到的哪个坑,我们现在来填:

为了使外部能访问kafka,我们需要去修改config/server.properties 配置文件,改好的文件在下方,看各自的需求在次更改:

vim /opt/kafka2.11/config/server.properties
###集群中唯一
broker.id=0  
####本地ip:端口
listeners=PLAINTEXT://192.168.1.32:9092   #修改成你自己装kafka服务器的ip地址
num.network.threads=3
num.io.threads=8

socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs

#### 一个topic的partition个数
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

##### 每个partition的副本
replication.factor=2
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
####zookeeper集群.
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
########可删除topic
delete.topic.enable=true

嘿嘿可选!安装图形可视化工具!

下载地址:http://www.kafkatool.com/download.html