etcd的安装和使用

简介: etcd的安装和使用

安装及启动


在Mac上,推荐使用brew安装

brew install etcd

可以使用etcd启动服务,但更推荐使用 brew services 来管理使用brew安装的应用~

# 启动某个应用,这里用 etcd 做演示
brew services start etcd
# 停止某个应用
brew services stop etcd
# 查看当前应用列表
# 可以看到相关应用的状况
brew services list 

相关操作


验证是否成功启动:

etcdctl endpoint health

curl -L http://172.16.101.55:2379/health

查看版本:

curl http://127.0.0.1:2379/version

微信截图_20230926163316.png

V3.4版本之后默认是V3接口,不再支持V2:

etcd v3使用gRPC作为其消息传递协议。 etcd项目包括一个基于gRPC的Go客户端和一个命令行实用程序etcdctl,用于通过gRPC与etcd集群进行通信。 对于不支持gRPC的语言,etcd提供了JSON gRPC网关。 该网关提供一个RESTful代理,该代理将HTTP/JSON请求转换为gRPC消息

ETCD v3 restful api 使用详解

v2和v3接口差异较大, 如果想继续使用v2, 需要在启动时指定 --enable-v2=true,否则直接请求v2的api会报404

etcd --enable-v2=true:

微信截图_20230926163331.png

(下面继续使用v2接口)

  • 查看key:

curl 127.0.0.1:2379/v2/keys

  • 新建key:

(如果key之前存在,则默认会先删除,再新建一个key。如果想要直接update,则需追加 -d prevExist=true,但若加该参数,如果key之前不存在会报错)

curl 127.0.0.1:2379/v2/keys/ckl -XPUT -d value="shuang"

微信截图_20230926163407.png

  • 创建目录:

curl 127.0.0.1:2379/v2/keys/mulu666 -XPUT -d dir=true

微信截图_20230926163419.png

  • 创建带ttl的键值(单位为秒):

curl 127.0.0.1:2379/v2/keys/key_with_expired_time -XPUT -d value='这是key的值,这个key生命周期是5s' -d ttl=5

微信截图_20230926163455.png

  • 创建有序键值:
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="西施"
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="昭君"
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="貂蝉"
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="杨玉环"

微信截图_20230926163528.png

  • 删除指定的键:

curl 127.0.0.1:2379/v2/keys/ckl -XDELETE

微信截图_20230926163539.png

  • 列出所有的集群成员:

curl 127.0.0.1:2379/v2/members

  • 查看leader:

curl 127.0.0.1:2379/v2/stats/leader

微信截图_20230926163615.png

  • 查看集群运行状态:

curl 127.0.0.1:2379/v2/stats/store

微信截图_20230926163626.png

除去restful Api,etcdctl命令行也支持相关操作,如:

  • 放入一个 键值对:

etcdctl put "myname" "fliter"

  • 取出一个 键值对etcdctl get  "myname"
  • 删除一个 键值对etcdctl del  "myname"

微信截图_20230926163705.png

命令行操作和resuful Api操作应该是互通的。但看起来数据居然没有共通,有点奇怪...


不错的GUI


有一些还不错的第三方开源UI,可以界面化查看和操作

比如 etcd-manage

例如,可以在界面新增key,或修改内容等

微信截图_20230926163719.png

看起来和etcdctl是通的,神奇的是和restful Api不通...

微信截图_20230926163753.png

目录
相关文章
【Vite】Vite设置好了Proxy,但接口却404!解决方案来了!
前言 最近在做一个Vue3+Vite+TypeScript的项目,进行一番网上冲浪后,参考了众多🐴友的方案,配置完vite.config.ts准备开始与后端的同学开始联调,发现无论怎么样都是404,然后就开始了一步步的排查!
6831 0
|
3月前
|
人工智能 弹性计算 运维
OpenClaw 阿里云实战指南:保姆级部署+高效使用+避坑全解
OpenClaw(社区昵称“小龙虾”)是2026年备受关注的开源AI智能体执行网关,核心定位是让大模型从“对话”升级为“行动”,通过自然语言指令自动完成文件管理、浏览器操控、服务器运维、流程自动化等真实任务,成为个人与团队的24小时数字员工。其具备本地优先、完全开源、永久免费(仅需支付API调用成本)、高适配性等核心优势,完美兼容阿里云各类云服务,成为阿里云用户部署AI代理的首选方案。
433 0
|
网络协议 算法 物联网
Go语言的WebSocket与实时通信
本文介绍了 WebSocket 技术及其在 Go 语言中的实现。WebSocket 是一种基于 TCP 的协议,支持客户端与服务器间的持久连接和实时通信,相比传统 HTTP 更高效。文章详细讲解了 WebSocket 的核心概念、Go 语言中的相关库(如 `gorilla/websocket`),以及其实现步骤和应用场景。通过代码示例展示了如何构建 WebSocket 服务器和客户端,并探讨了其在聊天应用、实时更新、游戏和物联网等领域的实际用途。此外,还推荐了相关工具和学习资源,帮助开发者更好地掌握这一技术。
613 3
|
人工智能 并行计算 Java
一文彻底搞清楚数字电路中的运算器
运算器(ALU)是数字电路的核心组件,负责执行算术和逻辑运算。其设计直接影响计算机系统的性能与效率。本文详细介绍了运算器的基本结构、功能分类、设计原理及实现方法。通过分析1位全加器、多位加法器、减法器的设计,结合74LS181N芯片和Logisim仿真工具的应用,展示了4位加/减法运算器的实现案例。同时探讨了多级运算器集成、标志位应用及现代优化方向,如超前进位加法器和并行计算技术。运算器的设计需兼顾功能完备性和性能优化,未来将向更高集成度和更低功耗发展。
1912 0
|
JavaScript
vue3完整教程从入门到精通(新人必学2,搭建项目)
本文介绍了如何在Vue 3项目中安装并验证Element Plus UI框架,包括使用npm安装Element Plus、在main.js中引入并使用该框架,以及在App.vue中添加一个按钮组件来测试Element Plus是否成功安装。
859 0
vue3完整教程从入门到精通(新人必学2,搭建项目)
|
存储 监控 算法
[etcd]简介与安装
[etcd]简介与安装
413 0
|
IDE PHP 开发工具
「Python入门」python环境搭建及VScode使用python运行方式
**Python 概述与环境搭建摘要** Python是一种解释型、面向对象、交互式的脚本语言,以其简单易学和丰富库著称。安装Python时,推荐在Windows上选择.exe安装程序,记得勾选“Add Python to PATH”。安装完成后,通过环境变量配置确保Python可被系统识别。验证安装成功,可在CMD中输入`python --version`。Visual Studio Code (VScode)是流行的Python IDE,安装Python插件并选择解释器后,可直接在VScode内编写和运行Python代码。
1307 0
「Python入门」python环境搭建及VScode使用python运行方式
|
Linux 网络安全 数据安全/隐私保护
linux免密登录最简单--图文详解
linux免密登录最简单--图文详解
425 2

热门文章

最新文章