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認證hbase在spark環境下的使用
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連線Kerberos的HBase
一.文件編寫目的 出於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模式下掃描帶有kerberos的hbase
我上一篇寫了關於如何在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來配置