Chapter 17. ZooKeeper Console Commands


By default, the ZooKeeper commands are not installed in a Fabric Container. To make the ZooKeeper commands available, install the fabric-zookeeper-commands feature, as follows:
features:install fabric-zookeeper-commands

17.1. zk:create

Abstract

create a znode

Synopsis

zk:create [ --help ] [ -r|--recursive ] [ -i|--import ] [ -e|--ephemeral ] [ -s|--sequential ] [ -a|--acl ListOfACLs ] [ -o|--overwrite ] { path } { data }

Description

Using this command, you can create the following different types of znode:
Persistent
The new znode is permanently stored in the ZooKeeper registry. This is the default.
Persistent sequential
The new znode is permanently stored in the ZooKeeper registry and a 10-digit sequence number is appended to the specified znode name. Selected by the --sequential option.
Ephemeral
The new znode exists only for the duration of the current client session. When the session is over, the znode is removed. Selected by the --ephemeral option.
Ephemeral sequential
The new znode exists only for the duration of the current client session and a 10-digit sequence number is appended to the specified znode name. When the session is over, the znode is removed. Selected by combining the --ephemeral option with the --sequential option.
You can optionally specify a list of ACLs to apply to the newly created znode. The ACL is specified as a comma-separated list, where each entry in the list has the following format:
Scheme:ID:Permissions
ZooKeeper supports the following built-in schemes:
world:anyone
The permissions apply to all users.
auth:
The permissions apply to all authenticated users, irrespective of their identity (the ID field is left empty).
digest:MD5Hash
The permissions apply to the user whose username and password generate the specified MD5 hash value, MD5Hash.
ip:IPAddress
The permissions apply to the ZooKeeper client with the specified IP address.
The Permissions string consists of one or more of the following characters: r (read), w (write), c (create), d (delete), and a (admin). For example, to create a new znode that explicitly grants all permissions to all users (which is, in fact, the default), you could use a command like the following:
karaf@root> zk:create --acl world:anyone:rwcda /path/to/the/new/znode
Important
To avoid corruption of the fabric registry, you should not create any znodes under the /fabric/ path using the zk:create command. These registry nodes should only be created through the fabric console commands—see Chapter 7, Fabric Console Commands.
Note
Fuse Fabric does not use the ACL security features of ZooKeeper. Currently, all znodes in the fabric registry are created without any ACL restrictions (equivalent to the world:anyone:rwcda ACL setting).

Arguments

Table 17.1, “zk:create Arguments” describes the commands arguments.
Table 17.1. zk:create Arguments
ArgumentInterpretation
--helpDisplays the online help for this command
-r,--recursiveAutomatically create any missing parent nodes in the specified path.
-i,--importInterpret the data argument as a URL that locates a resource containing the initial data for the new znode.
-e,--ephemeralMake the new znode epehemeral, so that it is automatically deleted after the current ZooKeeper client session closes.
-s,--sequentialMake the new znode sequential, which implies that a unique 10-digit suffix is appended to the znode name.
-a,--aclSpecifies the znode's ACL as a comma-separated list, where each entry in the list has the format, Scheme:ID:Permissions. The Permissions string consists of the following characters, concatenated in any order: r (read), w (write), c (create), d (delete), and a (admin).
-o,--overwriteOverwrite the existing znode at this location, if there is one.
path(Required) Path of the znode to create.
dataInitial data for the node or, if --import is specified, a URL pointing at a location that contains the initial data.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.