ZooKeeper集群搭建步骤
一、准备虚拟机
准备三台虚拟机,对应ip地址和主机名如下:
ip地址 | Hostname |
192.168.153.150 | ant163 |
192.168.153.151 | ant164 |
192.168.153.152 | ant165 |
修改hostname,并使之生效
[root@localhost /]# hostnamectl set-hostname zookeeper1 //修改hostname
[root@localhost /]# hostname //查看hostname
[root@localhost /]# bash //刷新
进入/etc/sysconfig/network-scripts/ifcfg-ens33目录下修改网络信息

重启网络服务
systemlctl restart network.service
service network restart
测试ping

成功连接XShell

【注】这里可能由于内存不够导致无法创建新虚拟机。关闭虚拟机需要使用shutdown命令,不能直接使用可视化关闭。
二、安装配置zookeeper
添加压缩包,压缩包我放在/opt/install下面。
链接: https://pan.baidu.com/s/1FWn0t095KxoSz3PaKteHZw 提取码: 4ew2 复制这段内容后打开百度网盘手机App,操作更方便哦
添加主机hosts
# 添加hosts
[root@hadoop02 ~]# vim /etc/hosts # 添加IP地址和主机名
192.168.153.150 ant163
192.168.153.151 ant164
192.168.153.152 ant165
尝试连接,可以ping通

将hosts文件拷贝到其他两台主机上
[root@hadoop02 ~]# scp /etc/hosts root@ant164:/etc/
[root@hadoop02 ~]# scp /etc/hosts root@ant165:/etc/
打开另一台机器,成功拷贝

设置免密登录
进入家目录,进入.ssh目录下
# 设置免密登录
[root@hadoop02 .ssh]# ssh-keygen -t rsa -P ''# 将公钥追加到authorized_keys文件中
[root@hadoop02 .ssh]# cat /root/.ssh/id_rsa.pub >> ./authorized_keys # 将当前公钥拷贝到ant164公钥中
[root@hadoop02 .ssh]# ssh-copy-id -i ./id_rsa.pub -p22 root@ant164
[root@hadoop02 .ssh]# ssh-copy-id -i ./id_rsa.pub -p22 root@ant165
查看id_rsa.pub公钥


查看备付公钥:

# 测试免密登录是否成功
[root@hadoop02 .ssh]# ssh -p22 root@ant163
[root@hadoop02 .ssh]# ssh -p22 root@ant164
[root@hadoop02 .ssh]# ssh -p22 root@ant165
将zookeeper压缩包分配到其他两台主机上
[root@ant163 .ssh]# scp /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz root@ant164:/opt/install/
[root@ant163 .ssh]# scp /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz root@ant165:/opt/install/在ant163上安装脚本文件
#! /bin/bash
echo 'auto install begining....'#global var
hostname=`hostname`jdk=false
hadoop=false
zk=true# JAVA_HOME
if [ "$jdk" = true ];thenecho 'jdk install set true'echo 'setup jdk-8u321-linux-x64.tar.gz'tar -zxf /opt/install/jdk-8u321-linux-x64.tar.gz -C /opt/soft/mv /opt/soft/jdk1.8.0_321 /opt/soft/jdk180sed -i '73a\export PATH=$PATH:$JAVA_HOME/bin' /etc/profilesed -i '73a\export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profilesed -i '73a\export JAVA_HOME=/opt/soft/jdk180' /etc/profilesed -i '73a\#jdk' /etc/profileecho 'setup jdk 8 success!!!'
fi#ZK_HOME
if [ "$zk" = true ];thenecho 'zookeeper install set true'echo 'setup zookeeper-3.4.5-cdh5.14.2.tar.gz'tar -zxf /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/soft/mv /opt/soft/zookeeper-3.4.5-cdh5.14.2 /opt/soft/zk345cp /opt/soft/zk345/conf/zoo_sample.cfg /opt/soft/zk345/conf/zoo.cfgmkdir -p /opt/soft/zk345/datassed -i '12c dataDir=/opt/soft/zk345/datas' /opt/soft/zk345/conf/zoo.cfgecho "server.0=$hostname:2287:3387" >> /opt/soft/zk345/conf/zoo.cfgecho "0" > /opt/soft/zk345/datas/myidsed -i '73a\export PATH=$PATH:$ZOOKEEPER_HOME/bin' /etc/profilesed -i '73a\export ZOOKEEPER_HOME=/opt/soft/zk345' /etc/profilesed -i '73a\#ZK' /etc/profile# 刷新系统配置文件source /etc/profileecho 'setup zookeeper success!!!'
fi
开启进程
# 进入到zookeeper/bin目录下
[root@ant163 bin]# ./zkServer.sh start
显示上面进程,表示zookeeper运行。
三台主机分别start,查看status

启动/关闭所有zookeeper/查看所有zookeeper状态
[root@ant151 shell]# ./zkop.sh start#! /bin/bash
case $1 in
"start"){for i in ant151 ant152 ant153 dossh $i "/opt/soft/zk345/bin/zkServer.sh start "done
};;
"stop"){for i in ant151 ant152 ant153 dossh $i "/opt/soft/zk345/bin/zkServer.sh stop "done
};;
"status"){for i in ant151 ant152 ant153 dossh $i "/opt/soft/zk345/bin/zkServer.sh status "done
};;
esac
查看所有zookeeper服务启动情况
[root@ant163 .ssh]# ./showalljps.sh# showalljps.sh
#! /bin/bash
for i in ant151 ant152 ant153 ant154
doecho ---------- $i 服务启动状态 -------------ssh $i "$* "
done
相关文章:
ZooKeeper集群搭建步骤
一、准备虚拟机准备三台虚拟机,对应ip地址和主机名如下:ip地址Hostname192.168.153.150ant163192.168.153.151ant164192.168.153.152ant165修改hostname,并使之生效[rootlocalhost /]# hostnamectl set-hostname zookeeper1 //修改hostname …...
网际协议IP
网际协议IP 文章目录网际协议IP[toc]虚拟互联网IP地址及其表示方法分类IP地址(两级)无分类编址 CIDR网路前缀地址块地址掩码子网划分(三级IP地址)IP地址和MAC地址地址解析协议ARPIP数据报的格式IP数据报首部的固定部分中的各字段IP数据报首部的可变部分分…...
Python 语言参考手册、教程、标准库
官方文档:https://docs.python.org/zh-cn/3.11/ Python 语言参考手册 介绍了 Python 句法与“核心语义”。在力求简明扼要的同时,我们也尽量做到准确、完整。有关内置对象类型、内置函数、模块的语义在 Python 标准库 中介绍。有关本语言的非正式介绍&am…...
数据库连接池 BoneCP、HikariCP 等
文章目录 数据库连接池 BoneCP、HikariCP 等BoneCPDruidTomcat Jdbc PoolHikariCPC3p0DbcpLRUPSCachePS数据库连接池 BoneCP、HikariCP 等 BoneCP 官方说法 BoneCP 是一个高效、免费、开源的 Java 数据库连接池实现库 设计初衷就是为了提高数据库连接池性能,根据某些测试数…...
博客系统 SSM 超强硬核良心推荐之第一弹 - 预备工作
硬核 ! 从 0 到 1 完美实现 SSM 版本的博客系统 , 学会保准不吃亏!一 . SSM 版本相比于 Servlet 版本的亮点二 . 初始化数据库三 . 前端页面3.1 注册页面3.2 登录功能3.3 文章总列表页3.4 自己的文章列表页3.5 文章详情页3.6 编写博客页面大家好 , 这是新的专栏 , 博客系统 SSM…...
[Web] 简单瀑布流布局实现
目前的纯 CSS 布局, 是没办法实现比较完美的瀑布流布局的. 参考: CSS总结:瀑布流布局 - 黑白程序员 我使用 JS CSS, 并且自动布局实现了较为简单, 观赏性好的瀑布流布局. 代码 HTML: <!DOCTYPE html> <html lang"en"> <head><link rel&quo…...
多线程之死锁,哲学家就餐问题的实现
1.死锁是什么 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 2.哲学家就餐问题 有五个哲学家,他们的生活方式是交替地进行思考和进餐…...
UTF-8编码
介绍 UTF-8 编码 UTF-8 是一种针对 Unicode 的可变长度字符编码。 针对 Unicode:UTF-8 是 Unicode 的实现方式之一。相当于 Unicode 规定了字符对应的代码值,这个代码值需要转换为字节序列的形式,用于数据存储、传输。代码值到字节序列的转…...
likeshop单商户SaaS版V1.8.2说明!
likeshop单商户SaaS版V1.8.2主要更新如下: 新增 前端登录引导用户填写头像昵称 PC端—注册页面显示服务协议和隐私政策 PC端—首次进入商城弹出协议提示 PC端—结算页新增门店自提的配送方式 后台—PC端菜单导航栏的跳转链接支持添加自定义链接 优…...
算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零
算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零 最后一块石头的重量 II 1049. 最后一块石头的重量 II - 力扣(LeetCode) 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合…...
nginx-host绕过实例复现
绕过Nginx Host限制第一种处理方法Nginx在处理Host的时候,会将Host用冒号分割成hostname和port,port部分被丢弃。所以,我们可以设置Host的值为2023.mhz.pw:xxx"example.com,这样就能访问到目标Server块:第二种处理…...
Java学习记录day9
类与对象 内部类 成员内部类 在一个类的内部定义的类。 public class Outer {private int a 10;public void outMethod() {System.out.println("这是外部类中的方法");}// 成员内部类public class Inner{private int b 10;public void innerMethod() {// 外部类…...
ActiveReports.NET 17.0 Crack by Xacker
一个完整的报告解决方案,用于在您的业务应用程序中设计、定制、发布和查看报告。 ActiveReports.NET 通过直观的 Visual Studio 集成报表设计器和丰富的控件帮助您提供精美的报表。ActiveReports 提供基于代码的跨平台报告、易于使用的设计器和灵活的 API。适用于桌…...
【计算机网络】传输层TCP协议
文章目录认识TCP协议TCP协议的格式字段的含义序号与确认号六个标志位窗口大小确认应答(ACK)机制超时重传机制连接管理机制三次握手四次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况总结认识TCP协议 传输控制协议 (TCP,T…...
Mysql5.7安装【Windows版】
文章目录一、下载二、添加到环境变量三、添加配置文件my.ini四、安装Mysql 修改密码一、下载 下载地址 滑倒最下面有一个MySQL Community Server 选择要下载的版本 二、添加到环境变量 下载好了之后开始解压 把bin目录添加到环境变量 可以点击进入bin目录,直接复…...
分布式一致性算法Raft原理图释
什么是分布式一致性算法Raft 分布式一致性算法Raft:指在分布式场景下实现集群数据同步的解决方案 掌握了这个算法,就可以较容易地处理绝大部分场景的容错和数据一致性需求 Raft三大角色 跟随者(Follower):普通群众…...
网络安全-字典生成-crunch
网络安全-字典生成-crunch crunch工具,在kali已经集成好了 2是代表最小字符长度 4是最大字符长度 生成了一个2M的文件 还有我们来查看这个密码本 从abcd26个英文字母的2位到4位的组合,他全部排列了一次 还可以自定义数字,特殊字符…...
闪光桐人の实习日记
2023年2月13日 1,认识了职场礼仪,学习了职场礼仪的重要性 尊重->心情愉悦->建立信任与好感->合作机遇的敲门砖 2,学习了职场礼仪中的邮件礼仪 模板管理中设置自己的名片 部门写到三级部,如果部门名太长要换一行 发送…...
PostgreSQL 常见配置参数
max_wal_size : 两个检查点(checkpoint)之间,WAL可增长的最大大小,即:自动WAL checkpoint允许WAL增长的最大值。该值缺省是1GB。如果提高该参数值会提升性能,但也是会消耗更多空间、同时会延长崩溃恢复所需…...
JAVA 常用类型之String结构
String在java中我们是用来操作字符串的,但它的底层结构确是一个char[]数组,通过数组的方式将每个字符进行保存。 使用时:String str"ABCD",内部存value确是:value[A,B,C,D]; 如下图: 参考String源…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
