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)
2、zookeeper安装
(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
在zookeeper的bin目录 ./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端口
标签:bin,部署,zookeeper,9092,kafka,ysdata,server,安装 From: https://www.cnblogs.com/wzh19820101/p/17210672.html