大数据----【Zookeeper集群搭建】

Zookeeper集群搭建与配置详解:大数据环境下的最佳实践 Apache Zookeeper作为分布式系统的核心协调服务,在现代大数据架构中扮演着不可或缺的角色。本文将带领读者深入探索Zookeeper集群的搭建与配置,从理论基础到实践操作,全面解析如何在大数据环境中构建稳定、高效、可靠的Zookeeper集群。我们将系统讲解Zookeeper的核心概念、集群工作原理、搭建步骤、配置优化、安全加固、监控告警以及故障处理等关键知识,并通过大量实战案例和最佳实践,帮助读者掌握在生产环境中部署和维护Zookeeper集群的专业技能。 阅读详情

安装前需要安装好jdk

安装JDK之前是需要删除openjdk

1. 卸载openjdk

rpm -qa|grep java
rpm -e --nodeps xxxxxxxxxxxxxxxxxxx
一次性全删除
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64 java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64 tzdata-java-2015e-1.el6.noarch

2. 安装JDK

mkdir -p /export/servers  软件安装(将压缩包放到里面,然后解压到该文件夹下,然后删除压缩包)
mkdir -p /export/software 安装包
mkdir -p /export/data     数据存放

安装JDK

安装在export/servers即可

配置环境变量

vi /etc/profile

在最后添加
export JAVA_HOME=/export/servers/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重启profile

source /etc/profile

查看版本即可

java -version

拷贝到其他机器
拷贝jdk到其他机器:
scp -r /export/servers/jdk1.8.0_65/ root@node-2:/export/servers
拷贝配置文件到其他机器
scp -r /etc/profile root@node-2:/etc

tips: 注意冒号后面不要有空格!!!

3. 检测集群时间是否同步

网络同步:
yum install ntpdate
ntpdate cn.pool.ntp.org

4. 检测防火墙是否关闭

chkconfig iptables --list (查找)
chkconfig iptables off(关闭)

5. 检测主机 ip映射有没有配置

vi /etc/hosts
192.168.244.151 node-1
192.168.244.152 node-2
192.168.244.153 node-3

6. SSH免密登录

  • 创建密钥ssh-keygen按四下回车即可
  • 将公钥拷贝给其他机器ssh-copy-id node-2
  • 将公钥拷贝给自己ssh-copy-id node-1
    • 当机器以ssh登录的时候是以单独进程登录的,包括登录自己都需要密码验证
  • 每台机器都需要做同样的操作即可

7. 安装zookeeper

下载安装包、解压
tar -zxvf zookeeper-3.4.5.tar.gz
mv zookeeper-3.4.5 zookeeper (重命名)
修改环境变量(注意:3台zookeeper都需要修改)
vi /etc/profile
export ZOOKEEPER_HOME=/export/servers/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
修改Zookeeper配置文件
cd zookeeper/conf
//复制配置文件并改名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
//重命名
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改内容:

dataDir=/export/data/zkdata

添加内容 :
server.1=node-1:2888:3888     ## (心跳端口、选举端口)
server.2=node-2:2888:3888
server.3=node-3:2888:3888
创建文件夹:
cd /export/data
mkdir dir zkdata
在data文件夹下新建myid文件,myid的文件内容为:
cd zkdata
echo 1 > myid

查看是否配置了myid cat /export/data/zkdata/myid

分发安装包到其他机器
scp -r /export/servers/zookeeper root@node-2:/export/servers/
scp -r /export/servers/zookeeper root@node-3:/export/servers/
修改其他机器的配置文件

修改myid文件
到node-2上:修改myid为:2 cd zkdata echo 2 > myid
到node-3上:修改myid为:3 cd zkdata echo 3 > myid

启动

/export/servers/zookeeper/bin/zkServer.sh statrt

查看状态

/export/servers/zookeeper/bin/zkServer.sh status

8. 一键脚本启动(每台机器)

vi startZk.sh
或者编写一个脚本来批量启动所有机器:

for host in {node-1,node-2,node-3}
do
   ssh $host "source /etc/profile;/export/servers/zookeeper/bin/zkServer.sh start"
done

增加权限chmod u+x startZk.sh

tips: 当ssh远程登录其他机器的时候,并不能自己加载机器的环境变量 , 因此需要在shell脚本中手动加载环境变量 , 然后再去执行其他操作 .

对于java程序 , 启动的时候需要加载jdk , 关闭的时候直接关闭进程即可

9. 一键脚本关闭

vi stopZk.sh

for host in {node-1,node-2,node-3}
do
   ssh $host "/export/servers/zookeeper/bin/zkServer.sh stop"
done

增加权限chmod u+x stopZk.sh

tips : 关闭的时候不需要java环境的支持.

可以自己写一个一键查看zookeeper的启动状态的shell程序.

10. 查看集群状态

jps(查看进程)是jdk自带的命令 , 用于显示当前机器所有正在运作中的java进程

QuorumPeerMain就是zk运行时的进程名字

zkServer.sh status(查看集群状态,主从信息)

如果启动不成功,可以观察zookeeper.out日志,查看错误信息进行排查


配置文件中参数说明:

tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。

initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。

当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。

syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。

dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;

clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;

server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。


JDK配置环境变量

export JAVA_HOME=/root/apps/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
大数据技能竞赛之zookeeper集群环境搭建(二) 一、将zoo安装包解压到指定路径/usr/zookeeper 1、新建目录 [root@master usr]# mkdir zookeeper [root@slave1usr]# mkdir zookeeper [root@slave2usr]# mkdir zookeeper 2、解压缩 [root@master package]# tar xvf zookeeper-3.4.10.tar.gz -C /usr/zookeeper [root@slave1 package]# tar .. 阅读详情

相关推荐

大数据领域Zookeeper集群搭建实战指南

在大数据分布式系统中,Zookeeper作为核心协调组件,承担着配置管理、分布式锁、领导者选举等关键任务。Zookeeper核心架构与一致性协议原理集群节点配置与网络规划最佳实践生产环境高可用性保障方案与Hadoop/Kafka等生态组件的集成方法故障诊断与性能优化策略核心概念:解析数据模型、节点类型、ZAB协议等底层原理算法解析:通过代码示例演示领导者选举与原子广播机制实战指南:分步讲解单节点到集群的搭建、配置调优、故障演练。

AI云原生与云计算技术学院 535

Emeditor Regular Expression

要注意的是,查找所有,要加上 "." 后面+上“*”EmEditor FAQ: What are examples of regular expressions?Q. What are examples of regular expressions?strings surrounded by double-quotation marks".*?" strings surrounded by

Solaris_navi Tech Space 6479

大数据领域Zookeeper实战:搭建高可用集群

在大数据时代,分布式系统的应用越来越广泛。Zookeeper作为一个开源的分布式协调服务,为分布式应用提供了高效、可靠的协调机制。搭建Zookeeper高可用集群的目的在于确保服务的稳定性和可靠性,避免单点故障带来的影响。本文的范围主要涵盖Zookeeper高可用集群的搭建过程、相关原理的讲解、实际应用场景分析以及后续的学习资源推荐等方面。本文首先介绍Zookeeper的背景知识,包括核心概念和相关术语。接着详细讲解Zookeeper的核心算法原理和具体操作步骤,通过Python代码进行示例。

大数据洞察的博客 951

http://www.cnblogs.com/elleniou/archive/2012/07/31/2617312.html

[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实数:"^[0-

hit_mlb的专栏 3万+

CentOS 7 服务器搭建 ZooKeeper 集群与大数据

在本篇文章中,我们将详细介绍如何在 CentOS 7 服务器上安装和配置 ZooKeeper 集群,以支持大数据应用的开发和部署。ZooKeeper 是一个分布式协调服务,广泛用于大数据领域,如 Apache Hadoop、Apache Kafka 等项目中。通过按照上述步骤在多台 CentOS 7 服务器上进行安装和配置,您可以构建一个 ZooKeeper 集群,为大数据应用提供高可用性和分布式协调服务。解压缩下载的软件包并将其移动到适当的位置。现在,ZooKeeper 集群已经安装和配置完成。

BugCrusher的博客 110

【Educoder作业】※ 数字图像——绿幕抠像

这次作业比上一篇博客基本得多,大多都是基础函数的运用。没啥说的,就整个sizesizesize即可。 T2 获取一个像素 T3 图像反色 T4 修改透明度 ′RGBA′'RGBA'′RGBA′也是一种图像格式 T5 抠图 T6 添加场景 这个主要是pastepastepaste函数里面的maskmaskmask参量没整明白,转载一篇博客供参考。...

JZYshuraK的博客 7571

linux安装zookeeper和dubbo

1、安装zookeeper zookeeper是以集群的形式存在,也就是说三台zookeeper做同一件事,在官方文档中说明,zookeeper以奇数台为稳定,并且以中间这一台为leader,也就是说zookeeper至少需要三台(不是一台,一台称之为单节点) 为什么说以奇数台为稳定?? zookeeper是以一个leader带领很多个follower完成的集群,并且奇数和选举机制有关 1、配置z...

qq1094409128的博客 5896

Palantir的Ontology:从静态知识图谱到动态业务引擎的跃迁

本文探讨了Palantir的Ontology技术如何将静态知识图谱升级为动态业务引擎。通过引入函数和行动作为核心元素,Ontology实现了业务逻辑的自动化响应与执行,显著提升物流、能源等领域的运营效率。文章详细解析了其混合存储引擎、状态监听网络等关键技术设计,并对比展示了传统架构与Ontology架构的业务价值差异。

weixin_42570296的博客 200

B. Little Robber Girl's Zoo(CF#359)

B. Little Robber Girl's Zoo time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little Robber Girl likes to sca

Limhhhhh的博客 1万+

[AbutionGraph] 报表制作-使用Grafana动态可视化知识图谱指标

使用开源报表可视化工具Grafana实时监控时序知识图谱数据仓库AbutionGraph中的数据,实时性报表查询, 满足单次百万千万级的数据查询,毫秒级查询延迟,亚秒级对千亿数据量汇总统计,每日过亿报表查询/多维分析/日志分析等数据指标...

图特摩斯科技-博客 4278

UE5.3像素流送Docker化部署:从Linux服务器搭建到云端实时渲染

本文详细介绍了在Linux服务器上使用Docker容器化部署UE5.3像素流送服务的完整流程。通过将虚幻引擎运行时、信令服务器和TURN服务打包为标准化镜像,利用Docker Compose进行编排,实现了云端实时渲染应用的快速部署、环境一致与弹性扩展,有效解决了传统部署中的环境依赖与运维难题。

k0l1m2n3o的博客 200

使用SolrCloud出现org.apache.solr.common.SolrException: Collection not found: xxxxx

首先,我是用的是solr7.4.0,但是我项目中solrj使用的是4.10.3,这样在使用SolrCloud时,就会出现 org.apache.solr.common.SolrException: Collection not found: XXXXX  这样的异常,collection确定是存在,这时候,我们需要把solrj的版本修改为7.4.0,来保持一致。...

VicterTian的博客 3158

手把手教你用fusb302实现PD快充:从驱动移植到实战调试(附源码)

本文详细解析了基于FUSB302芯片实现USB PD快充的完整开发流程。内容涵盖芯片选型、硬件设计要点、Linux驱动移植与内核集成,并重点剖析了PD协议交互中的关键调试技巧,如“死亡15ms”时序问题与中断模式选择。文章通过实战经验,帮助嵌入式开发者高效完成从驱动移植到系统集成的全链路开发,并附有源码参考。

sky77的博客 375

大数据时代|Zookeeper分布式集群搭建,和你的认知是否一致

前言 Zookeeper是什么? 官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 文中Zookeeper分布式集群搭建在Linux CentOS7系统之上。搭建大数据分布式集群,不建议使用root用户直接操作,故文中使用bigdata用户进行集群的搭建。 一、环境准备 软件 版本 Linux系统 Cen

python6_quanzhan的博客 252

瑞萨RA6M5驱动ST7735屏幕避坑指南:从软件SPI到显示汉字与图形的完整流程

本文详细介绍了瑞萨RA6M5单片机驱动ST7735屏幕的完整流程,涵盖硬件连接、软件SPI控制、汉字显示及图形绘制优化等关键步骤。通过避坑指南和实用代码示例,帮助开发者解决屏幕初始化、时序控制、字库移植等常见问题,实现高效稳定的显示效果。

weixin_28705087的博客 275

(第100天)Oracle GoldenGate 常见故障处理指南

OGG 运维的核心在于细致的配置管理和主动的问题排查。熟悉常见错误、掌握关键操作流程、并善用日志和调试工具,是保障数据同步任务稳定运行的关键。希望这份指南能帮助您更高效地解决 OGG 同步中遇到的问题。祝您运维顺利!

LuciferLiu_DBA 301

【大数据环境安装指南】ZooKeeper搭建spark高可用集群教程

本文介绍了Spark集群的搭建与高可用配置,主要包括:1)Spark核心组件与架构,包括Spark Core、SQL、Streaming等模块功能及Standalone集群架构;2)Spark集群搭建步骤,包括环境准备、版本选择、安装配置及集群部署;3)高可用实现方案,通过ZooKeeper协调多Master节点实现故障自动切换;4)集群启动流程,需依次启动ZooKeeper、Hadoop和Spark服务。文章详细说明了在CentOS/Rocky/Kylin系统下基于Hadoop 3.4.2和JDK 8环境

ayst1994的博客 1399

【实战】基于 Inner-IoU 的 YOLOv8 优化指南:显著提升检测精度

Inner-IoU 凭借辅助边框的创新设计,成功解决了传统 IoU 损失在小目标、遮挡场景下的收敛难题,为 YOLOv8 注入了更强的定位能力。从原理剖析到代码集成,本教程已为你铺就了一条“精度提升”的实战路径。现在,不妨亲自上手尝试,让你的目标检测模型在各类数据集上都能交出一份“精度优异”的答卷——相信我,当你看到检测框精准贴合目标的那一刻,你会明白这份尝试的价值。

m0_64661770的博客 107

大数据场景下的Zookeeper集群的搭建

等服务器2启动时,1和2都为自己投一票,1发现2的myid(后续配置)大于自身,把自己的票给服务器2,服务器2有2票还是没有半数以上,两者都looking状态,等服务器3来了,重复操作,服务器3就有3票达到半数以上,服务器3就称为leader,并且服务器1,2改为followeing状态,后续服务器启动,following状态的服务器不会将自己的票投给他们,所以服务器3就是最终的leader。2888端口是zk集群内部的端口是leader和follower之间数据同步等操作使用的端口。

j218255的博客 1206

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大数据集群搭建篇:Hadoop、Spark、ZooKeeper、kafka集群搭建

一、创建虚拟机安装CentOS 1.1、安装CentOS 1、使用课程提供的CentOS 6.5镜像即可,CentOS-6.5-i386-minimal.iso。 2、创建虚拟机:打开Virtual Box,点击“新建”按钮,点击“下一步”,输入虚拟机名称为spark1,选择操作系统为Linux,选择版本为Red Hat,分配1024MB内存,后面的选项全部用默认,在Virtual Disk File location and size中,一定要自己选择一个目录来存放虚拟机文件,最后点击“create”按钮

犇犇 1313

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建

基于Apache Hadoop搭建Hadoop集群HA+Zookeeper集群

老杜的博客 1056

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

大数据集群搭建:安装部署MySQL、SQL Server、Zookeeper、Hadoop、Spark、Flink、Kafka、Kettle、Airflow、Flume、Zeppelin集群

大数据集群搭建:安装部署mysql、sqlserver、Zookeeper、Hadoop、Spark、Flink、Kafka、kettle、airflow集群 文章分类 链接 大数据集群环境搭建 大数据集群环境搭建:Hadoop、Spark、Flink分布式集群环境 mysql5.7 mysql5.7数据库主从同步、双机热备、读写分离高可用集群的实现 mysql5.7 CentOS7离线安装mysql5.7.32 mysql8 CentOS7离线安装mysql-8.0.19

zhengzaifeidelushang的博客 1579

大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

大数据集群搭建进度及问题总结 所有资料在评论区那里可以得到 第一章: 1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定是自己的,自动获取的,不能和张部长的192.168.

m0_55901666的博客 1万+

大数据Hadoop集群部署:从开始的jdk安装到zookeeper集群的搭建

大数据Hadoop集群部署:从开始的jdk安装到zookeeper集群的搭建 前提准备:centos7,jdk,zookeeper,Hadoop的压缩包,上传文件的工具winscp. 1.Jdk的安装 (1)关闭防火墙(2台都进行) Systemctl stop firewalld 停止防火墙 Systemctl disable f...

小白要变小黑的博客 1221

大数据集群环境搭建详细步骤,涉及zookeeper,hadoop,hive,hbase,kafka

背景 公司需要搭建一套大数据集群环境用于测试,本文记录其详细过程,方便后面参考 环境信息 一主两从,均为ubuntu18.04 主:192.168.10.203(mufengcn) 从:192.168.10.202(mufengcn),192.168.10.200(tsroot) 注:假定括号内为ssh用户名,均为非root用户名(真实服务器,文中涉及到的用户名图文是不对应的,我只是把文案中涉及到的用户名批量替换了下~) 准备 设置主机名及配置hosts 依次设置主机名,如: sudo hostname b

yangqin@1225的博客 8522
上一篇: VMware
下一篇: 网络编程
CoderBoom
博客等级 码龄8年 62粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值