kafka与zookeeper的集群

news2024/12/22 18:47:00

基础配置

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

vi /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/bin

tar -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/log

cp 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.tgz

vi 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:9092

broker.id:1

listeners=PLAINTEXT://ip2:9092

broker.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.gz

yum 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)]>exit

vi /etc/profile
export KE_HOME=/efak-web-3.0.1
export PATH=$PATH:$KAFKA_HOME/bin:$ZK_HOME/bin


vi /efak-web-3.0.1/conf/system-config.properties

cluster1.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.coloradmin.cn/o/1072686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【广州华锐互动】车辆零部件检修AR远程指导系统有效提高维修效率和准确性

在快速发展的科技时代,我们的生活和工作方式正在被重新定义。这种变化在许多领域都有所体现,尤其是在汽车维修行业。近年来,AR(增强现实)技术的进步为这个行业带来了前所未有的可能性。通过将AR技术与远程协助系统相结…

无为WiFi的一批服务器

我们在多个地区拥有高速服务器&#xff0c;保证网速给力&#xff0c;刷片无压力 嘿嘿 <?phpinclude("./includes/common.php"); $actisset($_GET[act])?daddslashes($_GET[act]):null; $urldaddslashes($_GET[url]); $authcodedaddslashes($_GET[authcode]);he…

NPDP和PMP,产品经理应该考哪个?

PMP教的是如何做一个项目&#xff0c;NPDP教的是如何做一个产品。 而在一个产品开发过程中&#xff0c;PMP知识体系讲述的是如何给出一个“产品”&#xff0c;NPDP知识体系讲述的是产品开始到结束的过程。虽然产品的生命周期比项目的生命周期长&#xff0c;但从知识体系看&…

考研是为了逃避找工作的压力吗?

如果逃避眼前的现实&#xff0c; 越是逃就越是会陷入痛苦的境地&#xff0c;要有面对问题的勇气&#xff0c;渡过这个困境的话&#xff0c;应该就能一点点地解决问题。 众所周知&#xff0c;考研初试在大四上学期的十二月份&#xff0c;通常最晚的开始准备时间是大三暑假&…

深入了解 GPU 互联技术——NVLINK

随着人工智能和图形处理需求的不断增长&#xff0c;多 GPU 并行计算已成为一种趋势。对于多 GPU 系统而言&#xff0c;一个关键的挑战是如何实现 GPU 之间的高速数据传输和协同工作。然而&#xff0c;传统的 PCIe 总线由于带宽限制和延迟问题&#xff0c;已无法满足 GPU 之间通…

大数据软件开发的数据队列框架

在软件开发中&#xff0c;数据队列框架用于实现消息传递、异步通信和事件驱动的系统。以下是一些常见的数据队列框架和消息中间件&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.Apache Kafka&…

小文的美丽转型:从美业学徒到皇嘉集团销售冠军

"" 小文来自山东菏泽的一个农村家庭&#xff0c;她为了供弟弟考上大学&#xff0c;家庭的负担很重&#xff0c;父母收入也不高。因此&#xff0c;小文只读到高一就来到省城的一家综合美容院&#xff0c;学习美甲和美容技术。每天早上起床后&#xff0c;她要打扫卫生&…

桌面文件不见了怎么恢复?4招轻松找回!

桌面文件不见了怎么恢复&#xff1f;4招轻松找回&#xff01; 不知道桌面文件不见了怎么恢复&#xff1f;阅读本文找到答案&#xff0c;这里向你介绍了桌面文件恢复的4种方法&#xff0c;并说明了详细的操作步骤&#xff0c;赶紧来试试&#xff01; 桌面文件突然不见了&…

黑五网一,亚马逊测评系统如何搭建,才能成为重要的运营手段

随着黑五网一购物狂欢节的临近&#xff0c;许多卖家都在积极备货、补单、优化产品&#xff0c;以争取在活动期间获得更好的销售业绩。然而&#xff0c;许多卖家在测评时遭遇了各种问题&#xff0c;例如砍单、掉评以及买卖家账号被封等。 据了解&#xff0c;很多卖家和测评服务…

第八章:关系数据库设计

一、范式 一、BC范式&#xff08;BCNF&#xff09; &#xff08;1&#xff09;定义 BC范式可以消除所有利用函数依赖发现的冗余 范式是对于关系模式而言的&#xff0c;即可以说关系模式R是一个范式。 因此对于BC范式&#xff0c;它需要满足的条件是&#xff0c;对于它的所有函…

网络安全工程师自主学习计划表(具体到阶段目标,保姆级安排,就怕你学不会!)

前言 接下来我将给大家分享一份网络安全工程师自学计划指南&#xff0c;全文将从学习路线、学习规划、学习方法三个方向来讲述零基础小白如何通过自学进阶网络安全工程师&#xff0c;全文篇幅有点长&#xff0c;同学们可以先点个收藏&#xff0c;以免日后错过了。 目录 前言…

Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。

一、执行ls -l /system/bin/ 查看一下用户和权限。 二、这些权限在哪里修改呢? 默认编译system/bin/可执行程序赋予权限的地方system\core\libcutils\fs_config.cpp 文件里面的android_files 三、使用实例,只有root和系统app权限才能执行某个命令,如上面的sn_writer命令,只…

【算法刷题】【链表】链表内指定区间反转:将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n),空间复杂度)O(1)。

题目 解题 import java.util.*;/** public class ListNode {* int val;* ListNode next null;* public ListNode(int val) {* this.val val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回…

正点原子嵌入式linux驱动开发——Linux内核启动流程

上一篇笔记学习了Linux内核的顶层Makefile&#xff0c;现在来看Linux内核的大致启动流程&#xff0c;Linux内核的启 动流程要比uboot复杂的多&#xff0c;涉及到的内容也更多&#xff0c;因此本章就大致的了解一Linux内核的启动流程。 链接脚本vmlinux.lds 要分析Linux启动流…

2023高交会“创新驱动发展·智慧赋能未来”招商工作已接近尾声

第二十五届中国国际高新技术成果交易会&#xff08;简称“高交会”&#xff09;将于2023年11月15日至19日在深圳会展中心举行。本届高交会以“创新驱动发展智慧赋能未来”为主题&#xff0c;聚焦战略性新兴产业和未来产业&#xff0c;集中展示中国高新技术成果和创新实力。 作为…

什么是基于意图的网络(IBN)

基于意图的网络是一种网络技术&#xff0c;它根据业务意图&#xff08;来自网络管理员的服务请求&#xff09;配置 IT 基础架构&#xff0c;无需任何人工干预&#xff0c;它不断提供关键的网络见解&#xff0c;并不断调整硬件配置以确保满足意图&#xff0c;它将网络从以设备为…

Java练习题-用冒泡排序法实现数组排序

✅作者简介&#xff1a;CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1&#x1f3c6; &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;Java练习题 &#x1f4ac;个人格言&#xff1a;不断的翻越一座又…

超详细!Android Termux上如何安装MySQL,内网穿透实现公网远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

C++游戏后端开发(魔兽世界,MMO,TrinityCore源码拆解) 教程

基于魔兽开源后端框架 TrinityCore 的技术拆解课程 一、TrinityCore CMake项目构建 1.1 CMake的使用 什么是CMake , CMake 的工作流程 CMakeLists.txt的编写规则 静态库生成以及链接 动态库生成以及链接 嵌套CMake 1.2 Windows和Linux下编 译调试环境搭建 cmake和grap…

Android原生实现控件outline方案(API28及以上)

Android控件的Outline效果的实现方式有很多种&#xff0c;这里介绍一下另一种使用Canvas.drawPath()方法来绘制控件轮廓Path路径的实现方案&#xff08;API28及以上&#xff09;。 实现效果&#xff1a; 属性 添加Outline相关属性&#xff0c;主要包括颜色和Stroke宽度&…