开发者社区> 问答> 正文

Hadoop中配置zookeeper日志存放位置编辑zkEnv.sh的操作步骤以及代码分别是什么?

Hadoop中配置zookeeper日志存放位置编辑zkEnv.sh的操作步骤以及代码分别是什么?

展开
收起
游客yzrzs5mf6j7yy 2021-12-06 07:31:34 654 0
1 条回答
写回答
取消 提交回答
  •  使用过zookeeper的小伙伴都知道,当前终端处于哪个目录,执行完zkServer.sh start命令, zookeeper.out就会写在哪个目录,下次想看zookeeper日志的时候,又忘记上次在哪执行的命令啦,这真的很蛋疼(虽然可以每次固定在某个目录执行),在多次痛苦之后,决定修改日志输出到固定目录,方便问题定位。
    
       
    
    查看bin目录下的zkEnv.sh找到了这一行,发现如果没有配置ZOO_LOG_DIR,默认就是保存在终端所在当前目录下,所以果断修改(或者可以在上面配置ZOO_LOG_DIR这个变量)
    
    ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
    
    
     将日志文件写到zookeeper安装目录下的logs文件夹中(logs不需要创建,它会自己创建)
    
     美中不足的是在你设定的目录中, 仍会有zookeeper.out文件存在, 虽然它的size=0,究其原因是因为zkServer.sh会使用nohup进行zookeeper的启动, 然而nohup必然会输出一个日志文件到你设置的目录中,
    
    相关代码如下, 需要将此处的逻辑修改掉, 就可以将zookeeper.out移除啦,
    
    最后修改 bin/zkServer.sh
    
    # 编辑下列该项配置
    if   [ "x${ZOO_LOG_DIR}" = "x" ]
    then
        ZOO_LOG_DIR="/home/centos/soft/zookeeper/logs"            ## 修改此项
    fi
    
    2021-12-06 07:31:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《MSE 微服务网关》 立即下载
微服务引擎 MSE 治理中心重磅发布 立即下载
阿里云微服务引擎 MSE 2.0 线上发布 立即下载