精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

SparkSQL怎么連接開啟Kerberos認證的Phoenix

SparkSQL怎么連接開啟Kerberos認證的Phoenix,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出路北免費做網(wǎng)站回饋大家。

   SparkSQL可以與HBase交互,比如說通過jdbc,但是實際使用時,一般是利用Phoenix操作HBase,由于我們這里HDP集群開啟了Kerberos安全認證,網(wǎng)上也沒有連接代碼實例,這里我整理了一個完整的實戰(zhàn)代碼給大家分享一下經(jīng)驗:

組件版本信息:

     spark2.2.0

     phoenix4.10.0

    票據(jù)和krb5.conf信息根據(jù)自己的集群去修改,代碼如下:

package com.hadoop.ljs.spark220.security;import org.apache.spark.SparkConf;import org.apache.spark.sql.Dataset;import org.apache.spark.sql.Row;import org.apache.spark.sql.SQLContext;import org.apache.spark.sql.SparkSession;import java.util.Properties;/** * @author: Created By lujisen * @company ChinaUnicom Software JiNan * @date: 2020-03-04 10:41 * @version: v1.0 * @description: com.hadoop.ljs.spark220.security */public class SparkKerberosPhoenix {    public static final String krb5Conf="D:\\kafkaSSL\\krb5.conf";    public static final String zookeeperQuorum="salver158.hadoop.unicom,salver31.hadoop.unicom,salver32.hadoop.unicom";    public static final String zookeeperZnode="/hbase-secure";    public static final String zookeeperPort="2181";    public static final String userTicket="hbase-unicomhdp98@CHINAUNICOM";    public static final String userKeytab="D:\\kafkaSSL\\hbase.headless.keytab";    public static final String hbaseMasterPrincipal="hbase/_HOST@CHINAUNICOM";    public static final String hbaseRegionserverPrincipal="hbase/_HOST@CHINAUNICOM";    public static final String  phoenixKerbersURL="jdbc:phoenix:"                                                    +zookeeperQuorum+":"+zookeeperPort+":"                                                    +zookeeperZnode+":"+userTicket+":"+userKeytab;    public static void main(String[] args) {        // 初始化配置文件        System.setProperty("java.security.krb5.conf",krb5Conf);        SparkConf conf = new SparkConf().setAppName("PhoenixSparkDemo")                .setMaster("local[*]")                .set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");        SparkSession sparkSession = SparkSession.builder().config(conf).getOrCreate();        Properties props=new Properties();        props.setProperty("phoenix.schema.isNamespaceMappingEnabled", "true");        props.setProperty("phoenix.schema.mapSystemTablesToNamespace", "true");        props.setProperty("hbase.security.authentication", "kerberos");        props.setProperty("hadoop.security.authentication", "kerberos");        props.setProperty("hadoop.security.authorization", "true");        props.setProperty("hbase.security.authorization", "true");        props.setProperty("hbase.zookeeper.quorum", zookeeperQuorum);        props.setProperty("zookeeper.znode.parent", zookeeperZnode);        props.setProperty("hbase.zookeeper.property.clientPort", zookeeperPort);        props.setProperty("hbase.master.kerberos.principal", hbaseMasterPrincipal);        props.setProperty("hbase.regionserver.kerberos.principal", hbaseRegionserverPrincipal);        Dataset df = sparkSession                .read()                .jdbc(phoenixKerbersURL,"LUJS.TBL_ORDER",props);        df.createOrReplaceTempView("TBL_ORDER");        SQLContext sqlCtx = new SQLContext(sparkSession);        df = sqlCtx.sql("select  * from  TBL_ORDER  limit 10");        df.show();        sparkSession.stop();    }}

補充:

    后面如果需要通過spark-submit提交phoenix代碼,需要配置以下幾項,這里可以參考phoenix官網(wǎng):

1.做了HA的yarn集群這個配置有時候沒修改過來,確認yarn-site.xml中的配置:

  yarn.client.failover-proxy-provider=org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider

修改為:

yarn.client.failover-proxy-provider=org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider

2.提交命令中指定以下兩個配置項,或者配置到spark2-defaults.conf配置文件中

spark.driver.extraClassPath=/usr/hdp/current/phoenix-client/phoenix-4.10.0-HBase-1.2-client.jarspark.executor.extraClassPath=/usr/hdp/current/phoenix-client/phoenix-4.10.0-HBase-1.2-client.jar

或者提交任務(wù)手動指定即可:

    spark.driver.extraClassPath

    spark.executor.extraClassPath

/usr/hdp/2.6.3.0-235/spark2/bin/spark-submit  --class com.hadoop.ljs.spark.SparkOnPhoenix --conf spark.driver.extraClassPath=/usr/hdp/current/phoenix-client/phoenix-4.10.0-HBase-1.2-client.jar  --conf spark.executor.extraClassPath=/usr/hdp/current/phoenix-client/phoenix-4.10.0-HBase-1.2-client.jar  --jars /usr/hdp/2.6.3.0-235/phoenix/phoenix-4.10.0-HBase-1.2-client.jar spark220Scala-1.0-SNAPSHOT.jar

關(guān)于SparkSQL怎么連接開啟Kerberos認證的Phoenix問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


文章名稱:SparkSQL怎么連接開啟Kerberos認證的Phoenix
URL分享:http://m.jcarcd.cn/article/ipojpo.html
主站蜘蛛池模板: 国产久热香 | 日本欧洲亚洲免费 | 日本一二三本道 | 欧美亚洲在线观看 | 国产后入纯清学生妹 | 日韩中文高清在线 | 成人自拍偷拍视频 | www.成人影片 | 国产精品综合 | 91福利精品电影 | 成人午夜免费电影 | 国产免费蜜桃视频网 | 国产高清精品一区 | 国产精品12区 | 国产色在线看精品秘 | 乱伦中文| 国产在线网| 国产日韩欧美 | 国偷精品免费看 | 国精产品一品二品国 | 国产欧美一区三 | 国产八区视频在线 | 青青青国产在线观看 | 国产人人视频 | 乱码女一区二区三区 | 日本网站色| 午夜福利写真在线 | 日韩最新无| 欧美三茎同入 | 福利导航小视频在线 | 91桃色在线看片 | 国产又粗又猛的视频 | 国产精品你 | 青青草免费观看 | 伦理在线电影 | 日韩AⅤ美女AⅤ视 | 欧美日韩高清有码 | 91视频成人| 欧美最新免费一 | 国产丰满一区 | 日本成年人视频网站 |