etcd常見問題彙總

2021-08-20 05:23:39 字數 1696 閱讀 7835

使用github.com\coreos\etcd\clientv3\example_kv_test.go

func examplekv_put() )

if err != nil

defer cli

.close()

ctx, cancel := context.withtimeout(context.background(), requesttimeout)

_, err = cli

.put(ctx, "sample_key", "sample_value")

cancel()

if err != nil

}

使用命令列etcdctl 死活獲取不到:

./etcdctl  get

"sample_key"

提示error: 100: key not found

使用命令列set/get是正常的:

./etcdctl set

"foo"

"bar"

./etcdctl get

"foo"

原因:需要設定etcdctl的api版本號,v2和v3不同版本,資料是不互通的。

export etcdctl_api=3
**如下:

func register(dir string, value

string)

)cli, err := clientv3.new(clientv3.config)

if err != nil

defer cli.close()

resp, err := cli.grant(context.todo(), 5)

if err != nil

_, err = cli.put(context.todo(), dir, value, clientv3.withlease(resp.id))

if err != nil

fmt.println(resp.id)

fmt.println("ttl:")

// the key 'foo' will be kept forever

ch, kaerr := cli.keepalive(context.todo(), resp.id)

if kaerr != nil

ka := <-ch

fmt.println("ttl:", ka.ttl)

// output: ttl: 5

gresp, err := cli.get(context.todo(),dir,clientv3.withlease(resp.id))

if err != nil

fmt.println(gresp.kvs)

fmt.println("number of keys:", len(gresp.kvs))

}

現象:執行完這個方法後keepalive 的節點會立馬刪除,百思不得其解。

原因:方法執行完後直接close了

defer cli.close()

解決方法:應該把cli設定為全域性的,不進行銷毀

Oracle常見問題彙總

1 如果建立了多個oracle例項,那麼訪問em的時候預設訪問的是第乙個例項的,如何訪問第二個呢?看下這個檔案就會明白了 oracle home install portlist.ini enterprise manager console http 埠 shili1 1158 enterprise...

ab常見問題彙總

測試伺服器ab 被測試伺服器apache apache版本2.2.25 問題一 socket too many open files 24 解決 在測試伺服器操作 1 檢視當前系統設定 open files n 1024為1024 root localhost ulimit a core file ...

knn常見問題彙總

knn演算法又稱為k最近鄰 k nearest neighbor class ification 分類演算法。所謂的k最近鄰,就是指最接近的k個鄰居 資料 即每個樣本都可以由它的k個鄰居來表達。knn演算法的核心思想是,在乙個含未知樣本的空間,可以根據離這個樣本最鄰近的k個樣本的資料型別來確定樣本的...