Linux下 配置Kafka集群

安装Kafka集群

#切换目录
cd xmy
# 下载 Kafka 软件包到当前目录中
sudo wget https://labfile.oss.aliyuncs.com/courses/859/kafka_2.11-1.1.1.tgz
# 查看目录
ll

在这里插入图片描述

# 解压 Kafka 软件包
sudo tar -zxvf  kafka_2.11-1.1.1.tgz
# 重命名 Kafka 软件包文件夹名称为 kafka
sudo mv kafka_2.11-1.1.1 kafka
#查看目录能看到kafka
ll

在这里插入图片描述

#进入到
cd kafka/config
#复制 server.properties 文件为 server-1.properties
sudo cp server.properties server-1.properties
#复制 server.properties 文件为 server-2.properties
sudo cp server.properties server-2.properties

在这里插入图片描述
在这里插入图片描述

# 将 Kafka 目录的执行权限授予当前用户
sudo chmod 777 -R kafka
#切换到启动 Zookeeper 命令所在的目录
cd /xmy/kafka/bin
#使用上级目录中的 config 目录中的 zookeeper.perperties 配置文件,运行当前目录下的 zookeeper-server-start.sh 命令,启动 Kafka 软件包自带的 Zookeeper
./zookeeper-server-start.sh  ../config/zookeeper.properties

出现这个错误, 没有装JDK
在这里插入图片描述

在Linux下 安装JDK

在windows下 找的百度网盘资源 下载 JDK
链接:https://pan.baidu.com/s/1EA2vvtS5yqh1zo5hB8azGg
提取码:2757
使用Xshell 工具把windows下的工具传到Linux下
在这里插入图片描述

点击如果安转了 Xftp 会直接弹出以下弹框进行文件传输 如果没有则会提示安装
在这里插入图片描述

传输完成后 将文件移动到java目录下(可直接传输到这个目录下,传的时候没注意) 进行解压配置环境

# 名字太长 重命名为 jkd1.8 进行解压配置
sudo tar -zxvf  jdk1.8

进行环境配置
进入 etc 目录 /etc/environment 修改Path,JAVA_HOME是JDK的目录

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export JAVA_HOME=/java/jdk1.8

配置所有用户的环境变量
为了预防重启后,配置的环境变量无效,配置所有用户的环境变量
进入 /etc/profile 在文本末尾添加

#set Java environment 
export JAVA_HOME=/java/jdk1.8 
export JRE_HOME=$JAVA_HOME/jre  
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 

在这里插入图片描述

重启

sudo shutdown -r now

查看是否配置成功
在这里插入图片描述
mV0L3R0dHR0dDUyMQ==,size_16,color_FFFFFF,t_70

继续上面配置Kafka
在这里插入图片描述

不要关闭当前命令行终端,在打开一个新的命令行终端
小技巧:在运行命令前加 nohup ,并且在运行命令后加 & 。这样,这个命令就会以 Linux 后台进程运行,关闭当前命令行终端也无影响。如运行:nohup ./zookeeper-server-start.sh …/config/server. properties & 命令,以后台进程启动 Zookeeper。

在新终端运行命令 jps
查看当前运行的 java 进程,如果看到名称为 QuorumPeerMain 的进程,说明 Zookeeper 启动成功
在这里插入图片描述

在新的命令行终端中编辑Kafka的三个配置文件(server.properties、 server-1.properties、server-2.properties),修改文件名和修改内容说明如下:
在这里插入图片描述

#切换到配置文件所在目录
cd  /opt/kafka/config
#编辑 server-1.properties,编辑界面如下图所示。按上面的说明,修改相应参数,保存文件。
vi server-1.properties
# 同理,按上述表格中描述,编辑 server-2.properties 文件
vi server-2.properties

在这里插入图片描述

#切换到启动kafka命令所在目录
cd /kafka/bin
#使用配置文件 server.properties 启动第一个 Kafka Broker,注意:命令最后的 & 符号表示以后台进程启动,启动完成后,按回车键,回到命令行,启动另一个 Kafka Broker。
./kafka-server-start.sh  ../config/server.properties &
#使用配置文件 server-1.properties 启动第二个 Kafka Broker 。启动完成后,按回车键,回到命令行,启动另一个 Kafka Broker 。
./kafka-server-start.sh  ../config/server-1.properties &
#使用配置文件 server-2.properties 启动第三个 Kafka Broker。启动完成后,按回车键,回到命令行。
./kafka-server-start.sh  ../config/server-2.properties &
#查看当前运行的java进程。如下图,出现三个 kafka 进程,说明三个 Broker 的 Kafka 集群启动成功。
jps

到现在 单机版的三个Broker 的 Kafka 集群安装成功
生产者生产消息,将消息发送到 Kafka 服务器(实际上消息存储到了 Kafka 中的 Topic 里面)。消费者消费消息,从 Kafka 服务器读取消息。这里的 Kafka 服务器相当于一个中间人,用于存储生产者和消费者交互的数据(消息),下一步我们要在 Kafka 集群上创建一个 Topic ,用于存储消息,创建一个消息生产者,向 Topic 发送消息。创建一个消息消费者,从 Topic 读取消息。

在 Kafka 集群中创建 Topic

在 Kafka 集群中创建一个 Topic ,名称为 myFirstTopic

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

查看 Topic 创建是否成功

./kafka-topics.sh --zookeeper localhost:2181 --list

在这里插入图片描述

在 /kafka/bin 目录下运行命令,启动消息生产者,用于向 Topic 发送消息

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

重新打开一个新的命令行终端,在 /kafka/bin 目录下运行命令,启动消息消费者,用于从 Topic 中读取消息:

./kafka-console-consumer.sh --bootstrap-server  localhost:9092 --topic myFirstTopic

在这里插入图片描述
在这里插入图片描述

在消息生产者所在命令行终端中输入 hello kafka ,然后按回车键,消息发送到 Topic 。此时在消息消费者所在的命令行中,可以看到 hello kafka 消息已经收到了。

### 安装和配置Kafka集群的最佳实践 #### 1. 系统环境准备 为了确保Kafka集群能够高效运行,在部署之前需要对操作系统进行必要的调整。例如,关闭SELinux可以减少不必要的安全策略干扰[^2]。 ```bash [root@Kafka1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config ``` 修改完成后需重启服务器使更改生效。此外,合理设置主机名有助于区分不同节点的角色和功能。 --- #### 2. Kafka集群概述 Kafka集群设计的核心理念在于其高吞吐量和水平扩展能力。通过将数据划分为多个分区并分布到不同的Broker节点上,Kafka能够在处理海量数据的同时保持系统的稳定性和可靠性[^3]。 --- #### 3. 软件安装流程 以下是基于Linux系统的Kafka安装步骤: - **下载软件包** 访问Apache官网获取最新版本的Kafka二进制文件,并解压至目标目录。 - **配置Zookeeper服务** Zookeeper作为Kafka的关键依赖组件,负责协调元数据管理以及选举Leader等功能。因此,必须先完成Zookeeper的服务初始化与启动操作[^4]。 - **启动Kafka Broker** 启动单个或多个Broker实例前,请确认`server.properties`中的监听地址、日志路径以及其他重要参数已按需求正确设定。 --- #### 4. 性能调优建议 针对生产环境中可能出现的各种瓶颈问题,可以从以下几个方面入手来提升整体表现: - **磁盘I/O优化**: 使用SSD代替传统HDD硬盘;分配独立挂载点给Kafka日志存储区域以降低竞争压力; - **网络带宽保障**: 增加网卡数量或者提高链路速率满足大数据传输的需求; - **JVM内存调节**: 根据实际负载情况动态调整堆大小范围,避免频繁GC影响实时性响应速度[^1]。 --- #### 5. 运维规范提示 制定清晰的操作手册对于长期维护至关重要。包括但不限于定期备份关键数据、监控健康指标变化趋势图谱分析报告生成机制等方面的内容。 --- ### 示例代码:创建Topic命令 以下是一条用于创建新主题(topic)的Shell脚本样例: ```bash kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 6 --topic test_topic ``` 此命令指定了副本数为3,分片数目设为6的新建测试用话题名称test_topic。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值