在ZooKeeper中,可以使用delete()
方法来删除节点
package main import ( "fmt" "time" "github.com/samuel/go-zookeeper/zk" ) func main() { // 连接到ZooKeeper集群 connection, _, err := zk.Connect([]string{"127.0.0.1:2181"}, time.Second*5) if err != nil { fmt.Printf("Failed to connect to ZooKeeper: %v\n", err) return } defer connection.Close() // 创建一个节点 nodePath := "/example_node" createData := []byte("example_data") createFlags := int32(0) createAcl := zk.WorldACL(zk.PermAll) _, err = connection.Create(nodePath, createData, createFlags, createAcl) if err != nil { fmt.Printf("Failed to create node: %v\n", err) return } // 等待一段时间,以便节点可以被删除 time.Sleep(time.Second * 1) // 删除节点 err = connection.Delete(nodePath, -1) if err != nil { fmt.Printf("Failed to delete node: %v\n", err) return } fmt.Println("Node deleted successfully") }
在这个示例中,我们首先连接到ZooKeeper集群,然后创建一个名为/example_node
的节点。接下来,我们等待一秒钟,以便节点可以被删除。最后,我们使用Delete()
方法删除该节点。
请注意,Delete()
方法的第一个参数是要删除的节点的路径,第二个参数是版本号。在这个示例中,我们使用-1
作为版本号,这意味着我们删除最新的版本。如果你想删除特定版本的节点,可以将其替换为相应的版本号。