首页 > 其他分享 >kafka安装部署

kafka安装部署

时间:2023-03-13 11:24:26浏览次数:53  
标签:bin 部署 zookeeper 9092 kafka ysdata server 安装

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

相关文章

  • Jenkins插件管理(Manager Plugins)【快速提升项目构建和部署实施的工作效率】
    Jenkins是一个很棒的开源自动化平台。它有一些开箱即用的强大功能。然而,在我看来,让它脱颖而出的是它的社区和它开发的插件。有超过一千个插件可用于支持几乎所有用于构......
  • 群晖提示无法安装此文件问题解决
    安装群晖的时候你可能会碰到如下情况:群晖安装DSM的时候提示:“无法安装此文件,文件可能已经毁损。(13)”还是讨厌的红色其实是U盘引导没有修改VID所致,用ChipGenius芯片精灵......
  • windows部署vue项目:nginx
    一点废话:vue部署这个事儿原本是打算写上下两篇的,上篇nginx下篇tomcat,很完美。奈何笔者太菜tomcat还没学会,只好附点使用记录,等实操过了再来补全。在此立个flag,期待一下我薛......
  • 利用pip/conda安装库时,出现requires XXX, which is not installed/incompatible
    出现以下提示警告时step1step2step3总结利用pip/conda安装库时,出现requiresXXX,whichisnotinstalled/incompatible依次执行安装所缺的库即可(如有版本对应......
  • gerrit部署使用
    前言gerrit是基于git的工具,codereview功能是开发中很方便,此外它可以配合Jenkins进行自动化的编译工作。今天给大家分享一下gerrit在ubuntu的安装使用作者:良知犹存转载......
  • 在centos 7如何安装python3.10
    一、背景centos7安装后自带了python2.7但是版本很老需要升级到3.10具体思路:前置条件1、先升级CentOS7升级OpenSSL原因:CentOS7的yum仓库中,OpenSSL的版本为OpenSSL1.0.2k-fi......
  • 【云原生】k8s 环境快速部署(一小时以内部署完)
    目录1)基于ansible一键部署k8s流程图2)安装ansible3)下载4)修改配置1、修改节点信息,配置文件:/etc/ansible/hosts2、修改install-k8s/init/templates/hosts5)导镜像5)执行部署6)......
  • 如何在CentOS 7安装Pip
    Python3安装pip要在CentOS7安装pip3,请以root或具有sudo权限的用户在终端中运行命令sudoyuminstallpython3-devel安装python3的PIP。命令将会安装构建Python包依赖......
  • oracledb_exporter部署
    oracledb_exporter服务端口:9161部署1.下载安装包并解压安装包:oracledb_exporter.0.2.8-ora18.5.linux-amd64.tar.gz解压:tar-zxvforacledb_exporter.0.2.8-ora18.5.......
  • 十、openGauss安装用户和用户组
    一、概述为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护o......