zookeeper-3.4.10.tar.gz部署linux服务器后怎么创建账号设置acl权限
在ZooKeeper中,ACL(Access Control Lists)用于控制对znodes的访问权限。ZooKeeper支持不同的认证方式,例如:IP、Digest(用户名和密码的方式)、world(开放世界,任何人都可以访问)等。下面是如何在ZooKeeper中创建账号并设置ACL权限的步骤:
-
安装ZooKeeper:
确保你已经将ZooKeeper的tar.gz包解压并配置好了ZooKeeper的环境。配置包括设置conf/zoo.cfg
文件,启动ZooKeeper服务等。 -
启动ZooKeeper服务:
使用以下命令启动ZooKeeper服务:./bin/zkServer.sh start
-
连接到ZooKeeper服务:
使用ZooKeeper的客户端连接到服务:./bin/zkCli.sh -server 127.0.0.1:2181
-
创建账号:
ZooKeeper没有传统意义上的“账号”概念,但可以使用digest
认证方式来模拟账号密码的效果。例如,创建一个用户名为user1
,密码为password1
的账号,可以使用以下命令:addauth digest user1:password1
-
设置ACL:
在ZooKeeper中,可以使用setAcl
命令来设置特定znode的ACL。例如,如果你想设置一个znode/example
,使得只有user1
有权限读写,可以使用以下命令:setAcl /example digest:user1:password1:crwda
这里
crwda
分别代表创建(create)、读取(read)、写入(write)、删除(delete)、管理(admin)权限。 -
验证ACL:
为了验证ACL是否设置成功,可以尝试使用不同的认证信息来访问该znode。如果没有使用正确的用户名和密码,应该会被拒绝访问。
请注意,上述步骤中的密码需要通过SHA1加密后的摘要,而不是明文密码。在实际使用setAcl
命令时,需要将user1:password1
替换为对应的摘要字符串。可以使用ZooKeeper自带的DigestAuthenticationProvider
工具来生成这个摘要字符串:
java -cp zookeeper.jar:lib/log4j-1.2.17.jar:lib/slf4j-log4j12-1.7.25.jar:lib/slf4j-api-1.7.25.jar:conf org.apache.zookeeper.server.auth.DigestAuthenticationProvider user1:password1
这将输出一个字符串,比如user1:BASE64STRING
,你需要使用这个输出值来替换setAcl
命令中的user1:password1
。
请记住,ZooKeeper的ACL是针对每个znode设置的,而不是全局用户账号。因此,每个znode都可以有不同的ACL设置。
zookpeer设置acl账号和权限后,clickhouse配置文件应该怎么配置
在使用ZooKeeper进行集群管理时,ClickHouse需要与ZooKeeper进行通信。如果ZooKeeper设置了ACL权限,那么ClickHouse需要提供相应的认证信息才能与ZooKeeper交互。
在ClickHouse配置文件中,你需要在<zookeeper>
部分提供ZooKeeper的连接信息,并且包含认证信息。下面是一个配置示例,展示了如何在ClickHouse的配置文件中设置ZooKeeper的连接和ACL认证信息:
<yandex>
<!-- 其他配置 -->
<zookeeper>
<node>
<host>zookeeper1</host>
<port>2181</port>
</node>
<node>
<host>zookeeper2</host>
<port>2181</port>
</node>
<node>
<host>zookeeper3</host>
<port>2181</port>
</node>
<!-- ACL认证信息 -->
<session_timeout_ms>30000</session_timeout_ms>
<operation_timeout_ms>10000</operation_timeout_ms>
<digest>
<user>user1</user>
<password>password1</password>
</digest>
</zookeeper>
<!-- 其他配置 -->
</yandex>
在上面的配置中,<digest>
部分包含了ZooKeeper的认证信息,其中<user>
和<password>
分别对应于你在ZooKeeper中设置的用户名和密码。请确保这些信息与你在ZooKeeper中设置的ACL匹配。
请注意,配置文件中的密码应该是明文密码,ClickHouse会在内部处理加密过程以匹配ZooKeeper中存储的加密密码。
在配置文件修改完成后,需要重启ClickHouse服务以使配置生效:
sudo service clickhouse-server restart
确保ZooKeeper集群的所有节点都在配置文件中正确配置,并且ACL认证信息正确无误。这样,ClickHouse就能够成功连接到ZooKeeper并进行必要的操作。
zookpeer设置acl账号和权限后,dolphinscheduler配置文件应该怎么配置
在Apache DolphinScheduler中,如果ZooKeeper设置了ACL权限,你需要在DolphinScheduler的配置文件中指定ZooKeeper的认证信息。DolphinScheduler使用zookeeper.properties
文件来配置与ZooKeeper相关的设置。
以下是如何在zookeeper.properties
文件中配置ZooKeeper的ACL认证信息的步骤:
-
找到
zookeeper.properties
文件:
这个文件通常位于DolphinScheduler的conf
目录下。 -
编辑
zookeeper.properties
文件:
打开zookeeper.properties
文件,并找到与ZooKeeper连接相关的配置项。 -
添加认证信息:
在文件中添加或修改以下配置项,以包含ZooKeeper的认证信息:# ZooKeeper服务器列表 zookeeper.quorum=zk1:2181,zk2:2181,zk3:2181 # ZooKeeper会话超时时间 zookeeper.session.timeout=60000 # ZooKeeper连接超时时间 zookeeper.connection.timeout=30000 # ZooKeeper重试间隔时间 zookeeper.retry.interval=10000 # ZooKeeper重试次数 zookeeper.retry.maxtime=10 # ZooKeeper ACL认证类型,这里使用digest zookeeper.digest.enable=true # ZooKeeper ACL认证用户信息,格式为user:password zookeeper.digest.user=user1:password1
在上述配置中,
zookeeper.digest.enable
设置为true
表示启用ACL认证,zookeeper.digest.user
包含了用户名和密码,这些应该与你在ZooKeeper中设置的ACL匹配。 -
保存并关闭文件:
保存zookeeper.properties
文件的更改,并关闭编辑器。 -
重启DolphinScheduler服务:
为了让配置生效,你需要重启DolphinScheduler服务。这通常涉及到重启Master Server和Worker Server等组件。# 停止DolphinScheduler服务 sh bin/dolphinscheduler-daemon.sh stop all # 启动DolphinScheduler服务 sh bin/dolphinscheduler-daemon.sh start all
确保在配置DolphinScheduler之前,ZooKeeper的ACL已经正确设置,并且DolphinScheduler的配置文件中的认证信息与ZooKeeper中的设置相匹配。这样,DolphinScheduler就能够成功连接到ZooKeeper并进行必要的操作。