在修改配置前,需停止正在运行的ZooKeeper服务,避免配置冲突:
sudo systemctl stop zookeeper
ZooKeeper的主配置文件通常位于/etc/zookeeper/conf/zoo.cfg(若通过yum安装)。使用文本编辑器(如vi)打开该文件,找到dataDir参数(若未存在则新增),将其值修改为目标数据目录路径(例如/mnt/zookeeper/data):
sudo vi /etc/zookeeper/conf/zoo.cfg
# 找到或添加以下行
dataDir=/mnt/zookeeper/data
mkdir -p命令创建目标目录(-p参数确保父目录不存在时自动创建):sudo mkdir -p /mnt/zookeeper/data
zookeeper),并设置合适的权限(755允许所有者读写执行,其他用户读执行):sudo chown -R zookeeper:zookeeper /mnt/zookeeper/data
sudo chmod -R 755 /mnt/zookeeper/data
注:若ZooKeeper以其他用户(如当前登录用户)运行,需将
zookeeper:zookeeper替换为对应的用户和组(如$(whoami):$(whoami))。
systemctl命令启动ZooKeeper:sudo systemctl start zookeeper
sudo systemctl status zookeeper
/var/log/zookeeper/)或客户端命令验证数据目录是否生效:tail -f /var/log/zookeeper/zookeeper.out
# 或使用客户端连接测试
echo ruok | nc localhost 2181 # 应返回"imok"
dataDir配置。dataDir)与日志目录(dataLogDir,可选配置)分开,提升性能和可靠性。