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

kafka与zookeeper的集群

基础配置

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configvi /etc/hosts
ip1 node1
ip2 node2
ip3 node3

zookeeper介绍

zookeeper是一个分布式的协调服务,主要用于维护集群的元数据信息和配置信息。kafka集群依赖其存储、管理自身元数据、配置。

zookeeper在kafka中的作用

1、管理broker节点:broker的上下线、topic信息、partition信息、副本;
2、存储、管理集群的元数据信息和配置:broker的ip地址、端口、topic、partition的分配;
3、监控broker节点状态:实现fail over和load balance;

在这里插入图片描述

zk安装配置

#全节点
yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64#提前配好
vi /etc/profile
export KAFKA_HOME=/kafka_2.12-2.0.0
export ZK_HOME=/apache-zookeeper-3.7.1-bin
export KE_HOME=/efak-web-3.0.1
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$KAFKA_HOME/bin:$ZK_HOME/bin:$KE_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bintar -xvf apache-zookeeper-3.7.1-bin.tar.gz
mkdir -p /apache-zookeeper-3.7.1-bin/data
mkdir -p /apache-zookeeper-3.7.1-bin/logcp conf/zoo_sample.cfg conf/zoo.cfg
cat 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=/apache-zookeeper-3.7.1-bin/data
# 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## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
dataLogdir=/apache-zookeeper-3.7.1-bin/log
server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888#节点1至3
echo "1" > /apache-zookeeper-3.7.1-bin/data/myid
echo "3" > /apache-zookeeper-3.7.1-bin/data/myid
echo "3" > /apache-zookeeper-3.7.1-bin/data/myid#启动、停止
./zkServer.sh start
./zkServer.sh stop

kafka介绍

kafka是一个高性能、低延迟、分布式的消息传递系统,特点在于实时处理数据。其集群由多个成员节点broker组成,每个节点都可以独立处理消息传递和存储任务。
在这里插入图片描述

kafka安装配置

#全节点
tar -xvf kafka_2.12-2.0.0.tgzvi config/server.properties
log.dirs=/var/log/kafka-logs
zookeeper.connect=ip1:2181,ip2:2181,ip3:2181#1至3节点
broker.id:0
listeners=PLAINTEXT://ip1:9092broker.id:1listeners=PLAINTEXT://ip2:9092broker.id:2
listeners=PLAINTEXT://ip3:9092#启动顺序:先启动zookeeper,后启动kafka
#关闭顺序:先关闭kafka,后关闭zookeeper (可使用kill命令直接关闭)
cd /kafka_2.12-2.0.0
kafka-server-start.sh -daemon config/server.properties &

开启JMX功能用于监控

#全节点
vi /kafka_2.12-2.0.0/bin/kafka-server-start.sh
export JMX_PORT="9999"

在这里插入图片描述

可视化监控eagle

tar -zvxf v3.0.1.tar.gz
cd kafka-eagle-bin-3.0.1 && tar -zxvf kafka-eagle-web-3.0.1-bin.tar.gzyum install -y mariadb*mysqladmin -uroot -p password Mdb123#MariaDB [(none)]>create user eagle@localhost identified by 'kafka123#';
MariaDB [(none)]>select user,host from mysql.user;
MariaDB [(none)]>create database ke;
MariaDB [(none)]>exitvi /etc/profile
export KE_HOME=/efak-web-3.0.1
export PATH=$PATH:$KAFKA_HOME/bin:$ZK_HOME/binvi /efak-web-3.0.1/conf/system-config.propertiescluster1.zk.list=ip1:2181,ip2:2181,ip3:2181
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=efak
efak.password=kafka123#ke.sh start

在这里插入图片描述

集群启动

在这里插入图片描述

按照以上配置,首先启动zookeeper服务,确保znode节点都能够相互通信、协作,然后启动kafka服务,broker按照不同topic、partition选举为不同leader、follower,实现消息传递和存储任务的分布式协作。

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

相关文章:

  • sqlalchemy 连接池
  • 用Blender制作YOLO目标检测器训练数据
  • c++视觉处理---均值滤波
  • QT基础入门——Qt事件(五)
  • 自学黑客方法-----(网络安全)
  • Dockerfile自定义容器
  • (5)SpringMVC处理携带JSON格式(“key“:value)请求数据的Ajax请求
  • 【iOS】——仿写计算器
  • 公安机关警务vr综合实战模拟训练提高团队合作能力
  • MySQL-1(12000字详解)
  • voc数据集格式与yolo数据集格式的区别及相互转化
  • 超详细!Android Termux上如何安装MySQL,内网穿透实现公网远程访问
  • TSNE降维学习
  • 基于Python+Selenium的web自动化测试框架详解
  • C (1094) : DS双向链表—前驱后继
  • mp4视频太大怎么压缩变小?
  • 利用easy excel 实现文件导出
  • LongLoRA:超长上下文,大语言模型高效微调方法
  • 【漏洞复现】某 NVR 视频存储管理设备远程命令执行
  • 若依前端-应用路径发布和使用
  • Mojo 正式发布,Rust 能否与之匹敌?
  • opencv实现抠图,图像拼接,图像融合
  • 照片处理软件Lightroom Classic mac中文版功能介绍(Lrc2021)
  • asp.net高校留学生信息管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • C# - Opencv应用(1) 之VS下环境配置详解
  • rsync 远程同步实现快速、安全、高效的异地备份
  • 医学访问学者面试技巧
  • 【19】c++设计模式——>桥接模式
  • 网络安全:六种常见的网络攻击手段
  • 使用HbuilderX运行uniapp中小程序项目