首页 > 其他分享 >Kafka集群安装/使用

Kafka集群安装/使用

时间:2023-07-30 13:33:12浏览次数:49  
标签:bin eagle -- server kafka 集群 Kafka 安装

一.介绍

Kafka是Apache旗下的一款分布式流媒体平台,Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。 它最初由LinkedIn(领英)公司发布,使用Scala语言编写,与2010年12月份开源,成为Apache的顶级子项目。 它主要用于处理消费者规模网站中的所有动作流数据。动作指(网页浏览、搜索和其它用户行动所产生的数据)。

它由 消费者,生产者和broker组成,kafka可以将数据存储在日志文件中让消息能够多次消费

二.对比

Kafka集群安装/使用_kafka

三.安装

1.依赖

本教程是基于你已经安装了 java,scala,zk

2.安装

1.步骤:

  • 1.下载kafka
  • 2.解压并安装
  • 3.配置环境变量
  • 4.修改bin/kafka-server-start.sh
  • 5.修改config/server.properties
  • 6.复制到其他机器
  • 7.在集群集群重复【3,5】步骤
  • 8.启动

跟着尝试一下吧

1.kafka下载/安装

# 前往https://kafka.apache.org/downloads 下载对应的版本,上传到服务器/opt/kafka
tar zxfv kafka_2.12-3.1.0.tgz #解压kafka
mv kafka_2.12-3.1.0 kafka #(可选)改不改名字都可以

2.kafka环境变量

vim /etc/profile #配置环境变量
		export KAFKA_HOME=/opt/kafka
		export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile #刷新配置

3.修改启动脚本 bin/kafka-server-start.sh

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1g -Xms256m -Xmn256m -Xss128m -XX:+DisableExplicitGC -XX:SurvivorRatio=8 -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
    export JMX_PORT="9900"
fi

4.修改配置文件 config/server.properties

broker.id=0  #每一台kafka的broker.id都必须是唯一的,所以另外两台机器上的broker.id是需要更改的
listeners=PLAINTEXT://192.168.0.116:9092 #填写本机ip
zookeeper.connect=127.0.0.1:2181 #如果多台zk使用,分割配置
log.dirs=/opt/kafka/data/  #指定数据文件的保存地址,3台kafka机器的配置都一样

5.集群配置

scp -r /opt/kafka [email protected]:/opt
scp -r /opt/kafka [email protected]:/opt

6.集群成员 config/server.properties 修改

broker.id=1 #修改成唯一值
listeners=PLAINTEXT://192.168.0.116:9092 #改成自己的IP和端口

7.启动

cd /opt/kafka
bin/kafka-server-start.sh -daemon config/server.properties
  • jps看一下是否启动,集群其他服务器也需要相同操作;如果没有发现 ** Kafka 需要去logs目录打印看一下日志 tail -f  .log


四.测试

1.创建topic:

bin/kafka-topics.sh --describe --bootstrap-server xxxx:9092  --topic test0
  • 注意:低版本kafka 是使用 --zookeeper 替换 --bootstrap-server 咱们目前是高版本

2.查询topic:

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

3.创建消费者

bin/kafka-console-consumer.sh --bootstrap-server xxxx:9092 --topic test

4.创建生产者

bin/kafka-console-producer.sh --bootstrap-server XXXX:9092 --topic test

五.控制台安装

使用命令去查看,创建topic显然不方便。推荐使用eagle来查看集群和kafka其他信息

项目地址 :https://www.kafka-eagle.org/

1.安装/环境变量

tar zfxv kafka-eagle-bin-3.0.1.tar.gz #解压eagle
mv kafka-eagle-web-3.0.1 eagle #解压后有多个目录,找到web这个项目 改名eagle
pwd 
vim /etc/profile #添加环境变量
	export KE_HOME=/opt/eagle
	export PATH=${PATH}:${KE_HOME}/bin
source /etc/profile

2.修改配置 conf/system-config.properties

# multi zookeeper&kafka cluster list -- The client connection address of the Zookeeper cluster is set here
#如果只有一个集群的话,就写一个cluster1就行了
#kafka.eagle.zk.cluster.alias=cluster1,cluster2    #多个集群的写法
kafka.eagle.zk.cluster.alias=cluster1

#zookeeper.connect地址
cluster1.zk.list=192.168.0.113:2181,192.168.0.114:2181,192.168.0.115:2181

#如果多个集群,继续写,如果没有注释掉
#如果说这里的zookeeper地址后面加了其他路径,在kafka-eagle里面也要配置,否则在kafka-eagle的Dashboard中无法读取到kafka的信息。比如我们有人安装的kafka集群里面就有 192.168.18.11:2181/kafka 这种地址。
#cluster2.zk.list=192.168.0.21:2181,192.168.0.22:2181,192.168.0.23:2181/kafka

# zk limit -- Zookeeper cluster allows the number of clients to connect to
#Zookeeper集群允许连接的客户端数量 
kafka.zk.limit.size=25

# web界面地址端口
kafka.eagle.webui.port=8048

#如果你的offsets存储在Kafka中,这里就配置属性值为kafka,如果是在Zookeeper中,可以不用配置该属性。一般情况下,Offsets的也和你消费者API有关系,如果你使用的Kafka版本为0.10.x以后的版本,但是,你的消费API使用的是0.8.2.x时的API,此时消费者依然是在Zookeeper中 
cluster1.kafka.eagle.offset.storage=kafka

#超级管理员删除主题的Token
kafka.eagle.topic.token=keadmin

#是否启动监控图表,默认是不启动的。需要改成 true。数据默认保存30天
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=30

#在使用Kafka SQL查询主题时,如果遇到错误,可以尝试开启这个属性,默认情况下不开启。需要改成 true
kafka.eagle.sql.fix.error=true

#在使用 Kafka SQL 查询 topic主题 时的 记录数最大值
kafka.eagle.sql.topic.records.max=50000

#邮件服务器设置,用来告警
#kafka.eagle.mail.enable=false
#kafka.eagle.mail.sa=
#kafka.eagle.mail.username=
#kafka.eagle.mail.password=
#kafka.eagle.mail.server.host=
#kafka.eagle.mail.server.port=

#设置告警用户,多个用户以英文逗号分隔
#[email protected]

#如果kafka开启了sasl认证,需要在这个地方配置sasl认证文件。false:不启用认证
kafka.eagle.sasl.enable=false
kafka.eagle.sasl.protocol=SASL_PLAINTEXT
kafka.eagle.sasl.mechanism=PLAIN
kafka.eagle.sasl.client=/data/kafka-eagle/conf/kafka_client_jaas.conf

# Kafka Eagle默认存储在Sqlite中,如果要使用 MySQL可以替换驱动、用户名、密码、连接地址
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/opt/eagle/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=123456

#虚拟机 nat 模式下安装的mysql,eagle无法正常使用,但是 hive,Navicat 等可以正常使用mysql。原因暂时未知
#kafka.eagle.driver=com.mysql.jdbc.Driver
#kafka.eagle.url=jdbc:mysql://192.168.1.100:3306/eagle?useSSL=false&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#kafka.eagle.username=root
#kafka.eagle.password=123456
  • 注意1:system-config.properties 文件中默认配置是有 2个cluster的,所以需要把 cluster2 的相关配置都注释掉
  • 注意2:默认是mysql这段需要注释掉,使用SqlLite将SqlLite的注释打开

3.启动

bin/ke.sh 返回一下信息:记得开启防火墙

url:  http://IP:8048/ke账号:admin
密码:123456

六.其他

开放端口:

#开通防火墙端口命令(仅限 centos 6.x 以及之前版本):
/sbin/iptables -I INPUT -p tcp --dport 9092 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 9092 -j ACCEPT
service iptables save
service iptables restart
#开通防火墙端口命令(仅限 centos 7.x 版本):
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --zone=public --add-port=9092/udp --permanent
firewall-cmd --reload

zk安装:

tar zvfx apache-zookeeper-3.6.3-bin.tar.gz #解压zk
cd apache-zookeeper-3.6.3-bin\conf #进入conf目录
copy zoo_sample.cfg zoo.cfg #复制一份模版配置文件,名字取为zoo.cfg
cd ../bin #返回上一级目录,并进入bin目录
./zkServer.sh start #启动单机zk

安装java

tar zvfx jdk-8u351-linux-x64.tar.gz #解压jdk文件
pwd #获取路径
vim /etc/profile #配置环境变量
		 export JAVA_HOME=/usr/xxxxx
     export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile #刷新环境变量
java -version #检查是否安装成功,root用户安装需要下放jdk目录权限

scala安装

tar zvfx scala-2.12.16.tgz #解压scala文件
pwd #获取路径
vim /etc/profile #配置环境变量
		 export SCALA_HOME=/usr/xxxxx
     export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile #刷新环境变量
scala -version #检查是否安装成功,root用户安装需要下放scala目录权限

七.引用

kafka官方文档:https://kafka.apache.org/documentation/

kafka的主要配置参考:https://www.cnblogs.com/yinchengzhe/p/5111635.html

Kafka 最佳实践:https://cloud.tencent.com/developer/article/1430988

docker安装kafka,zk:https://juejin.cn/post/6844903829624848398

标签:bin,eagle,--,server,kafka,集群,Kafka,安装
From: https://blog.51cto.com/u_13917663/6899877

相关文章

  • chatGPT回答的,关于使用USB引导,使用WDS安装操作系统的提示:
    理解网络引导WDS安装windows操作系统么? 当然,我可以帮助您理解以网络引导(WindowsDeploymentServices,即WDS)安装Windows操作系统的基本过程。WindowsDeploymentServices是一种让管理员远程安装Windows操作系统的工具,这样可以在域环境中快速地为多个系统进行操作......
  • FL Studio 21官方中文版功能介绍及2023最新下载详细图文安装激活教程配置要求
    FLStudio21版本更新现已发布,在这次更新中优化了很多功能,但这些现在都不重要,FLStudio21版本的这次更新中令人瞩目的更新莫过于对简体中文版的支持了。以前FLStudio只有英文版,想要用上中文版只有用汉化包,而且有些音译过来的并不准确,或多或少存在些问题。而此次更新的FLStudio21......
  • centos环境minio安装踩坑指南2023年7月30日
    MinIO的安装踩坑指南环境centos71.安装MinIO官方文档Binary下载,按照官网的路径配置比较快下载miniowgethttps://dl.min.io/server/minio/release/linux-amd64/minio修改minio的权限chmod+xminio移动下载的文件到此文件夹下sudomvminio/usr/local/bin/2.......
  • UG12.0(UG NX12.0)下载-UG12.0直装版安装包下载 软件推荐
    UGNX12.0中文版是一款相当出众和强大的cad设计软件。UGNX12.0中文版可以快速的帮助用户进行CAD的设计,适用于模具设计、产品设计、工业设计等众多领域,可以满足大家的不同需求,是一款不可多得的出色软件!软件地址:看置顶贴软件特色1、更好的协调性ugnx12.0中文版把“主动数字样机(Ac......
  • docker安装
    1、下载docker二进制文件:https://download.docker.com/linux/static/stable/x86_64/2、docker镜像等文件默认保存在/var/lib/docker目录下,为防止根目录爆满,建议先在/var/lib/docker目录下挂载一个磁盘。然后新建一个docker用户。groupadd dockeruseradd-Gdocker docker ......
  • 【Zookeeper】基于3台linux虚拟机搭建zookeeper集群
    环境和版本说明环境说明:操作系统:Win11202322H2CPU:13代i6内存:64G虚拟机:VMTool17CenterOs版本:7.9镜像:CentOS-7-x86_64-Minimal-2009_2.isoZookeeper版本:3.5.101.进入官方下载CenterOs7.9官网地址:www.centos.org/download/这里还是建议有条件的用用魔法啥的。根据个人环境选择......
  • IDEA安装(2020.3)
    IDEA安装(2020.3)1.下载地址官网:https://www.jetbrains.com/idea/download/other.html百度网盘:https://pan.baidu.com/s/1c5UpSpJhIRh4rTPaZuKvPA?pwd=qv0f提取码:qv0f--来自百度网盘超级会员V5的分享2.安装2.更改安装路径3.创建快捷方法3.破解版下载破解......
  • JDK8安装
    JDK8安装1.下载地址官网https://www.oracle.com/java/technologies/downloads/#java8百度网盘链接:https://pan.baidu.com/s/1qE6dEk1rB9k7h5yiNdug4g?pwd=vjwf提取码:vjwf--来自百度网盘超级会员V5的分享2.安装下载双击安装更改安装熟悉的目录3.配置环境变量......
  • ArchLinux安装KDE Plasma和NetworkManager后网络无法正常连接的问题
    前几天刚刷了系统,发现开机自动启动NetworkManager后,无法正常激活网络(也就是网卡开机默认DOWN),但手动dhcpcd后就可以正常使用网络,所以我最近一直在开机自启NetworkManager后手动sudodhcpcd,直到今天我发现ipv6有点小问题之后实在忍不了了,解决了一下这个问题具体怎么解决的呢,简单的......
  • 18-Hive入门&安装
    1.Hive概述1.1什么是Hive?ApacheHive是一款建立在Hadoop之上的开源数据仓库工具,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL),用于访问和分析存储在Hadoop文件中的大型数据集。H......