IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 安装Kafka集群 -> 正文阅读

[大数据]安装Kafka集群

前提条件

三台Linux虚拟机,这里Linux使用的是CentOS7?

安装好zookeeper集群,可参考ZooKeeper集群的安装

集群规划

node2node3node4
zkzkzk
kafkakafkakafka

安装步骤

下载

下载安装包kafka_2.11-2.4.1.tgz,下载地址https://kafka.apache.org/downloads,将安装包上传到Linux

解压

[hadoop@node2 installfile]$ tar -zxvf kafka_2.11-2.4.1.tgz -C ~/soft
?
[hadoop@node2 installfile]$ cd ~/soft/
?
[hadoop@node2 soft]$ ls
hadoop-3.1.3  jdk1.8.0_212  kafka_2.11-2.4.1  zookeeper-3.5.7
?

创建logs目录

[hadoop@node2 soft]$ cd kafka/
[hadoop@node2 kafka]$ ls
bin  config  libs  LICENSE  NOTICE  site-docs
[hadoop@node2 kafka]$ mkdir logs
[hadoop@node2 kafka]$ 

修改配置文件server.properties

# The id of the broker. This must be set to a unique integer for each broker. broke id不能重复
broker.id=0
?
delete.topic.enable=true
?
log.dirs=/home/hadoop/soft/kafka/data

log.dirs就是数据目录,如果设置为logs,数据目录就会和logs目录在同一个目录下。设置为data目录,logs目录和data目录会分开存放。

修改环境变量

# 修改环境变量
[hadoop@node2 config]$ sudo nano /etc/profile.d/my_env.sh
?
# 末尾添加内容如下:
#KAFKA_HOME
export KAFKA_HOME=/home/hadoop/soft/kafka
export PATH=$PATH:$KAFKA_HOME/bin
?
# 让环境变量生效
[hadoop@node2 config]$ source /etc/profile.d/my_env.sh

同样的方法,在node3node4机器上添加kafka环境变量

分发安装包

[hadoop@node2 config]$ cd ~/soft
?
[hadoop@node2 soft]$ xsync kafka

修改node3 broker id

[hadoop@node3 config]$ nano server.properties
?
broker.id=1

修改node4 broker id

[hadoop@node4 ~]$ cd $KAFKA_HOME/config
[hadoop@node4 config]$ nano server.properties
?
broker.id=2

启动zk集群(三台都执行)

[hadoop@node2 ~]$ zkServer.sh start
[hadoop@node3 ~]$ zkServer.sh start
[hadoop@node4 ~]$ zkServer.sh start

启动kafka(三台都执行)

[hadoop@node2 ~]$ kafka-server-start.sh -daemon /home/hadoop/soft/kafka/config/server.properties
[hadoop@node3 ~]$ kafka-server-start.sh -daemon /home/hadoop/soft/kafka/config/server.properties
[hadoop@node4 ~]$ kafka-server-start.sh -daemon /home/hadoop/soft/kafka/config/server.properties

查看进程(三台都执行)

[hadoop@node2 ~]$ jps
1987 Jps
1898 Kafka
1499 QuorumPeerMain
?
[hadoop@node3 ~]$ jps
2024 Jps
1501 QuorumPeerMain
1903 Kafka
?
[hadoop@node4 ~]$ jps
1896 Kafka
2008 Jps
1500 QuorumPeerMain
?

测试使用

创建topic

[hadoop@node2 soft]$ kafka-topics.sh --zookeeper node2:2181/kafka --create --replication-factor 3 --partitions 1 --topic first
Created topic first

查看topic

[hadoop@node2 soft]$ kafka-topics.sh --zookeeper node2:2181/kafka --list
first

Kafka集群启动停止脚本

创建脚本

进入~/bin目录,创建kf.sh

[hadoop@node2 soft]$ cd ~/bin
[hadoop@node2 bin]$ vim kf.sh

kf.sh内容如下:

#! /bin/bash
?
case $1 in
"start"){
 ? ?for i in node2 node3 node4
 ? ?do
 ? ? ? ?echo " --------启动 $i Kafka-------"
 ? ? ? ?ssh $i "/home/hadoop/soft/kafka/bin/kafka-server-start.sh -daemon /home/hadoop/soft/kafka/config/server.properties"
 ? ?done
};;
"stop"){
 ? ?for i in node2 node3 node4
 ? ?do
 ? ? ? ?echo " --------停止 $i Kafka-------"
 ? ? ? ?ssh $i "/home/hadoop/soft/kafka/bin/kafka-server-stop.sh stop"
 ? ?done
};;
esac

添加权限

[hadoop@node2 bin]$ chmod u+x kf.sh 

测试kf集群启动脚本

[hadoop@node2 bin]$ kf.sh start
 --------启动 node2 Kafka-------
 --------启动 node3 Kafka-------
 --------启动 node4 Kafka-------
[hadoop@node2 bin]$ jps
2071 Jps
2041 Kafka

测试kf集群停止脚本

[hadoop@node2 bin]$ kf.sh stop
 --------停止 node2 Kafka-------
No kafka server to stop
 --------停止 node3 Kafka-------
No kafka server to stop
 --------停止 node4 Kafka-------
No kafka server to stop
[hadoop@node2 bin]$ jps
2121 Jps
?

完成!enjoy it

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:47:05  更:2022-04-30 08:50:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:59:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码