go-zero 开发之安装 etcd

2023-12-16

本文只涉及 Linux 上的安装。

二进制安装

  • 下载二进制安装包
#ETCD_VER=v3.4.28
ETCD_VER=v3.5.10
DOWNLOAD_URL=https://github.com/etcd-io/etcd/releases/download
INSTALL_DIR=/tmp

rm -f ${INSTALL_DIR}/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf ${INSTALL_DIR}/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o ${INSTALL_DIR}/etcd-${ETCD_VER}-linux-amd64.tar.gz

下载地址示例:

https://github.com/etcd-io/etcd/releases/download/v3.5.10/etcd-v3.5.10-linux-amd64.tar.gz
  • 解压二进制安装包
tar xzvf ${INSTALL_DIR}/etcd-${ETCD_VER}-linux-amd64.tar.gz -C ${INSTALL_DIR}/etcd-download-test --strip-components=1
  • 删除二进制安装包
rm -f ${INSTALL_DIR}/etcd-${ETCD_VER}-linux-amd64.tar.gz
  • 版本检查
${INSTALL_DIR}/etcd-download-test/etcd --version
${INSTALL_DIR}/etcd-download-test/etcdctl version
  • 启动 etcd
${INSTALL_DIR}/etcd-download-test/etcd
  • 往 etcd 写读数据
${INSTALL_DIR}/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
${INSTALL_DIR}/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo

Docker 安装

INSTALL_DIR=/tmp
rm -rf ${INSTALL_DIR}/etcd-data.tmp && mkdir -p ${INSTALL_DIR}/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.4.28 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=${INSTALL_DIR}/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-v3.4.28 \
  gcr.io/etcd-development/etcd:v3.4.28 \
  /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 stderr

docker exec etcd-gcr-v3.4.28  /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.4.28  /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.4.28  /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.4.28  /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.4.28  /usr/local/bin/etcdctl get foo

etcd 主要使用 Google 容器注册表(gcr.io)下的 gcr.io/etcd-development/etcd 仓库来存储其容器镜像。作为次要选项,它还使用 Quay.io 下的 quay.io/coreos/etcd 仓库。这两个注册表都提供 etcd 容器镜像,可用于在类似 Kubernetes 的容器化环境中部署 etcd。

grc: Google Container Registry

安装参考

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

使用证书

假设 CACert 证书文件为 etcd-6ecm89rt-CAcert,Cert 证书文件为 etcd-6ecm89rt-Cert,私钥文件为 etcd-6ecm89rt-Key,etcd 的访问地址为 https://192.168.10.17:2023,取 key 为 foo 的值:

etcdctl --endpoints=https://192.168.10.17:2023 \
        --cacert=etcd-6ecm89rt-CAcert \
        --cert=etcd-6ecm89rt-Cert \
        --key=etcd-6ecm89rt-Key \
        get foo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go-zero 开发之安装 etcd 的相关文章

随机推荐

  • 人为制造redis的热key、大key引发的线上事故

    背景 Redis中间件 我们主要是用来做缓存 缓解数据库的访问压力 我们搭建的是redis集群 在一个风和日丽的下午 突然收到运维的报警信息 运维 小李 你们使用的redis中间件所在的服务器 有大量的流量流出 宽带快要占满了 网卡都冒烟了
  • 【性能优化】MySql查询性能优化必知必会

    本文内容主要包括以下几个方面 分析查询SQL MySQL查询优化器 数据库存储结构 索引 索引维护 索引设计 SQL优化 表结构设计 分库分表 查询功能架构设计 分析查询SQL MySQL提供了一个性能分析工具 EXPLAIN 它可以帮助我
  • 【面向过程】springboot接受到一个请求后做了什么

    从启动开始 先从springboot怎么启动开始 启动完成之后建立web容器才能在容器中处理http请求 什么是 springboot 在spring的官网上 对springboot这样描述到 Spring Boot 可以轻松创建独立的 生
  • 什么是主动学习(Active Learning)?定义,原理,以及主要方法

    数据是训练任何机器学习模型的关键 但是 对于研究人工智能的企业和团队而言 数据仍是实现成功的最大障碍之一 首先 您需要大量数据来创建高性能模型 更重要的是 您需要标注准确的数据 虽然许多团队一开始都是手动标注数据集 但更多团队已逐渐实现数据
  • java服务调用mysql报错

    一 前言 前端服务调用后端服务时出现以下报错 原因是使用mysql5 7版本数据库中存在ONLY FULL GROUP BY这个配置项导致的不兼容 MySQLSyntaxErrorException Expression 32 of SEL
  • Linux新建一个服务

    新建一个服务 你可以创建一个Systemd服务单元 以便在系统启动时运行特定的脚本或程序 首先 创建一个 service 文件 例如my service service 并将其放在 etc systemd system 目录下 在这个文件中
  • 鸿蒙开发入门:应用配置文件概述(二)

    应用配置文件概述 Stage模型 每个应用项目必须在项目的代码目录下加入配置文件 这些配置文件会向编译工具 操作系统和应用市场提供应用的基本信息 在基于Stage模型开发的应用项目代码下 都存在一个app json5及一个或多个module
  • linux设置两个文件权限完全相同方法

    linux设置两个文件权限完全相同方法 第二个文件设置为具有与第一个文件完全相同的权限 1 使用stat命令查看第一个文件的权限 stat c a 文件1 2 使用chmod命令将第二个文件设置为与第一个文件相同的权限 chmod refe
  • go-zero 开发入门-加法客服端示例

    定义 RPC 接口文件 接口文件 add proto 的内容如下 syntax proto3 package add 当 protoc gen go 版本大于 1 4 0 时需加上 go package 否则编译报错 unable to d
  • 智能配音在线怎么弄?教你配音好方法

    想象一下 你有一个精彩的故事 需要给它进行配音 让故事更加生动立体 现在 有许多文字配音App可以帮助你实现这个愿望 无需专业录音设备 只需一款文字配音App 就能轻松实现文字转语音 为故事增添声音 接下来 就为你带来文字配音app推荐免费
  • 自动机器学习是什么?概念及应用

    自动机器学习 Auto Machine Learning 的应用和方法 随着众多企业在大量场景中开始采用机器学习 前后期处理和优化的数据量及规模指数级增长 企业很难雇用充足的人手来完成与高级机器学习模型相关的所有工作 因此机器学习自动化工具
  • 2024备战春招Java面试八股文合集

    Java就业大环境仍然根基稳定 市场上有很多机会 技术好的人前景就好 就看你有多大本事了 小编得到了一份很不错的资源 建议大家可以认真地来看看以下的资料 来提升一下自己的核心竞争力 在面试中轻松应对面试官拿下offer 本文分享 Java后
  • 2023 Java 面试题精选40道,包含答案

    Java中什么是重载 什么是覆盖 它们有什么区别 重载是指在同一个类中 方法名相同但参数类型 个数或顺序不同的情况下 编译器会根据参数列表的不同自动调用不同的方法 覆盖是指子类重写父类的同名方法 使得子类在调用该方法时执行子类的实现而不是父
  • 2024java面试看完这篇笔记薪资和offer稳了!

    新的一年抓住机会 不管跳槽涨薪 还是学习提升 这篇笔记你都不应该错过 为了帮大家节约时间 整理了这篇 Java面试 核心知识点整理 以及 金三银四高频面试合集 希望大家在新的一年都能拿到理想的薪资和offer 内容涵盖 计算机基础 Java
  • Java面试题及答案整理( 2023年12月最新版,持续更新)

    秋招金九银十快到了 发现网上很多Java面试题都没有答案 所以花了很长时间搜集整理出来了这套Java面试题大全 这套互联网 Java 工程师面试题包括了 MyBatis ZK Dubbo EL Redis MySQL 并发编程 Java面试
  • 面试官:什么是JWT?为什么要用JWT?

    目前传统的后台管理系统 以及不使用第三方登录的系统 使用 JWT 技术的还是挺多的 因此在面试中被问到的频率也比较高 所以今天我们就来看一下 什么是 JWT 为什么要用 JWT 1 什么是 JWT JWT JSON Web Token 是一
  • 浅析特征增强&个性化在CTR预估中的经典方法和效果对比

    在CTR预估中 主流都采用特征embedding MLP的方式 其中特征非常关键 然而对于相同的特征 在不同的样本中 表征是相同的 这种方式输入到下游模型 会限制模型的表达能力 为了解决这个问题 CTR预估领域提出了一系列相关工作 被称为特
  • 总有人说鸿蒙是安卓套壳?鸿蒙5.0之后彻底摆脱安卓

    鸿蒙系统的操作逻辑与安卓基本上差不多 这和安卓系统没啥区别 是不是就是安卓系统套了一个壳啊 为什么到今天还是有不少人在争论它到底是不是安卓套壳 这与鸿蒙早期 完全自主研发 的 过激 宣传不无关系 其次就是鸿蒙生态环境上的不足 确实 华为一开
  • 鸿蒙系统的崛起对程序员来说是机遇、还是挑战呢?

    前言 最近 一个话题在程序员圈子里激起了热烈讨论 那就是鸿蒙系统的崛起是否会影响程序员的就业和发展 我该转去学鸿蒙开发吗 鸿蒙前景如何 值不值得投入时间研究 对此 程序员们表达了各种疑虑和困惑 的确 一个全新的操作系统的出现确实让人眼花缭乱
  • go-zero 开发之安装 etcd

    本文只涉及 Linux 上的安装 二进制安装 下载二进制安装包 ETCD VER v3 4 28 ETCD VER v3 5 10 DOWNLOAD URL https github com etcd io etcd releases do