现在很多的公司都开始使用了kerberos认证,进行权限控制.下面我就说说hbase的kerberos认证.
def putLogsToHTable(p: Iterator[(HBaseKey,String)],bp:Broadcast[Properties]):Unit = {
val (ugi,hBaseConf): (UserGroupInformation,Configuration) = getUGIAndConf()
UserGroupInformation.setLoginUser(ugi)
val hbaseTableName:TableName = TableName.valueOf(bp.value.getProperty("spark.netlog_hbase_namespace"))
ugi.doAs(new PrivilegedExceptionAction[Unit]{
override def run() = {
val conn = ConnectionFactory.createConnection(hBaseConf)
val hbaseTable = conn.getTable(hbaseTableName)
val puts = new util.ArrayList[Put]()