Eu instalo o zookeeper neste caminho /opt/zookeeper
.
meu zoo-1.cfg
em /opt/zookeeper/conf/
:
#Node1
dataDir=/var/zookeeper/data-1
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
meu log4j.properties
em /opt/zookeeper/conf/
:
zookeeper.root.logger=DEBUG, SYSLOG8
log4j.rootLogger=${zookeeper.root.logger}
zookeeper.log.dir=/var/log/zookeeper
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log
#-------------------------------------------------
log4j.appender.SYSLOG8=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG8.threshold=DEBUG
log4j.appender.SYSLOG8.syslogHost=192.168.26.16
log4j.appender.SYSLOG8.facility=USER
log4j.appender.SYSLOG8.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG8.layout.conversionPattern=[%p] %c:%L - %m$
Quando quero me conectar com um cliente, recebo este erro:
[root@server-1 bin]# sh zkCli.sh -server 127.0.0.1:2182
log4j:ERROR Could not find value for key log4j.appender.CONSOLE
log4j:ERROR Could not instantiate appender named "CONSOLE".
Connecting to 127.0.0.1:2182
log4j:WARN No appenders could be found for logger
(org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for
more info.
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2182(CONNECTED) 0]
meu rsyslog.cnf
:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
*.* @192.168.26.16:514
Explique o motivo do erro. Além disso, o que precisa ser feito para registrar os logs do zookeeper no syslog? Obrigado.
Você tem
log4j.appender.SYSLOG8
. Tem certeza de que não deveria serlog4j.appender.SYSLOG
em vez disso?Exemplo de bloco de configuração de blog.trifork.com :
Consulte também https://stackoverflow.com/questions/33177076/escape-newlines-in-zookeeper-logs-using-log4j-1-2-syslogappender
Meu problema foi resolvido. Ocorreu um problema ao usar o arquivo de configuração padrão. Arquivo de configuração padrão.
/opt/zookeeper/conf/log4j.propertise
Este arquivo usa variável! Eu removo todas as variáveis e apenas insiro
rsyslog
o código também verificoROLLINGFILE
e tudo bem. Você pode até encontrar esse arquivo neste log4j . então, apaguei todas as variáveis e coloquei apenas o código original. e minha
rsyslog
config é:/etc/rsyslog.d/zookeeper.conf
log4j.propertise
paraROLLINGFILE
:Finalmente meu arquivo de saída
log
: