узел zookeeper удаляется после перезагрузки системы - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь создать новый узел в zookeeper с помощью groovy, но после перезагрузки системы узел исчезает, как будто его никогда не создавали.

Этот код является частью конвейера Jenkins, который в пост-билде создает отличный скрипт для некоторых оконных ВМ. затем конвейер выполняет перезапуск на этом компьютере, и узел исчезает.

У меня это происходит на нескольких других виртуальных машинах Windows

Вот мой код:

@Grab('org.apache.zookeeper:zookeeper:3.4.6')

import org.apache.zookeeper.*
import static org.apache.zookeeper.ZooKeeper.States.*
import org.apache.zookeeper.ZooDefs.Ids;

final int TIMEOUT_MSEC = 5000
final int RETRY_MSEC = 100
def num_retries enter code here= 0
PATH_TO_NODE = "/some/path/to/node"

noOpWatcher = { event -> } as Watcher

zk = new ZooKeeper('myIP', TIMEOUT_MSEC, noOpWatcher)


def addNode() {
    if (zk.exists(PATH_TO_NODE, true) == null) {
        /*create node*/
        println("creating nodes")
        zk.create(PATH_TO_NODE, new byte[0], Ids.OPEN_ACL_UNSAFE,
                CreateMode.PERSISTENT)

        zk.create(PATH_TO_NODE + "myNode", "someData".getBytes(), Ids.OPEN_ACL_UNSAFE,
                CreateMode.PERSISTENT)
    } else {
        println("node already exists")
    }

}

while (zk.state != CONNECTED && num_retries < (TIMEOUT_MSEC / RETRY_MSEC)) {
    Thread.sleep(RETRY_MSEC)
    num_retries++
}
if (zk.state != CONNECTED) {
    println("could not connect to zookeeper")
    System.exit(1)
} else {
    addNode()
}

zk.close()
...