如何使apachezookeeper调试消息静音(aws emr)?

d5vmydt9  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(294)

如何在aws elastic mapreduce主节点上禁用调试消息?

hbase(main):003:0> list
TABLE                                                                                                               
mydb                                                                                                                
1 row(s) in 0.0510 seconds

hbase(main):004:0> 00:25:17.104 [main-SendThread(ip-172-31-14-206.ec2.internal:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x1493a5c3b78001b after 1ms

hbase(main):005:0* 00:26:17.165 [main-SendThread(ip-172-31-14-206.ec2.internal:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x1493a5c3b78001b after 1ms
iq3niunx

iq3niunx1#

接受此问题的答案有助于抑制调试日志消息,而不仅仅是 hbase shell 但对于所有其他运行守护程序的hbase(例如region server、zookeeper)。您只需添加:

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    </appender>
    <root level="error">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

进入 ~/hbase/conf/logback.xml 并重新启动所有服务或hbase shell。

isr3a4wc

isr3a4wc2#

我不知道在webui中是否有一些选项可以改变日志的详细程度。但是必须有一个zookeeper(使用log4j)配置文件夹${zookeeper\u home}/conf,您可以在其中编辑文件logj4.properties并指定:

zookeeper.console.threshold=WARN

但是我认为这些更改不能直接在zookeeper中进行,而是在hbase log configuration-${hbase\u home}/conf(hbase也使用log4j)中进行,因为hbase可以管理zookeeper。可在此处编辑的参数很少:


# Define some default values that can be overridden by system properties

hbase.root.logger=INFO,console
hbase.security.logger=INFO,console

# Main log level

log4j.threshold=ALL

# Zookeeper log level

log4j.logger.org.apache.zookeeper=INFO

要查找此文件,可以尝试下一个命令:

$ find /* -name "log4j.properties" | grep -E "zookeeper|hbase"
/hadoop/zookeeper/conf/log4j.properties
/hadoop/hbase/conf/log4j.properties

相关问题