首页 > 其他分享 >kafka+zookeeper的搭建

kafka+zookeeper的搭建

时间:2024-11-07 20:18:25浏览次数:3  
标签:opt kafka3 installs zookeeper kafka sh 搭建

        kafka从2.8版本开始,就可以不用配置zookeeper了,但是也可以继续配置。我目前使用的kafka版本是kafka_2.12-3.0.0.tgz,其中前面的2.12表示是使用该版本的scala语言进行编写的,而后面的3.00才是kafka当前的版本。

通过百度网盘分享的文件:apache-zookeeper-3.6.4-bin.tar.gz
链接:https://pan.baidu.com/s/1XTh89ZRLh2Etbz9lFTWyag?pwd=l037 
提取码:l037

通过百度网盘分享的文件:kafka
链接:https://pan.baidu.com/s/1w0qZZK3VdGYRPp2T1yWv4w?pwd=3wr1 
提取码:3wr1

kafka的文件夹中有kafka和一个kafka的ui软件

这种配置要想使用kafka需要先启动zookeeper

关闭时,需要先关闭kafka再关闭zookeeper,否则kafka就关闭不掉了,需要kill

zookeeper的配置

上传

1、将zk软件上传到/opt/modules 下
2、解压 ,重命名,配置环境变量
tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz -C /opt/installs/
mv apache-zookeeper-3.6.4-bin zookeeper
vi /etc/profile
export ZOOKEEPER_HOME=/opt/installs/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile

修改配置文件

cd /opt/installs/zookeeper/conf

mv  zoo_sample.cfg  zoo.cfg

我的配置文件的全部

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/installs/zookeeper/zkData
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=bigdata01:2888:3888
server.2=bigdata02:2888:3888
server.3=bigdata03:2888:3888

创建文件夹

cd /opt/installs/zookeeper/
mkdir zkData
cd zkData
touch myid
echo "1" > myid

将配置好的zookeeper文件传给集群内所有的服务器

记得将myid文件中的数据修改一下

我的有bigdata01,bigdata02,bigdata03 三台服务器 

bigdata01中myid文件中为1

bigdata02中myid文件中为2

bigdata03中myid文件中为3

一个脚本:用于启动/关闭/查看集群中所有的zookeeper

        在/usr/local/bin 下面,创建zk.sh

#!/bin/bash

# 获取参数
COMMAND=$1
if [ ! $COMMAND ]; then
    echo "please input your option in [start | stop | status]"
    exit -1
fi
if [ $COMMAND != "start" -a $COMMAND != "stop" -a $COMMAND != "status" ]; then
    echo "please input your option in [start | stop | status]"
    exit -1
fi

# 所有的服务器
HOSTS=( bigdata01 bigdata02 bigdata03 )
for HOST in ${HOSTS[*]}
do
    ssh -T $HOST << TERMINATOR
    echo "---------- $HOST ----------"
    zkServer.sh $COMMAND 2> /dev/null | grep -ivh SSL
    exit
TERMINATOR
done

该脚本的使用方式:

chmod 777 zk.sh

zk.sh start
zk.sh stop
zk.sh status

假如不配置该脚本

在每一个服务器上运行 
zkServer.sh stop/start/status

kafka的配置

上传

1、将kafka软件上传到/opt/modules 下
2、解压 ,重命名,配置环境变量
tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/installs/
mv kafka_2.12-3.0.0 kafka3
vi /etc/profile
export KAFKA_HOME=/opt/installs/kafka3
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile

集群中所有服务器的profile文件都需要修改 记得刷新环境变量

修改配置文件

cd /opt/installs/kafka3

vi server.properties

修改其中的部分内容:

#broker 的全局唯一编号,不能重复,只能是数字。 
broker.id=0 

#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔 
log.dirs=/opt/installs/kafka3/datas 

#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理) 
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka3

 分发修改好的kafka文件:

使用scp命令
scp /opt/installs/kafka3 root@bigdata02:/opt/installs
scp /opt/installs/kafka3 root@bigdata03:/opt/installs

分别在 bigdata02 和 bigdata03上修改配置文件/opt/installs/kafka/config/server.properties 中的 broker.id=1、broker.id=2

注:broker.id 不得重复,整个集群中唯一。

一个脚本:用于启动/关闭/查看集群中所有的kafka

在/usr/local/sbin 目录下创建文件 kf.sh 脚本文件

vi kf.sh

#! /bin/bash
case $1 in
"start"){
 for i in bigdata01 bigdata02 bigdata03
 do
 echo " --------启动 $i Kafka-------"
 ssh $i "source /etc/profile; /opt/installs/kafka3/bin/kafka-server-start.sh -daemon /opt/installs/kafka3/config/server.properties"
 done
};;
"stop"){
 for i in bigdata01 bigdata02 bigdata03
 do
 echo " --------停止 $i Kafka-------"
 ssh $i "source /etc/profile; /opt/installs/kafka3/bin/kafka-server-stop.sh"
 done
};;
esac
chmod u+x kf.sh

如何使用:
kf.sh start
kf.sh stop

假如没有配置脚本

kafka-server-start.sh
kafka-server-stop.sh

结果

标签:opt,kafka3,installs,zookeeper,kafka,sh,搭建
From: https://blog.csdn.net/weixin_52642840/article/details/143606139

相关文章

  • repmgr搭建一主+一从+一witness的PostgreSQL高可用集群
    测试环境环境如下:OS:ubuntu20PostgreSQL:PostgreSQL16.4repmgr:repmgr5.3.3三台测试环境,均已安装好PostgreSQL16.4,数据库实例信息如下IP         postgresql实例名  身份192.168.152.100:postgresql9000:  主节点192.168.152.101:postgresql9000:  从节点192.16......
  • Kafka概述--消息中间件
    目录1.1定义1.2、kafka的中的组成成员1.3消息队列(中间件)1.3.1传统消息队列的应用场景1.3.2消息队列的两种模式1.4Kafka基础架构1.5、kafka的名词概念1.1定义kafka面试非常的重要,做实时或者准实时项目必用工具(绕不开)。Kafka就是用来存储消息的,消息中间件。......
  • Kafka 快速入门-安装部署
    目录1.1安装部署1.1.1集群规划1.1.2集群规划1.1.3集群启停脚本1.1安装部署1.1.1集群规划bigdata01bigdata02bigdata03zkzkzkkafkakafkakafka1.1.2集群规划每次进入linux都会自动进入base环境,如何关闭basecondadeactivate 手动......
  • 使用阿里云搭建DataLight平台
    DataLight官网:http://datalight.boundivore.cn/目录一、购买阿里云抢占式资源服务器二、修改一下配置1、修改实例名称2、远程连接3、修改主机名4、修改hosts映射文件5、修改安全组6、免密登录(不需要做,脚本自己会操作)三、购买mysql数据库四、初始化mysq......
  • pyspark 解析kafka数组结构数据
    frompyspark.sql.functionsimportget_json_object,col,from_unixtime,instr,length,regexp_replace,explode,from_jsonfrompyspark.sql.typesimport*#定义数组结构schema=ArrayType(StructType([StructField("home",StringType()),S......
  • Kafka 如何保证消息不丢失?【消息手动 ACK】
    前言:Kafka作为一个MQ它肯定会有消息丢失的场景,那我们如何做到让Kafka的消息不丢失呢?本篇我们来剖析一下Kafka如何做到消息不丢失。Kafka系列文章传送门Kafka简介及核心概念讲解SpringBoot整合Kafka详解Kafka@KafkaListener注解的详解及使用Kafka客户......
  • Apache DolphinScheduler + OceanBase,搭建分布式大数据调度平台的实践
    本文整理自白鲸开源联合创始人,ApacheDolphinSchedulerPMCChair,ApacheFoundationMember代立冬的演讲。主要介绍了DolphinScheduler及其架构、DolphinScheduler与OceanBase的联合大数据方案。DolphinScheduler是什么?ApacheDolphinScheduler,作为一款云原生且配备强大的可视......
  • 信奥OJ的搭建
    第一步,服务器申请选择一:免费云服务器,免费虚拟主机如:阿贝云阿贝云提供了免费的云服务器和免费的云虚拟主机,可根据自己的实际应用情况选择。首先注册一个账户,然后需要支付0.3元做一个实名认证,如果实名认证成功了大概率会开通成功。如果失败了可能是服......
  • Kafka面试题总结
    1、kafka消息发送的流程?2、Kafka的设计架构你知道吗?3、Kafka分区的目的?4、你知道Kafka是如何做到消息的有序性?5、ISR、OSR、AR是什么?6、Kafka在什么情况下会出现消息丢失7、怎么尽可能保证Kafka的可靠性8、Kafka中如何做到数据唯一,即数据去重?9、生产者如何提高......
  • kafka 相关操作命令
    /home/kafka/config/kafka_client_producer_jaas.conf文件为对应集群的鉴权配置文件,例如sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule\requiredusername="dev-user"password="devuser@123";security.protocol=SASL_PLAINTEXTsasl.mec......