Go最全Etcd教程 — 第一章 Etcd简介、Etcd单机安装_etcd 安装,我的Golang春季历程

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

在这里插入图片描述
注:2.2到2.4的安装方式在github上都有写,详见https://github.com/etcd-io/etcd/releases/tag/v3.5.4

2.2 Linux安装Etcd

2.2.1 创建执行脚本

在 linux的 /opt/soft/etcd/ 目录下创建一个脚本文件:

vim etcd

2.2.2 脚本内容
ETCD\_VER=v3.5.4

# 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-test

curl -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

2.2.3 执行脚本里的命令

/opt/soft/etcd 执行:

./etcd

如果在执行时提示权限不够,则需要授权,然后再次执行即可:

chmod 777 etcd

2.2.4 查看Etcd安装是否成功
2.2.4.1 查看Etcd服务端安装是否成功
/opt/soft/etcd/etcd-download-test/etcd --version

如下显示则安装成功:

etcd Version: 3.5.4
Git SHA: 08407ff76
Go Version: go1.16.15
Go OS/Arch: linux/amd64

注意:需要将etcd加入到环境变量中,否则会在 3.3.3 执行 goreman启动命令 步骤时报 /bin/sh: etcd: 未找到命令

vim ~/.bashrc

将etcd环境变量添加到文件末尾。

export GOROOT=/usr/local/go #GOROOT是系统上安装Go软件包的位置。
export GOPATH=/root/go/GOPATH #GOPATH是工作目录的位置。这个是自己创建的,想放在哪都行
export ETCD=/opt/soft/etcd/etcd-download-test #ETCD

#export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
export PATH=$GOPATH/bin:$GOROOT/bin:$ETCD:$PATH
export GOPROXY="https://goproxy.cn"

加完后按esc键退出编辑模式,输入:wq保存退出。

source ~/.bashrc 更新配置文件。

2.2.4.2 查看Etcd客户端安装是否成功
/opt/soft/etcd/etcd-download-test/etcdctl version

如下显示则安装成功:

etcdctl version: 3.5.4
API version: 3.5

2.2.5 启动Etcd
# start a local etcd server
/opt/soft/etcd/etcd-download-test/etcd

2.2.6 测试
# write,read to etcd
/opt/soft/etcd/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/opt/soft/etcd/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo

2.3 macOS (Darwin)安装Etcd

ETCD\_VER=v3.5.4

# 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 /tmp/etcd-${ETCD\_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD\_URL}/${ETCD\_VER}/etcd-${ETCD\_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD\_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD\_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD\_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD\_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD\_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version

2.4 Docker安装Etcd

Docker安装Etcd前,需要先在Linux上安装Docker,Docker的安装步骤参见:centos7安装docker

2.4.1安装Etcd的命令(1)
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.5.4 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-v3.5.4 \
  gcr.io/etcd-development/etcd:v3.5.4 \
  /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

安装中遇到的一些问题:
Q1: 提示仓库里没有 gcr.io/etcd-development/etcd:v3.5.4

Error: No such image: gcr.io/etcd-development/etcd:v3.5.4
Unable to find image 'gcr.io/etcd-development/etcd:v3.5.4' locally
docker: Error response from daemon: Get "https://gcr.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

使用 docker search etcd 搜索仓库里的etcd:

NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
bitnami/etcd                     Bitnami etcd Docker Image                       126                  [OK]
elcolio/etcd                     Tiny Etcd Container with TLS support and etc…   88                   [OK]
microbox/etcd                    Trusted Automated etcd image (17MB size)        38                   [OK]
appcelerator/etcd                etcd                                            13                   [OK]
xieyanze/etcd3                   etcd v3.0.9 image                               12                   [OK]
monsantoco/etcd-aws-cluster                                                      12                   [OK]


![img](https://img-blog.csdnimg.cn/img_convert/8cc0f2f33943dac9642d4bb622ee1081.png)
![img](https://img-blog.csdnimg.cn/img_convert/57ba8c3cf196ad856d8661e2b64291ec.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

(img-pSldOvBV-1715812107509)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值