中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ETCD集群安裝實驗

發布時間:2020-09-07 13:53:33 來源:網絡 閱讀:3043 作者:貓貓maomao 欄目:數據庫


目錄


【1、下載二進制程序】
【2、安裝etcd集群】
【3、查詢集群狀態】
【4、存入讀取數據】
【5、注意事項】
【6、參考鏈接】


簡介:
???? Etcd的官網文檔及其在GitHub上的文檔,已經非常全了,而且簡潔明了,無論是二進制安裝、還是Docker下運行、命令操作,都有詳細的說明。但直接復制安裝還是會出錯的,只有親手做一遍,才能發現有哪些問題。


【1、下載二進制程序】

#分別在三臺主機上下載并安裝etcd和etcdctl程序
#設定ETCD的版本

ETCD_VER=v3.3.8

# 設置下載地址URL
GITHUB_URL=
https://github.com/coreos/etcd/releases/download
DOWNLOAD_URL=${GITHUB_URL}

#清除之前的臨時文件和目錄,創建新的目錄
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

#使用curl下載etcd二進制文件
#地址為
https://github.com/coreos/etcd/releases/download/v3.3.8/etcd-v3.3.8-linux-amd64.tar.gz
#解包后刪除壓縮包
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

#將etcd 和 etcdctl可執行程序移動到系統路徑中,方便直接運行程序
sudo mv /tmp/etcd-download-test/etcd* /usr/local/bin

#查詢etcd和etcdctl版本,
#檢查是否能正常運行程序。

etcd --version
ETCDCTL_API=3 etcdctl version


【2、安裝etcd集群】

#在節點node1上執行

TOKEN=token-01
CLUSTER_STATE=new
NAME_1=node1
NAME_2=node2
NAME_3=node3
HOST_1=192.168.3.161
HOST_2=192.168.3.162
HOST_3=192.168.3.163
CLUSTER=${NAME_1}=
http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380

THIS_NAME=${NAME_1}
THIS_IP=${HOST_1}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
--initial-advertise-peer-urls
http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
--advertise-client-urls
http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
--initial-cluster ${CLUSTER} \
--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

#此處注意,直接復制github網站上的代碼,執行時會報錯
#2018-06-29 16:57:54.048863 E | etcdmain: error verifying flags, '.--initial-advertise-peer-urls' is not a valid flag. See 'etcd --help'.
#
https://github.com/coreos/etcd/blob/master/Documentation/demo.md
#需要清除掉--短橫線之前的空格字符


#在節點node2上執行

TOKEN=token-01
CLUSTER_STATE=new
NAME_1=node1
NAME_2=node2
NAME_3=node3
HOST_1=192.168.3.161
HOST_2=192.168.3.162
HOST_3=192.168.3.163
CLUSTER=${NAME_1}=
http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380

THIS_NAME=${NAME_2}
THIS_IP=${HOST_2}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
--initial-advertise-peer-urls
http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
--advertise-client-urls
http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
--initial-cluster ${CLUSTER} \
--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}


#在節點node3上執行

TOKEN=token-01
CLUSTER_STATE=new
NAME_1=node1
NAME_2=node2
NAME_3=node3
HOST_1=192.168.3.161
HOST_2=192.168.3.162
HOST_3=192.168.3.163
CLUSTER=${NAME_1}=
http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380

THIS_NAME=${NAME_3}
THIS_IP=${HOST_3}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
--initial-advertise-peer-urls
http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
--advertise-client-urls
http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
--initial-cluster ${CLUSTER} \
--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}


【3、查詢集群狀態】
export ETCDCTL_API=3
HOST_1=192.168.3.161
HOST_2=192.168.3.162
HOST_3=192.168.3.163
ENDPOINTS=$HOST_1:2379,$HOST_2:2379,$HOST_3:2379

etcdctl --endpoints=$ENDPOINTS --write-out=table member list
etcdctl --endpoints=$ENDPOINTS --write-out=table endpoint status
etcdctl --endpoints=$ENDPOINTS --write-out=table endpoint health

圖1查詢集群的狀態

ETCD集群安裝實驗


【4、存入讀取數據】
#在同一網段的其他機器上,下載并解包etcdctl,
#使用etcdctl命令訪問etcd的集群

export ETCDCTL_API=3
HOST_1=192.168.3.161
HOST_2=192.168.3.162
HOST_3=192.168.3.163
ENDPOINTS=$HOST_1:2379,$HOST_2:2379,$HOST_3:2379

etcdctl --endpoints=$ENDPOINTS put myurl www.sina.com.cn
etcdctl --endpoints=$ENDPOINTS get myurl

圖2使用etcdctl 存入和讀取數據

ETCD集群安裝實驗


#或者使用curl 訪問etcd集群,
#通過集群中的任何一個節點,都可以訪問到數據

HOST_1=192.168.3.161
HOST_2=192.168.3.162
HOST_3=192.168.3.163
curl -X PUT
http://${HOST_1}:2379/v2/keys/myurl -d value=www.china.com
curl -X GET
http://${HOST_1}:2379/v2/keys/myurl
curl -X GET http://${HOST_2}:2379/v2/keys/myurl
curl -X GET http://${HOST_3}:2379/v2/keys/myurl
curl http://192.168.3.161:2379/v2/keys

圖3使用curl 存入和讀取數據

ETCD集群安裝實驗


【5、注意事項】
1、直接復制粘貼github上的代碼會出錯,需要清除etcd命令中--短橫線之前的空格
2018-06-29 16:57:54.048863 E | etcdmain: error verifying flags, '.--initial-advertise-peer-urls' is not a valid flag. See 'etcd --help'.
2、主機的時間應該同步,可以安裝NTP服務,否則會告警:
2018-06-29 18:04:29.328082 W | rafthttp: the clock difference against peer 5d5a6e579c03726b is too high [3.777632896s > 1s]


【6、參考鏈接】
etcd官方網址
https://coreos.com/etcd/docs/latest/demo.html
https://github.com/coreos/etcd/releases/
https://github.com/coreos/etcd/blob/master/Documentation/demo.md

etcd rest API基本操作
https://segmentfault.com/a/1190000005649865

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉隆县| 禹城市| 年辖:市辖区| 诏安县| 漳州市| 溧水县| 禄劝| 茂名市| 旌德县| 和平区| 寿阳县| 巴楚县| 响水县| 贺州市| 友谊县| 广州市| 建水县| 弥渡县| 安顺市| 惠水县| 南华县| 茶陵县| 莒南县| 开原市| 盘山县| 阿拉尔市| 隆林| 台北县| 金堂县| 年辖:市辖区| 三河市| 平舆县| 来安县| 行唐县| 兴义市| 凌海市| 贡嘎县| 海林市| 若尔盖县| 襄汾县| 富蕴县|