Centos7以普通用户启动zookeeper并加入开机自启动服务

简介:

我的环境的zookeeper目录为/opt/app/zk,假设我想以zookeeper用户启动

以下示例,在/etc/systemd/system/文件夹下创建一个启动脚本zookeeper.service

[Unit]
Description=zookeeper
After=syslog.target network.target

[Service]
Type=forking
Environment=ZOO_LOG_DIR=/opt/app/zk/log
ExecStart=/opt/app/zk/bin/zkServer.sh start
ExecStop=/opt/app/zk/bin/zkServer.sh stop
Restart=always
User=zookeeper
Group=zookeeper

[Install]
WantedBy=multi-user.target

以上脚本重点内容在于Environment=ZOO_LOG_DIR=/opt/app/zk/log

为什么要给ZOO_LOG_DIR赋值呢?


打开bin/zkEnv.sh,搜索ZOO_LOG_DIR,你会发现下面这段

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    ZOO_LOG_DIR="."

这段脚本的意思是说ZOO_LOG_DIR如果未指定,则它的值为你启动zookeeper时的当前目录,而bin/zkServer.sh启动时又是先调用zkEnv.sh,然后创建一个${ZOO_LOG_DIR}/zookeeper.out日志文件,如果此时刚好普通用户对该目录没有创建文件的权限,则启动时就会报错,具体错误就是zookeeper.out...permison denied


所以我们利用Environment=ZOO_LOG_DIR=/opt/app/zk/log这条语句主动给ZOO_LOG_DIR赋值(或者你直接在zkEnv.sh或zkServer.sh指定ZOO_LOG_DIR的值也是可以的),然后将zookeeper的目录赋权给普通用户:

chown -R zookeeper.zookeeper /opt/app/zk

启动zookeeper:

systemctl start zookeeper

加入开机启动:

systemctl enable zookeeper

OK,搞定


本文转自 kuSorZ 51CTO博客,原文链接:http://blog.51cto.com/kusorz/1920778


相关文章
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
1162 1
|
Linux 网络安全 数据安全/隐私保护
centos开启samba服务
通过以上步骤,您已成功在CentOS系统上安装、配置并启动了Samba服务,并且可以通过Windows或Linux客户端访问共享目录。Samba为跨平台文件共享提供了强大的支持,配置灵活且易于管理。无论是简单的家庭网络共享还是企业级文件服务器,Samba都能胜任。通过合理的配置和访问控制,您可以确保文件共享的安全性和便利性。
1870 74
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2513 25
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
632 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
1032 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
1946 2
CentOS 7.x时间同步服务chrony配置详解
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
1683 2
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
3357 1
|
监控 Dubbo Java
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
这篇文章详细介绍了如何将Spring Boot与Dubbo和Zookeeper整合,并通过Dubbo管理界面监控服务注册情况。
1474 0
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
409 1