1. 程式人生 > >Spark連線需Kerberos認證的HBase

Spark連線需Kerberos認證的HBase

Prerequisite

  • krb5.conf 或 krb5.ini
  • xx.keytab
  • core-site.xml
  • hbase-core.xml

Codes

hBaseConfig.addResource("hbase-site.xml")
hBaseConfig.addResource("core-site.xml")
UserGroupInformation.setConfiguration(hBaseConfig);
UserGroupInformation ugi = UserGroupInformation.loginUserFromKeytabAndReturnUGI("
[email protected]
"
, keyTab); UserGroupInformation.setLoginUser(ugi); ugi.doAs(new PrivilegedAction<Void>() { public Void run() { connection = ConnectionFactory.createConnection(conf); //hbase operation return null; } });

Submit cmd

spark-submit --class com.myclass \
--master yarn \
--deploy-mode cluster \ --num-executors 2 \ --driver-memory 1G \ --executor-memory 1G \ --executor-cores 2 \ --queue myqueue \ --conf spark.app.name=MyAPP \ --conf spark.streaming.kafka.maxRatePerPartition=100 \ --conf spark.streaming.stopGracefullyOnShutDown=true \ --conf spark.yarn.security.credentials.hbase.enable=true
\
--conf spark.driver.extraJavaOptions='-Dlog4j.configuration=log4j -Djava.security.krb5.conf=krb5.conf -Dkeytab.file=mykeytab.keytab' \ --conf spark.executor.extraJavaOptions='-Dlog4j.configuration=log4j -Djava.security.krb5.conf=krb5.conf -Dkeytab.file=mykeytab.keytab' \ --conf spark.yarn.dist.archives=/path/core-site.xml,/path/hbase-site.xml,/path/krb5.conf,/path/mykeytab.keytab,/path/log4j.properties / \ /path/myproject-1.0-SNAPSHOT.jar

TIPS

1. spark yarn 模式下提交時可用--files, --conf spark.yarn.dist.archives, --conf spark.yarn.dist.files 後接逗號分隔符的檔案全路徑將檔案提交到每個執行節點.
2. spark yarn 模式下測試情況來看只能用ugi.doAs形式訪問HBase,否則會報錯認證不通過.
3. 如果使用submit命令中使用了--keytab和--principal,--conf spark.yarn.dist.archives提交的keytab檔案會找不到. 詳情參照spark官方文件security和yarn

References

相關推薦

Spark連線Kerberos認證HBase

Prerequisite krb5.conf 或 krb5.ini xx.keytab core-site.xml hbase-core.xml Codes hBaseConfig.addResource("hbase-site.xml") h

kerberos認證hbasespark環境下的使用

hadoop中計算框架MapReduce中儲存到有kerberos的hdfs,由於其內部yarn進行了認證故不需要進行相關的操作,可直接進行讀寫操作。spark使用有kerberos認證的hbase是一個既麻煩又簡單的問題,麻煩的方面是:中文的網站相關的文章很少並且分佈只是分

Java Api Consumer 連線啟用Kerberos認證的Kafka

java程式連線到一個需要Kerberos認證的kafka叢集上,消費生產者生產的資訊,kafka版本是2.10-0.10.0.1; Java程式以maven構建,(怎麼構建maven工程,可去問下度娘:“maven工程入門示例”) 先上pom.xml檔案 <pro

使用Spark/Java讀取已開啟Kerberos認證HBase

1.賦予drguo使用者相應的許可權 2.KDC中建立drguo使用者並匯出相應的keytab檔案 [root@bigdata28 ~]# kadmin.local Authenticating as principal drguo/admin

HBase實操 | 如何使用Java連線KerberosHBase

一.文件編寫目的 出於CDH叢集安全考慮,在CDH叢集中增加了Kerberos認證機制。因為HBase的儲存系統是基於Hadoop的儲存,所以通過HBase客戶端訪問HBase資料庫時需要進行身份認證。在Linux下使用HBase客戶端訪問HBase資料時需要先kinit初始化Kerberos賬

springmvc整合kerberos認證hive jdbc連線

話說,是springmvc連線hive沒啥問題,那如果是kerberos認證的hive怎麼連 <beans:bean id="jdbcListener" class="com.bonc.b

StreamSets 從Mysql到Hbase(帶kerberos認證)的實時資料採集

引言 最近在研究StreamSets,就做了個簡單Demo熟悉它的使用,由於我們的hbase是cdh版的,且帶有kerberos認證,與streamsSet怎麼配帶kerberos認證的Hbase中文資料甚少,所以本人就去官網翻看了一下。 環境介紹 安裝streamSets這

spark on yarn模式下掃描帶有kerberoshbase

我上一篇寫了關於如何在spark中直接訪問有kerberos的hbase,現在我們需要對hbase進行全表的分散式掃描,在無kerberos的情況下通過sparkcontext的newApiHadoopRDD就可以達到目的,但有了kerberos的限制,這個方法就不行了,

spark連線mongodb(許可權認證)示例

final String mgohost = "127.0.0.1"; SparkSession spark = SparkSession.builder() .appN

spark 連線hbase

一、環境準備 1、複製HBase目錄下的lib檔案 到 spark目錄/lib/hbase。spark 依賴此lib 清單如下:guava-12.0.1.jar htrace-core-3.1.0-incubating.jar prot

通過BulkLoad快速將海量數據導入到Hbase(TDH,kerberos認證

++ zookeeper wke zookeepe ner all throw 利用 tab 一、概念 使用BlukLoad方式利用Hbase的數據信息是 按照特點格式存儲在HDFS裏的特性,直接在HDFS中生成持久化的Hfile數據格式文件,然後完成巨量數

Kerberos認證原理簡介

保存 得到 code rim 網絡上傳 驗證 rust cache 透明 1.1 What is Kerberos 1.1.1 簡單介紹  Kerberos是一個用於鑒定身份(authentication)的協議, 它采取對稱密鑰加密(symmetric-key crypt

zookeeper配置kerberos認證的坑

zookeeper kerberos 配置zookeeper配置了kerberos之後,zkCli.sh 連接認證死活不通過連接命令: zkCli.sh報錯如下:WatchedEvent state:SyncConnected type:None path:null 2017-08-21 10:11:42,

kafka kerberos 認證訪問與非認證訪問共存下的ACL問題

kerberos kafka acl 在一個正在運行的kafka集群中添加kerberos認證和ACL權限控制,同時保證以前所有的producer\consumer服務不中斷解決方式: 使kafka集群監聽兩個端口,一個為無認證連接,另一個為kerberos的認證連接這時候在配置ACL的時候出了問

spark(2.1.0) 操作hbase(1.0.2)

hadoop mon per bsp trac 事先 com maker scala 1、spark中引入外部jar包   1)創建/usr/software/spark_jars目錄,放入spark操作hbase的jar包:hbase-annotations-1.0.2.

cdh5.12.2 開啟kerberos認證

大數據 cdh kerberos hadoop 一:kdc 服務的安裝與配置 二:集群所有節點安裝Kerberos客戶端(包括CM) 三:CDH集群啟用Kerberos 一: kdc 服務的安裝與配置 1.1 安裝kdc服務 # yum install krb5-server krb

hadoop KerberosUtil 做Kerberos認證

RF bsp ren 工具類 ado void bpa 認證用戶 () 網上找了一下,自己寫了個KerberosUtil工具類,測試過可以用。 註意這個不是 org.apache.hadoop.security.authentication.util.KerberosUti

spark踩坑——dataframe寫入hbase連接異常

查找 inux ron user ora nat 文件 cor 1.8 最近測試環境基於shc[https://github.com/hortonworks-spark/shc]的hbase-connector總是異常連接不到zookeeper,看下報錯日誌: 18/06/

spring-data-mono java註解方式mongo連線池帶認證配置

import com.mongodb.MongoClient; import com.mongodb.MongoClientOptions; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import or

【多資料來源連線】-Spring整合Hbase、Impala、Orcale三種資料來源

       專案中需要按需連線不同的資料來源,原專案預設為mysql連線,現在要新增Hbase、Impala、Orcale三種資料來源,以支援現有的查詢(屬於報表子系統)。 MySql、Orcale、Impala是關係型資料庫,可以用bean來配置