2016-02-04 21 views
6

Apache Spark'ın spark-shell mezos ve zookeeper ile kullanıyorum, zookeeper'den daha fazla günlüğe kaydetmeyi tercih ediyorum. Dikkat dağıtıcı:Zookeeper C istemcisi için oturum açma düzeyini yerel olarak değiştirin

Welcome to 
     ____    __ 
    /__/__ ___ _____/ /__ 
    _\ \/ _ \/ _ `/ __/ '_/ 
    /___/ .__/\_,_/_/ /_/\_\ version 1.5.0 
     /_/ 

Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60) 
Type in expressions to have them evaluated. 
Type :help for more information. 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Client environment:zookeeper.version=zookeeper C client 3.4.6 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Client environment:host.name=myhost 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Client environment:os.name=Linux 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Client environment:os.arch=3.2.0-34-generic 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Client environment:os.version=#53-Ubuntu SMP Thu Nov 15 10:48:16 UTC 2012 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Client environment:user.name=myname 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: Initiating client connection, host=localhost:9999 sessionTimeout=10000 watcher=0xffffffffff sessionId=0 sessionPasswd=<null> context=0x777777777777 flags=0 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: initiated connection to server [127.0.0.1:9999] 
2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):[email protected][email protected]: session establishment complete on server [127.0.0.1:9999], sessionId=0x11111111111111, negotiated timeout=10000 
Spark context available as sc. 
SQL context available as sqlContext. 

scala> 

Ben $SPARK_CONF_DIR/log4j.properties

log4j.logger.org.apache.zookeeper=WARN 

işe yaramadı Hangi değişen denedim ama o zamandan beri şaşırmadım mesos documentation mentions that the zookeeper logging goes directly to stderr:

NOT: Üçüncü taraf günlük iletileri (ör. ZooKeeper) sadece stderr için yazılmıştır!

en zookeeper C api function to change the log level bir yabancı fonksiyonlu arayüz çağrısı ile statik blok vardır o işe yarayabilecek gibi görünüyor sınıfyolu kıvılcım bir kavanoz ekleme, ama emin değilim ve ben çağırmadan ile herhangi bir deneyimi yok JVM'den C kodu.

ek olarak

cevap

1

,

log4j.logger.org.apache.zookeeper=WARN 

da Stderr günlüğü düzeyi yazdırmak için yapılandırmak sadece öncelik ERROR (ve üzeri) ile kaydeder. here gösterildiği gibi
# Send WARN or higher to stderr 
log4j.appender.stderr = org.apache.log4j.ConsoleAppender 
log4j.appender.stderr.Threshold = ERROR 
log4j.appender.stderr.Target = System.err 

Ayrıca LevelRangeFilter da faydalı olabilir.

+0

Nope, bu, hala stderr üzerinde tüküren zookeeper's 'ZOO_INFO' günlükleri için bir fark yaratmadı. – rampion

1

Bu konuda herhangi bir şey bulunamadı, ancak JNI (Java-to-C) için this sunabilir. Ne zookeeper değil mesolar web hizmeti veya kabukları (zookeeper var ama bizim durumumuzda kullanılabilir değil) kullanılabilir kullanılabilir zookeeper var gibi görünüyor.