Kerberos认证下Sparksql向hive写数据错误
来源:互联网 发布:floor在sql是什么意思 编辑:程序博客网 时间:2024/05/18 00:06
今天在调试sparksql与hive的时候出现错误,首先初始化hiveContext就出错。 val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
这里说一下,我们整个集群是通过kerberos认证的,所以需要/etc/spark/conf/目录下存放hive-site.xml文件,里面配置有kerberos。同时我们的集群hive的引擎是TEZ,所有hive-site.xml里面含有tez的配置。 java.io.IOException: org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS];
Host Details : local host is: "NM-304-SA5212M4-BIGDATA-552/
10.142.116.52"; destination host is: "NM-304-RH5885V3-BIGDATA-007":8032;
17/06/13 13:34:05 INFO RetryInvocationHandler:
Exception while invoking getNewApplication of class ApplicationClientProtocolPBClientImpl over rm2 after 3 fail over attempts.
Trying to fail over after sleeping for 43105ms.
java.net.ConnectException: Call From NM-304-SA5212M4-BIGDATA-2016-244.BIGDATA.CHINATELECOM.CN/
10.142.116.192 to NM-304-RH5885V3-BIGDATA-008:8032 failed on connection exception:
java.net.ConnectException: Connection refused; For more details see:
http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731)
at org.apache.hadoop.ipc.Client.call(Client.java:1472)
at org.apache.hadoop.ipc.Client.call(Client.java:1399)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
at com.sun.proxy.$Proxy31.getNewApplication(Unknown Source)
at org.apache.hadoop.yarn.api.impl.pb.client.ApplicationClientProtocolPBClientImpl.getNewApplication(ApplicationClientProtocolPBClientImpl.java:217)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
这个错误的主要原因是用户在spark on yarn-cluster模式下运行程序,需要上传spark连接hive的配置,即hive-site.xml文件,在提交spark程序时,通过–files指定即可。需要重点说明,spark在使用hive-site.xml文件时,需要把里面的tez配置去掉,不然会报错。我们的用户在指定文件时,指定的是/etc/hive/conf/目录下的hive-site.xml文件。果然,出现上面的错误。后来,指定/etc/spark/conf下的去掉tez配置的hive-site.xml文件后,正确运行。这个问题在spark on yarn-client模式与local模式时不会报错。
- Kerberos认证下Sparksql向hive写数据错误
- Hive配置Kerberos认证
- Hive配置Kerberos认证
- SparkSQL写数据到Hive的动态分区表
- 【Kerberos】kerberos认证常见错误介绍
- (转载)详解Hive配置Kerberos认证
- SparkSQL读取Hive中的数据
- SparkSQL操作Hive表数据
- cdh下kerberos认证问题
- Java实现SparkSQL查询Hive表数据
- Kerberos认证
- Kerberos认证
- Kerberos认证
- java代码Kerberos认证错误(hadoop本地库问题)
- hadoop在Kerberos认证模式下的用户切换问题
- kerberos 认证方式-主机认证
- 企业认证机制(kerberos)
- kerberos认证过程概述
- 泛型与通配符详解
- eclipse安装weblogic插件
- 每天学一点Swift----泛型(一)
- java面试之恒生电子①
- bzoj1119: [POI2009]SLO
- Kerberos认证下Sparksql向hive写数据错误
- 【Machine Learning】特征工程之独热编码(One-hot Encoding)
- 浅析 Linux 初始化 init 系统,第 3 部分: Systemd
- 最简单的react框架
- insertObjects: atIndexes:s;
- vueJS学习(一)入门学习与路由
- 工厂方法模式
- sklearn矩阵分解类库学习
- QDU BelamiYao的一道简单签到题(思维)