当前位置: 首页 > news >正文

kafka+zookeeper的搭建

        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/confmv  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 ]; thenecho "please input your option in [start | stop | status]"exit -1
fi
if [ $COMMAND != "start" -a $COMMAND != "stop" -a $COMMAND != "status" ]; thenecho "please input your option in [start | stop | status]"exit -1
fi# 所有的服务器
HOSTS=( bigdata01 bigdata02 bigdata03 )
for HOST in ${HOSTS[*]}
dossh -T $HOST << TERMINATORecho "---------- $HOST ----------"zkServer.sh $COMMAND 2> /dev/null | grep -ivh SSLexit
TERMINATOR
done

该脚本的使用方式:

chmod 777 zk.shzk.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/kafka3vi 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 bigdata03doecho " --------启动 $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 bigdata03doecho " --------停止 $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

假如没有配置脚本

//启动时需要指定server.properties的路径 
//若不加-daemon 就会占用一个窗口 此时是后台启动kafka进程
./kafka-server-start.sh -daemon ../config/server.properties
kafka-server-stop.sh

结果

http://www.lryc.cn/news/479504.html

相关文章:

  • Spark中的宽窄依赖
  • 安装和运行开发微信小程序
  • 地图框架之mapbox——(五)
  • Hive 的数据类型
  • 2024下半年软考考后估分,快来预约!
  • 第8章 利用CSS制作导航菜单作业
  • 基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
  • linux强制修改mysql的root账号密码
  • CentOS系统查看CPU、内存、操作系统等信息
  • 针对解决前后端BUG的个人笔记
  • 5G时代已来:我们该如何迎接超高速网络?
  • 企业级-实现Redis封装层
  • SpringBoot使用ApplicationContext.getBean启动报空指针处理记录
  • MongoDB Shell 基本命令(三)聚合管道
  • Go语言的内置容器
  • HCIP考试怎样预约?随时可以考试吗?
  • 香港航空 阿里滑块 acw_sc__v3 分析
  • JS传统函数中常见的 this 绑定问题
  • 跨域问题以及使用vscode的LiveServer插件跨域访问
  • 现代Web开发:WebSocket 实时通信详解
  • 《深度学习》——深度学习基础知识(全连接神经网络)
  • nginx 部署2个相同的vue
  • 利用Java easyExcel库实现高效Excel数据处理
  • Vulnhub靶场 Metasploitable: 1 练习(上)
  • 《Python编程实训快速上手》第二天--列表与元组
  • jangow靶机
  • 使用UDP协议传输视频流!(分片、缓存)
  • Pinia小菠萝(状态管理器)
  • Python知识点:基于Python工具,如何使用Web3.py进行以太坊智能合约开发
  • 【简信CRM-注册安全分析报告】