软件系统开发定制kafka集群搭建超详细教程

集群搭建

前言

大家好,我是风云,软件系统开发定制欢迎大家关注,软件系统开发定制在未来的日子里我们一软件系统开发定制起来学习相关的技术,软件系统开发定制一起努力奋斗,软件系统开发定制遇见更好的自己!
软件系统开发定制百度百科对Kafka有如下描述:
Kafka是由Apache软件基金会开发的一个开源流处理平台,由ScalaJava编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
具备以下特点:

  • 高吞吐量、低延迟kafka每秒可以处理百万条消息,它的延迟最低只有几毫秒,topic可以分多个partition, consumer group partition进行consumer操作
  • 可扩展性kafka集群支持热扩展
  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
  • 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
  • 高并发:支持数千个客户端同时读写

基于Kafka具备这么多特点,在大数据开发领域已经占据不可或缺的地位,我们在工作中就会不可避免与之打交道,那么搭建Kafka集群就非常有必要了,今天就来分享一下kafka 集群搭建的详细过程。

详细步骤

前期准备:

  1. 准备三个虚拟机:
    192.168.36.121 hadoop1
    192.168.36.122 hadoop2
    192.168.36.123 hadoop3
  2. 虚拟机上配置有ssh服务,可以进行免密登录
  3. Kafka运行在JVM上,需要安装JDK
  4. kafka依赖zookeeper,需要安装zookeeper,可以参考我的另一篇文章

注意:下边的步骤都是在hadoop1这个节点上进行的操作,除特殊说明外。

1、下载安装包

cd /opt/module# 下载kafka安装包wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz
  • 1
  • 2
  • 3

2、解压

# 解压kafka安装包tar -zxvf kafka_2.13-2.6.0.tgzmv kafka_2.13-2.6.0 kafka
  • 1
  • 2
  • 3

3、创建存放kafka消息的目录

cd kafkamkdir kafka-logs
  • 1
  • 2

4、修改配置文件

vim /opt/module/kafka/config/server.properties# 修改如下参数broker.id=0 listeners=PLAINTEXT://hadoop1:9092log.dirs=/opt/module/kafka/kafka-logszookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

参数说明:
broker.id : 集群内全局唯一标识,每个节点上需要设置不同的值
listeners:这个IP地址也是与本机相关的,每个节点上设置为自己的IP地址
log.dirs :存放kafka消息的
zookeeper.connect : 配置的是zookeeper集群地址

5、分发kafka安装目录

# 分发kafka安装目录给其他集群节点scp -r /opt/module/kafka/ hadoop2:/opt/modulescp -r /opt/module/kafka/ hadoop3:/opt/module
  • 1
  • 2
  • 3

分发完成后,其他集群节点都需要修改配置文件server.properties中的 broker.idlisteners 参数。

6、编写kafka集群操作脚本

# 导入java环境vim /etc/profile# 添加如下内容(注意:填写自己的java安装目录)export JAVA_HOME=/usr/java/jdk1.8.0_131export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bincd /opt/module/kafka/bin# 创建kafka启动脚本vim kafka-cluster.sh# 添加如下内容#!/bin/bashcase $1 in"start"){	for i in hadoop1 hadoop2 hadoop3	do 		 echo -------------------------------- $i kafka 启动 ---------------------------		ssh $i "source /etc/profile;/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"	done};;"stop"){	for i in hadoop1 hadoop2 hadoop3	do		echo -------------------------------- $i kafka 停止 ---------------------------		ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"	done};;esac# 保存退出后,修改执行权限chmod +x ./kafka-cluster.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

脚本命令说明:

启动kafka集群命令./kafka-cluster.sh start停止kafka集群命令./kafka-cluster.sh stop
  • 1
  • 2
  • 3
  • 4
  • 5

7、启动kafka集群

首先启动zookeeper集群
然后执行kafka集群脚本启动命令

cd /opt/module/kafka/bin./kafka-cluster.sh start
  • 1
  • 2

8、测试

kafka集群启动成功后,我们就可以对kafka集群进行操作了。

创建主题

cd /opt/module/kafka./bin/kafka-topics.sh --create --bootstrap-server hadoop1:9092 --replication-factor 3 --partitions 1 --topic test
  • 1
  • 2

查看主题列表

./bin/kafka-topics.sh --list --bootstrap-server hadoop1:9092
  • 1

启动控制台生产者

./bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test
  • 1

启动控制台消费者

./bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic test --from-beginning
  • 1

在生产者控制台输入hello kafka,消费者控制台,就可以消费到生产者的消息,输出 hello kafka,表示消费端成功消费了生产者生产的消息!

至此,我们就顺利完成了kafka集群搭建的整个过程!

希望大家都能有所收获,喜欢的可以点赞和收藏,有疑问的可以在评论区留言,也欢迎转发分享给更多的人!

谢谢大家!

-------------- end ----------------

微信公众号:请扫描下面的二维码进行关注!

个人微信:请扫描下面的二维码添加好友!

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发