2017-06-07 7 views
1

Ich möchte einige POC auf OpenTSDB tun. Ich habe OpenTSDB gemäß der Installationsanweisung installiert, aber es ist schwierig, es zu starten. Ich benutze HDP-Umgebung, die Kerberos aktiviert ist, ich integriere OpenTSDB mit Kerberized HBase, aber unter Ausnahme. Wenn jemand OpenTSDB mit Kerberos HBase integriert haben, bitte leite ..OpenTSDB Integration mit kerberized HBase

Ausnahme:

2017-06-07 14:07:14,254 INFO [main-SendThread(ZKIP1:2181)] ClientCnxn: Opening socket connection to server ZKIP1/192.xxx.xxx.xxx:2181. Will not attempt to authenticate using SASL (unknown error) 

Console O/P:

2017-06-07 14:07:14,233 INFO [main] ZooKeeper: Client environment:java.library.path=/usr/local/hawq/./lib:/usr/local/hawq/./ext/python/lib::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 
    2017-06-07 14:07:14,233 INFO [main] ZooKeeper: Client environment:java.io.tmpdir=/tmp 
    2017-06-07 14:07:14,233 INFO [main] ZooKeeper: Client environment:java.compiler=<NA> 
    2017-06-07 14:07:14,233 INFO [main] ZooKeeper: Client environment:os.name=Linux 
    2017-06-07 14:07:14,233 INFO [main] ZooKeeper: Client environment:os.arch=amd64 
    2017-06-07 14:07:14,233 INFO [main] ZooKeeper: Client environment:os.version=2.6.32-431.29.2.el6.x86_64 
    2017-06-07 14:07:14,234 INFO [main] ZooKeeper: Client environment:user.name=user 
    2017-06-07 14:07:14,234 INFO [main] ZooKeeper: Client environment:user.home=/home/user 
    2017-06-07 14:07:14,234 INFO [main] ZooKeeper: Client environment:user.dir=/home/user/opentsdb-2.3.0 
    2017-06-07 14:07:14,235 INFO [main] ZooKeeper: Initiating client connection, connectString=ZKIP1:2181,ZKIP3:2181,ZKIP2:2181 sessionTimeout=5000 [email protected] 
2017-06-07 14:07:14,254 INFO [main-SendThread(ZKIP1:2181)] ClientCnxn: Opening socket connection to server ZKIP1/192.xxx.xxx.xxx:2181. Will not attempt to authenticate using SASL (unknown error) 
    2017-06-07 14:07:14,257 INFO [main] HBaseClient: Need to find the -ROOT- region 
    2017-06-07 14:07:14,263 INFO [main-SendThread(ZKIP1:2181)] ClientCnxn: Socket connection established to ZKIP1/192.xxx.xxx.xxx:2181, initiating session 
    2017-06-07 14:07:14,270 INFO [main-SendThread(ZKIP1:2181)] ClientCnxn: Session establishment complete on server ZKIP1/192.xxx.xxx.xxx:2181, sessionid = 0x35ae21cf9870828, negotiated timeout = 5000 
    2017-06-07 14:07:14,285 ERROR [main-EventThread] HBaseClient: The znode for the -ROOT- region doesn't exist! 
    2017-06-07 14:07:15,310 ERROR [main-EventThread] HBaseClient: The znode for the -ROOT- region doesn't exist! 
    2017-06-07 14:07:16,329 ERROR [main-EventThread] HBaseClient: The znode for the -ROOT- region doesn't exist! 
    2017-06-07 14:07:17,349 ERROR [main-EventThread] HBaseClient: The znode for the -ROOT- region doesn't exist! 
    2017-06-07 14:07:18,370 ERROR [main-EventThread] HBaseClient: The znode for the -ROOT- region doesn't exist! 
+0

OpenTSDB verwendet "AsyncHBase" Client, der nicht von Apache HBase Projekt unterstützt wird, und Kerberos erst vor kurzer Unterstützung - vgl http://opentsdb.github.io/asynchbase/docs/build/html/configuration.html –

+0

Ich verweise https://github.com/OpenTSDB/opentsdb/issues/683 ..Kann mir jemand helfen wie ich sollte Pass -Djava.security.auth.login.config =/home/user/opentsdb/opentsdb.jaas Befehl mit ./build/tsdb tsd – nilesh1212

+0

Ich denke, mein Problem mit Kerberos jetzt behoben, kann ich in meinen Protokollen als erfolgreiche Anmeldung sehen. '2017-06-12 16: 12: 59,756 INFO [main-SendThread (ZK1: 2181)] Anmeldung: erfolgreich eingeloggt. 2017-06-12 16: 12: 59,771 INFO [main-SendThread (ZK1: 2181)] ZooKeeperSaslClient: Client verwendet GSSAPI als SASL-Mechanismus. 2017-06-12 16: 12: 59.922 INFO [Thema-1] Anmeldung: TGT gültig ab: Mo Jun 12 14:06:15 CEST 2017'. Aber jetzt bin ich mit HBaseClient konfrontiert: Der Z-Knoten für die -ROOT-Region existiert nicht! Irgendeine Idee zu diesem Fehler. – nilesh1212

Antwort

0

Ich kann Verbindung zu Kerberos HBase mit OpenTSDB herstellen. Ich liste die Konfigurationsänderungen auf, die ich getan habe, um sich mit Kerberos HBase zu verbinden.

1) Konfigurationsänderungen in 'opentsdb.conf', stellen Sie bitte sicher, dass diese Datei im Pfad ist, wenn Sie tsdb Befehl ausführen.

tsd.network.port = 4242 
tsd.storage.hbase.zk_basedir = /hbase-secure 
tsd.storage.hbase.zk_quorum = ZKhostname1,ZKhostname2,ZKhostname3 
hbase.security.auth.enable=true 
hbase.security.authentication=kerberos 
hbase.kerberos.regionserver.principal=hbase/[email protected] 
hbase.sasl.clientconfig=Client 

2) Inorder Classpath/JVM Probleme zu vermeiden, habe ich alle die Classpath und Jvm Konfiguration '/home/user/opentsdb-2.3.0/build'

auf sich getan
# Add the src dir so we can find logback.xml 
CLASSPATH="$CLASSPATH:$abs_srcdir/src:/usr/hdp/2.4.2.0-258/zookeeper/lib/:/usr/hdp/2.4.2.0-258/zookeeper/:/etc/hadoop/2.4.2.0-258/0/:/usr/hdp/2.4.2.0-258/hbase/:/etc/hbase/2.4.2.0-258/0/:/home/user/phoenix-4.4.0-HBase-1.1-client.jar" 

JVMARGS=${JVMARGS-'-Djava.security.krb5.conf=/etc/krb5.conf -Dhbase.security.authentication=kerberos -Dhbase.kerberos.regionserver.principal=hbase/[email protected] -Dhbase.rpc.protection=authentication -Dhbase.sasl.clientconfig=Client -Djava.security.auth.login.config=/home/user/opentsdb-jaas.conf -enableassertions -enablesystemassertions'} 

3) opentsdb-Jaas.conf Datei

in 'tsdb' Datei
Client { 
com.sun.security.auth.module.Krb5LoginModule required 
useKeyTab=false 
useTicketCache=true; 
} 

4) Befehl zum Ausführen der opentsdb tsd-Instanz. Bitte beachten Sie, dass wir einige der in 'opentsdb.conf' auf Befehl l konfigurierten Eigenschaften überschreiben können in.

./build/tsdb tsd --port=4242 --staticroot=/home/user/opentsdb-2.3.0/build/staticroot --cachedir=/home/user/opentsdb-2.3.0/build/cache-dir --zkquorum=ZKhostname1:2181,ZKhostname2:2181,ZKhostname3:2181

0

Sie könnten die following steps nützlich finden. Beide Datenbanken verbinden sich über einen Java-Client mit HBase, obwohl der Java-Client in OpenTSDB möglicherweise anders ist.

+0

Ich glaube mein Kerberos Problem ist jetzt behoben, ich kann in meinen Protokollen als Login erfolgreich sehen. '2017-06-12 16: 12: 59,756 INFO [main-SendThread (ZK1: 2181)] Anmeldung: erfolgreich eingeloggt. 2017-06-12 16: 12: 59,771 INFO [main-SendThread (ZK1: 2181)] ZooKeeperSaslClient: Client verwendet GSSAPI als SASL-Mechanismus. 2017-06-12 16: 12: 59.922 INFO [Thema-1] Anmeldung: TGT gültig ab: Mo Jun 12 14:06:15 CEST 2017'. Aber jetzt bin ich mit HBaseClient konfrontiert: Der Z-Knoten für die -ROOT-Region existiert nicht! Irgendeine Idee zu diesem Fehler. – nilesh1212

Verwandte Themen