【etcd】etcd单机安装及简单操作

https://blog.csdn.net/Mr_XiMu/article/details/125026635
https://blog.csdn.net/m0_73192864/article/details/136509244

etcd在生产环境中一般为集群方式部署
etcd使用的2个默认端口号:2379和2380
2379:用于客户端通信(类似于sqlserver的1433,mysql的3306)
2380:用于与集群中的Peer通信
因为etcd是go语言编写的,安装只需要下载对应的二进制文件,并放到合适的路径就行

https://github.com/etcd-io/etcd/tags

安装方式一,用官方提供的脚本(没成功)

https://github.com/etcd-io/etcd/releases/tag/v3.4.33
https://blog.csdn.net/Mr_XiMu/article/details/125026635

mkdir /opt/soft
mkdir /opt/soft/etcd/ && cd  /opt/soft/etcd/

vim etcd

ETCD_VER=v3.5.13# choose either URL 
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}rm -f /opt/soft/etcd/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /opt/soft/etcd/etcd-download-test && mkdir -p /opt/soft/etcd/etcd-download-testcurl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /opt/soft/etcd/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar -zxvf /opt/soft/etcd/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /opt/soft/etcd/etcd-download-test --strip-components=1
rm -f /opt/soft/etcd/etcd-${ETCD_VER}-linux-amd64.tar.gz#查看安装是否成功的相关命令
/opt/soft/etcd/etcd-download-test/etcd --version
/opt/soft/etcd/etcd-download-test/etcdctl version
/opt/soft/etcd/etcd-download-test/etcdutl version
chmod 777 etcd
# start a local etcd server
./etcd# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo

在这里插入图片描述
应该是download压缩包的问题,不纠结的去找了。

方式二,逐个执行官方提供脚本(成功)

mkdir /usr/local/mytools && cd /usr/local/mytoolswget https://github.com/etcd-io/etcd/releases/download/v3.4.3/etcd-v3.4.3-linux-amd64.tar.gz tar xzvf etcd-v3.4.3-linux-amd64.tar.gzcd etcd-v3.4.3-linux-amd64 && lscp etcd etcdctl /usr/local/bin
# etcd是server端,etcdctl是客户端
# 将这etcd和etcdctl两个二进制文件复制到/usr/local/bin目录, 这样系统中可以直接调用etcd/etcdctl这两个程序etcd --version
etcdctl version

在这里插入图片描述

方式三,docker安装(未测试)

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \docker rmi gcr.io/etcd-development/etcd:v3.4.33 || true && \docker run \-p 2379:2379 \-p 2380:2380 \--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \--name etcd-gcr-v3.4.33 \gcr.io/etcd-development/etcd:v3.4.33 \/usr/local/bin/etcd \--name s1 \--data-dir /etcd-data \--listen-client-urls http://0.0.0.0:2379 \--advertise-client-urls http://0.0.0.0:2379 \--listen-peer-urls http://0.0.0.0:2380 \--initial-advertise-peer-urls http://0.0.0.0:2380 \--initial-cluster s1=http://0.0.0.0:2380 \--initial-cluster-token tkn \--initial-cluster-state new \--log-level info \--logger zap \--log-outputs stderrdocker exec etcd-gcr-v3.4.33  /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.4.33  /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.4.33  /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.4.33  /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.4.33  /usr/local/bin/etcdctl get foo

简单操作

启动etcd服务端 etcd
在这里插入图片描述

 1.name表示节点名称,默认为default2.data-dir 保存日志和快照的目录,默认为当前工作目录default.etcd/目录下。3.在http://localhost:2380和集群中其他节点通信。4.在http://localhost:2379提供客户端交互。5.heartbeat为100ms,该参数的作用是leader多久发送一次心跳到followers,默认值是100ms。6.election为1000ms,该参数的作用是重新投票的超时时间,如果follow在该时间间隔没有收到心跳包,会触发重新投票,默认为1000ms。7.snapshot count为10000,该参数的作用是指定有多少事务被提交时,触发截取快照保存到磁盘。8.集群和每个节点都会生成一个uuid。9.启动的时候会运行raft,选举出leader

客户端读写数据

etcdctl --endpoints=localhost:2379 put foo bar
etcdctl --endpoints=localhost:2379 get foo

在这里插入图片描述
删除数据

# 清空数据
etcdctl del / --prefix#删除所有/test前缀的节点
etcdctl del /test --prefix

监听

#1. 增加一个key,值为hello(客户端窗口1)
etcdctl put key1 "hello"#2. 打开一个新的客户端窗口2,监听key1的变化
etcdctl watch key1#3. 回到窗口1,向key1 中删除原有的值put新值为hello work
etcdctl put key1 "hello work"# 4. 此时可以在窗口2中看到监听输出# 查看版本信息
curl http://127.0.0.1:2379/version

为etcd创建服务

mkdir -p /var/lib/etcd/ && mkdir -p /etc/etcd/
vim /etc/etcd/etcd.conf
# 节点名称
ETCD_NAME="etcd0"
# 指定数据文件存放位置
ETCD_DATA_DIR="/var/lib/etcd/"
vim /etc/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target[Service]
User=root
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.confExecStart=/usr/local/bin/etcd
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target

重新加载systemd服务

systemctl daemon-reload

记得要把之前的etcd进程给kill掉

 ps -ef | grep etcdkill -9 [etcd进程对应pid]
systemctl enable etcd   #开机自启动
systemctl status etcd
systemctl start etcd
systemctl stop etcd
systemctl restart etcd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30939.shtml

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

相关文章

vscode卡顿问题处理(vue-official插件)

vue官方扩展由volar升级为vue-official,部分人的ide会变得非常卡顿,这是由于vscode本身一些问题导致,如下图作者解释: 解决方式: 通过禁用Hybrid模式,不使用tsserver来接管语言支持,卡顿会缓解…

CSS文本超限后使用省略号代替

方案一: 只显示一行,超限后使用省略号代替 .detail {overflow: hidden;text-overflow: ellipsis;white-space: nowrap; }方案二: 显示多行,到最后一行还没有显示完,则最后一行多出来的部分使用省略号代替。 .detai…

语音数据采集

语音数据采集是从音频源(如麦克风)捕获声音信号的过程,这些信号可以用于多种语音相关的应用,包括语音识别和语音处理。 语音识别是指将语音信号转换为文本或命令的过程,它通常涉及以下步骤: 语音信号捕获&…

Vulhub——Log4j、solr

文章目录 一、Log4j1.1 Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)1.2 Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645) 二、Solr2.1 Apache Solr 远程命令执行漏洞(CVE-2017-12629)2.…

[AIGC]Guava中Table、HashBasedTable和TreeBasedTable的详解

Google的Guava库在Java集合框架中增加了许多新的集合类型,其中包括Table、HashBasedTable以及TreeBasedTable。这些建议设计成可以与JDK集合共存,提供了一些我们认为有广泛用途但JDK未提供的功能。 1. Table Guava的Table代表了一个包含行、列和相应单…

C++数据格式化5 - uint转换成十六进制字符串二进制的data打印成十六进制字符串

1. 关键词2. strfmt.h3. strfmt.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键字: C 数据格式化 字符串处理 std::string int hex 跨平台 应用场景: int 型的数据打印成十六进制字符串二进制的data打印成十六进制字符串。 2. strfmt.h #p…

异步任务使用场景与实践

异步任务使用场景 根据同步/异步方式划分场景,各场景下常用的技术方案如下: 方式实现特点缺点同步HTTP RPC Cache etc.指标:RT、QPS、TPS、缓存命中率 等; 关注(准)实时数据,用户可交互1. 处…

javascript--类型检测 type of 和 instanceof

类型判断 1、typeof2、instanceof**instanceof 的原理** 3、constructor 1、typeof typeof在检测null、object、array、data的结果中都是object&#xff0c;所以无法用来区分这几个类型的区别。 <script>let a ["123",123,false,true,Symbol(1),new Date(),n…

[负载均衡详解]

负载均衡技术: 一、负载均衡集群技术的实现: 负载均衡技术类型:基于 4 层负载均衡技术和基于 7 层负载均衡技术 负载均衡实现方式:硬件负载均衡设备或者软件负载均衡 硬件负载均衡产品:F5 、深信服 、Radware 软件负载均衡产品: LVS(Linux Virtual Server)、 Hapr…

【HiveSQL】join关联on和where的区别及效率对比

测试环境&#xff1a;hive on spark spark版本&#xff1a;3.3.1 一、执行时机二、对结果集的影响三、效率对比1.内连接1&#xff09;on2&#xff09;where 2.外连接1&#xff09;on2&#xff09;where 四、总结PS 一、执行时机 sql连接中&#xff0c;where属于过滤条件&#…

ubuntu18.04 安装HBA

HBA是一个激光点云层级式的全局优化的程序&#xff0c;他的论文题目是&#xff1a;HBA: A Globally Consistent and Efficient Large-Scale LiDAR Mapping Module&#xff0c;对应的github地址是&#xff1a;HKU-Mars-Lab GitHub 学习本博客&#xff0c;可以学到gtsam安装&am…

E/Rajawali: Shader log: ERROR: 0:6: ‘GL_OES_standard_derivatives‘ : extension

错误信息 E/Rajawali: Shader log: ERROR: 0:6: ‘GL_OES_standard_derivatives’ : extension 定位 该错误存在rajawali渲染引擎 v1.1.9701以及以上 目前具体涉及的版本 v1.1.9701v1.2.1970 解决方案 在FragmentShader最前面加一行 #extension GL_OES_standard_derivat…

系统凭据钓鱼揭秘

背景 在进行内网横向移动时&#xff0c;通常会尝试抓取目标机器上的登录哈希和密码。但是&#xff0c;这种方法并不总是可行&#xff0c;因为有些目标机器可能没有这些信息&#xff0c;或者这些信息已经被清除或加密。因此&#xff0c;黑客们开始模拟Windows系统环境中的身份认…

智慧学习实践系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;企业管理&#xff0c;任务管理&#xff0c;公告管理&#xff0c;菜单管理&#xff0c;用户管理&#xff0c;基础数据管理 企业账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;任务…

视频融合共享平台LntonCVS视频监控安防系统运用多视频协议建设智慧园区方案

智慧园区&#xff0c;作为现代化城市发展的重要组成部分&#xff0c;不仅推动了产业的升级转型&#xff0c;也成为了智慧城市建设的核心力量。随着产业园区之间的竞争日益激烈&#xff0c;如何打造一个功能完善、智能化程度高的智慧园区&#xff0c;已经成为了业界广泛关注的焦…

蓝桥杯 经典算法题 压缩字符串

题目&#xff1a; 实现一个算法来压缩一个字符串。压缩的要求如下&#xff1a; 需要判断压缩能不能节省空间&#xff0c;仅在压缩后字符串比原字符串长度更短时进行压缩。 压缩的格式是将连续相同字符替换为字符 数字形式&#xff0c;例如 "AAABCCDDDD" 变为 &quo…

多线程(Lock锁,死锁,等待唤醒机制,阻塞队列,线程池)

Lock锁 虽然我们可以理解同步代码块和同步方法的锁对象问题但是我们并没有直接看到在哪里加上了锁&#xff0c;在哪里释放了锁为了更清晰的表达如何加锁和释放锁&#xff0c;JDK5以后提供了一个新的锁对象Lock Lock实现提供比使用synchronized方法和语句可以获得更广泛的锁定操…

数据可视化作业二:中国城市地铁数据可视化

目录 作业要求 一、绘制每个城市站点数量柱状图&#xff08;降序排列&#xff09; 1.1 每个城市站点数量统计 1.1.1 代码展示 1.1.2 统计结果展示 1.2 柱状图绘制 1.2.1 代码实现 1.2.2 绘制结果 二、绘制上海市地铁线路站点数饼状图 2.1 数据处理 2.2 代码实现 2.3…

实际二分搜索(写出函数,再用二分搜索法找左右边界 画图理解

实际二分搜索&#xff08;写出函数&#xff0c;再用二分搜索法找左右边界 看到最大值的最小化&#xff0c;左边界&#xff0c;最小化的最大值&#xff0c;右边界 画图理解 爱吃香蕉的珂珂 class Solution {public int minEatingSpeed(int[] piles, int h) {int left1,right10…

Mysql 8.3.0 安装

Mysql 8.3.0 安装地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) 下载链接&#xff1a;https://downloads.mysql.com/archives/get/p/23/file/mysql-8.3.0-linux-glibc2.28-x86_64.tar.xz 解压&#xff1a; tar -xvf mysql-8.3.0-linux-glib…