版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Three_dog/article/details/91586120
ARM下源码编译etcd
etcd由go语言编写,编译结果是一个二进制的可执行文件,因此不能跨平台。网络上没有找到ARM直接可用的etcd可执行程序(其实有,只是要积分才能下)。所以考虑在ARM平台下直接源码编译出etcd,需要提前准备ARM下的Go环境。可以直接在go的官网下载arm版本的压缩包,解压即可用。
一、 下载etcd源码
# 可根据自己的需求将3.2.0更换对应版本
wget https://github.com/coreos/etcd/archive/v3.2.0.tar.gz
二、解压编译
tar -zxvf etcd-3.2.0.tar.gz
cd etcd-3.2.0
./build
完成后会在bin目录下生成 etcd
和 etcdctl
的可执行文件
三、运行测试
出现报错看第四步
cd bin
./etcd -version
# etcd Version: 3.2.0
# Git SHA: GitNotFound
# Go Version: go1.11.10
# Go OS/Arch: linux/arm64
./etcdctl -v
# etcdctl version: 3.2.0
# API version: 2
四、报错处理
很多情况下,直接执行etcd或者查看版本测试会出现如下错误:
2019-06-12 18:17:17.641595 E | etcdmain: etcd on unsupported platform without ETCD_UNSUPPORTED_ARCH=arm64 set.
其实提示很清楚,需要添加对应的环境变量即可:
export ETCD_UNSUPPORTED_ARCH=arm64
完后再执行etcd
程序查看效果