2018-05-28
4341 ワード
インストールetcdをダウンロード
起動サービス:各ノードは以下の構成を実行し、HOST 1、HOST 2、HOST_3複数のサーバにそれぞれ設定されたIP
machine 1は、次のコマンドを実行します.
machine 2は、次のコマンドを実行します.
machine 3は、次のコマンドを実行します.
サーバーが正常に動作しているかどうかを確認します.
ストレージデータ
接頭辞によるクエリー
削除
トランザクションは$./に書き込まれます.etcdctl --endpoints=$ENDPOINTS put user1 bad OK
$ ./etcdctl --endpoints=$ENDPOINTS txn --interactive
compares://以下の内容を入力し、入力終了を2回押してvalue("user 1")="bad"
//user 1=badの場合get user 1 success requests(get,put,del):get user 1
//user 1!=badは、put user 1 good failure requests(get,put,del):put user 1 goodを実行する
//運転結果、success SUCCESSを実行
user1 bad
$ ./etcdctl --endpoints=$ENDPOINTS txn --interactive compares: value("user1") = "111"
//user 1=111の場合get user 1 success requests(get,put,del):get user 1
//user 1!=111、put user 1 2222 failure requests(get,put,del):put user 1 2222
//運転結果、failure FAILUREを実行
OK
$ ./etcdctl --endpoints=$ENDPOINTS get user1 user1 2222
watch
その他の操作[https://coreos.com/etcd/docs/latest/demo.html]
$ mkdir -p $GOPATH/src/github.com/coreos
$ cd !$
$ git clone https://github.com/coreos/etcd.git
$ cd etcd
$ ./build
起動サービス:各ノードは以下の構成を実行し、HOST 1、HOST 2、HOST_3複数のサーバにそれぞれ設定されたIP
TOKEN=token-01
CLUSTER_STATE=new
NAME_1=machine-1
NAME_2=machine-2
NAME_3=machine-3
HOST_1=192.168.1.126// ip
HOST_2=192.168.1.119// ip
HOST_3=192.168.1.103
CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380
machine 1は、次のコマンドを実行します.
$ cd $GOPATH/src/github.com/coreos/etcd/bin
# For machine 1
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}
machine 2は、次のコマンドを実行します.
$ cd $GOPATH/src/github.com/coreos/etcd/bin
# For machine 2
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}
machine 3は、次のコマンドを実行します.
$ cd $GOPATH/src/github.com/coreos/etcd/bin
# For machine 3
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}
サーバーが正常に動作しているかどうかを確認します.
$ cd $GOPATH/src/github.com/coreos/etcd/bin
export ETCDCTL_API=3
HOST_1=192.168.1.126
HOST_2=192.168.1.119
HOST_3=192.168.1.103
ENDPOINTS=$HOST_1:2379,$HOST_2:2379,$HOST_3:2379
./etcdctl --endpoints=$ENDPOINTS member list
ストレージデータ
./etcdctl --endpoints=$ENDPOINTS put foo "Hello World!"
./etcdctl --endpoints=$ENDPOINTS get foo
./etcdctl --endpoints=$ENDPOINTS --write-out="json" get foo
接頭辞によるクエリー
./etcdctl --endpoints=$ENDPOINTS put web1 value1
./etcdctl --endpoints=$ENDPOINTS put web2 value2
./etcdctl --endpoints=$ENDPOINTS put web3 value3
./etcdctl --endpoints=$ENDPOINTS get web --prefix
web1
value1
web2
value2
web3
value3
削除
./etcdctl --endpoints=$ENDPOINTS put key myvalue
./etcdctl --endpoints=$ENDPOINTS del key
./etcdctl --endpoints=$ENDPOINTS put k1 value1
./etcdctl --endpoints=$ENDPOINTS put k2 value2
./etcdctl --endpoints=$ENDPOINTS del k --prefix
トランザクションは$./に書き込まれます.etcdctl --endpoints=$ENDPOINTS put user1 bad OK
$ ./etcdctl --endpoints=$ENDPOINTS txn --interactive
compares://以下の内容を入力し、入力終了を2回押してvalue("user 1")="bad"
//user 1=badの場合get user 1 success requests(get,put,del):get user 1
//user 1!=badは、put user 1 good failure requests(get,put,del):put user 1 goodを実行する
//運転結果、success SUCCESSを実行
user1 bad
$ ./etcdctl --endpoints=$ENDPOINTS txn --interactive compares: value("user1") = "111"
//user 1=111の場合get user 1 success requests(get,put,del):get user 1
//user 1!=111、put user 1 2222 failure requests(get,put,del):put user 1 2222
//運転結果、failure FAILUREを実行
OK
$ ./etcdctl --endpoints=$ENDPOINTS get user1 user1 2222
watch
// stock1 ( put ) ,watch
./etcdctl --endpoints=$ENDPOINTS watch stock1
//
$ cd $GOPATH/src/github.com/coreos/etcd/bin
export ETCDCTL_API=3
HOST_1=192.168.1.126
HOST_2=192.168.1.119
HOST_3=192.168.1.103
ENDPOINTS=$HOST_1:2379,$HOST_2:2379,$HOST_3:2379
./etcdctl --endpoints=$ENDPOINTS put stock1 1000
./etcdctl --endpoints=$ENDPOINTS watch stock --prefix
./etcdctl --endpoints=$ENDPOINTS put stock1 10
./etcdctl --endpoints=$ENDPOINTS put stock2 20
その他の操作[https://coreos.com/etcd/docs/latest/demo.html]