配置文件配置
在janusgraph-0.3.2-hadoop2/conf/gremlin-server/janusgraph.properties
追加配置
java.security.krb5.conf=/etc/krb5.conf
storage.hbase.ext.hbase.security.authentication=kerberos
storage.hbase.ext.hbase.security.authorization=true
#hbase 节点之间通信的账号名,在hbase-site.xml 中可以看见
# hbase.master.kerberos.principal
# hbase.regionserver.kerberos.principal
storage.hbase.ext.hbase.regionserver.kerberos.principal=hbase_aiops/_HOST@CDH.INTERNAL
storage.hbase.ext.hbase.master.kerberos.principal=hbase_aiops/_HOST@CDH.INTERNAL
环境变量配置
在~/.bash_profile
中设置环境变量
export CLASSPATH=$CLASSPATH:/app/jg/hbase-conf #在cdh管理页面上下载,或者hbase配置文件目录获取
export JAVA_OPTIONS="$JAVA_OPTIONS -Dzookeeper.sasl.client=false -Dsun.security.krb5.debug=true -Djava.security.krb5.conf=/etc/krb5.conf -Djava.security.auth.login.config=/app/jg/jaas.conf"
# /etc/krb5.conf 为kerberos环境配置文件
# jaas.conf为应用配置支持kerberos的配置文件,一般从hbase配置文件目录可以获取的到
jaas.conf
配置参考示例
Client {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
useTicketCache=true
keyTab="/aiops/hbase-conf/aiops.keytab"
principal="xxx@CDH.INTERNAL";
};
获得kerberos凭证
kinit -kt xxx.keytab xxx@cdh.com
# xxx.keytab 为kerberos密钥,需要从hbase环境部署方获取
# xxx@cdh.com 为kerberos密钥对应的账号,需要从hbase环境部署方获取
klist
# 出现以下格式信息就说明认证正常
Ticket cache: FILE:/tmp/krb5cc_1004
Default principal: xxx@cdh.com
Valid starting Expires Service principal
08/27/2020 00:10:01 08/28/2020 00:10:01 krbtgt/CDH.INTERNAL@CDH.INTERNAL
renew until 09/03/2020 00:10:01
kinit命令正常需要每天执行一次,如果不想手工重复执行,可以利用 crontab 命令周期性自动执行。
以上操作后 正常启动janusgraph 即可。