kafka安装部署

kafka安装部署

 

1、安装jdk

1)创建安装目录

mkdir /usr/local/java

2)解压缩包到安装的目录下

tar -zxvf jdk-8u51-linux-x64.tar.gz -C /usr/local/java/

3)修改环境变量

vim /etc/profile  配置文件中添加如下:

 

export JAVA_HOME=/usr/local/java/jdk1.8.0_51

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export  PATH=${JAVA_HOME}/bin:$PATH

 

生效一下

source /etc/profile

 

4)查看是否安装成功

[root@3p134 java]# java -version

java version "1.8.0_51"

Java(TM) SE Runtime Environment (build 1.8.0_51-b16)

Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

 

2zookeeper安装

 

1)解压

[root@host-172-21-126-15 ~]# cd /ysdata/

[root@host-172-21-126-15 ysdata]# ls

apache-zookeeper  apache-zookeeper-3.7.1-bin.tar.gz  cpu  kafka  kafka_2.12-3.4.0.tgz  pgsql

[root@host-172-21-126-15 ysdata]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz

2)修改配置文件名称

[root@host-172-21-126-15 ysdata]# mv apache-zookeeper-3.7.1 apache-zookeeper

[root@host-172-21-126-15 ysdata]# cd apache-zookeeper/conf/

[root@host-172-21-126-15 ysdata]# mv zoo_sample.cfg zoo.cfg

[root@host-172-21-126-15 ysdata]# vim zoo.cfg  

dataDir=/ysdata/apache-zookeeper/data

 

3修改zookeeper的属主:属组

[root@host-172-21-126-15 ysdata]# chown -R zxadmin:zxadmin apache-zookeeper

 

4)修改环境变量

vim /etc/profile

#zookper                                     

export ZOOKEEPER_HOME=/ysdata/apache-zookeeper

export PATH=$ZOOKEEPER_HOME/bin:$PATH        

 

source /etc/profile     生效一下

 

5启动zookeeper

su - zxadmin

cd /ysdata/apache-zookeeper/bin

zookeeperbin目录 ./zkServer.sh start

 

6查看,用启用进程用户zxadmin进行查看

[zxadmin@host-172-21-126-15 ~]$ jps -m

9745 Jps -m

7627 QuorumPeerMain /ysdata/apache-zookeeper/bin/../conf/zoo.cfg

 

如果能看到QuorumPeerMain进程就说明zookeeper启动成功

注意:如果执行jps命令发现没有QuorumPeerMain进程,则需要到logs目录下去查看zookeeper-*.out这个日志文件

 

查看zookeeper的状态

[zxadmin@host-172-21-126-15 kafka]$ jps -m

11306 Kafka config/server.properties

11435 Jps -m

7627 QuorumPeerMain /ysdata/apache-zookeeper/bin/../conf/zoo.cfg

 

7)本机测试zookeeper

zookeeper的本身的客户端来连接一下

还是在bin下,./zkCli.sh

 

zookeeper 常用的增删改查

 

创建节点zkpro ,节点中添加数据wzh

 

获取zkpro节点下的数据,可以看到刚才的数据wzh

 

修改节点下的数据,wzh改为wzh66666,再次获取/zkpro节点下的数据,发现已经发生了变化

 

三、kafka安装

1、解压

cd /ysdata/

tar -zxvf kafka_2.12-3.4.0.tgz

mv kafka_2.12-3.4.0 kafka

2、修改server.properties文件

vim kafka/config/server.properties

修改目录行

log.dirs=/ysdata/kafka/kafka-logs

zookeeper.connect=localhost:2181   #如果zookeeper也是在本机上的话,这行不用动

3、启动和关闭kafka,启动kafka,进程守护模式启动

启动

cd /ysdata/kafka

bin/kafka-server-start.sh -daemon config/server.properties

关闭

bin/kafka-server-stop.sh

查看启动结果:

[zxadmin@host-172-21-126-15 kafka]$ jps -m

11306 Kafka config/server.properties

11435 Jps -m

7627 QuorumPeerMain /ysdata/apache-zookeeper/bin/../conf/zoo.cfg

 

kafka单机测试

su - zxadmin

cd /ysdata/kafka

创建主题

bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092

Created topic test.

查看主题

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

test

 

xshell打开同时打开两个终端,一个作为生产端,另一个作为消费端

1)打开生产端,用于发送消息

生产消息,出现> 后,你就可以自己随意输入一点消息,比如:1111111 然后回车

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

>111111111

>

然后在另一个窗口消费消息

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

111111111

可以看到生产端自己输入的消息11111111

 

五、Kafka实现内外网都可以连接配置

修改配置文件server.properties

 

vim /ysdata/kafka/config/server.properties

注释掉原来的两行

#listeners=PLAINTEXT://私网地址:9092

#advertised.listeners=PLAINTEXT://公网地址:9092

 

然后增加如下4

listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT

listeners=INTERNAL://172.21.126.15:19092,EXTERNAL://172.21.126.15:9092

advertised.listeners=INTERNAL://172.21.126.15:9092,EXTERNAL://111.202.245.210:9092

inter.broker.listener.name=INTERNAL

 

解释:kafka默认的配置文件listeners=PLAINTEXT://私网地址:9092 配置的是内网地址

advertised.listeners=PLAINTEXT://公网地址:9092   配置的是服务器的公网地址

但是kafka不能同时配置内外网,这样外网连接生产消费还是报错的,为了实现内外网同时都可以使用,所以增加了如上的4

listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT主要分别定义内部和外部连接采用的安全协议
listeners=INTERNAL://<内网IP>:9092,EXTERNAL://0.0.0.0:9093主要是定义内部和外部连接监听的地址端口
advertised.listeners=INTERNAL://<内网IP>:9092,EXTERNAL://<外网IP>:9093主要是提交给zookeeper来实现对kafka内部和外部的连接,最开始改配置只是配置了外部的连接,没有内部的连接,所以对kafka的连接都是通过外部连接。
inter.broker.listener.name=INTERNAL主要是制定kafka集群内部broker之前通过INTERNAL的配置来进行内部通讯

 

结束语:这样配置后,内网使用19092端口,  外网使用公网映射进来,使用9092端口,就可以实现内外网同时使用了。查看端口会发现有2

 

 

本机可以查看一下,查看不报错才行

查看主题

bin/kafka-topics.sh --list --bootstrap-server 172.21.126.15:19092   

内网用19092端口

posted @ 2023-03-13 11:08  辉当凌绝顶  阅读(640)  评论(0编辑  收藏  举报