我想对OpentsDB进行一些POC。我已经按照安装说明安装了OpentsDB,但是启动它很艰难。我正在使用启用Kerberos的HDP环境,将OpentsDB与Kerberized HBase集成在一起,但面对异常。如果有人已将OpentsDB与Kerberos HBase集成,请指南。
例外:
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)
控制台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 watcher=org.hbase.async.HBaseClient$ZKClient@63d6a00c
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!
我能够使用OpentSDB连接到Kerberos HBase。我正在列出我已连接到Kerberos HBase的配置更改。
1('opentsdb.conf'
中的配置更改,请确保该文件在路径中运行tsdb命令。
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/hostname@FORSYS.LAN
hbase.sasl.clientconfig=Client
2(为了避免classpath/jvm问题,我在 '/home/user/opentsdb-2.3.0/build'
'tsdb'
文件中完成了所有类路径和JVM配置 # 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/hostname@FORSYS.LAN -Dhbase.rpc.protection=authentication -Dhbase.sasl.clientconfig=Client -Djava.security.auth.login.config=/home/user/opentsdb-jaas.conf -enableassertions -enablesystemassertions'}
3(opentsdb-jaas.conf文件
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=false
useTicketCache=true;
}
4(用于运行OpentsDB TSD实例的命令,请注意,我们可以覆盖命令行上'opentsdb.conf'
中配置的某些属性。
./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
您可能会发现以下步骤有用。两个数据库都通过Java客户端连接到HBase,尽管OpentSDB中的Java客户端可能不同。