HDP错误汇总

导读:本篇文章讲解 HDP错误汇总,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言

上一篇《》主要写了一些关于安装的步骤,但不是每次都能顺利的安装成功了,不可避免总是会报很多错误,这里总结一些错误的解决方法。

MySQL

mysql数据库驱动找不到错误 以下命令默认以root用户运行

# yum install mysql-connector-java -y
# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

Sqoop2

使用基于HDP2.5使用sqoop2抽取数据库表数据到HDFS上面也会遇到很多问题。这里记录一下。 启动报错 org.apache.sqoop.common.SqoopException: CLIENT_0004:Unable to find valid Kerberos ticket cache (kinit)

这个是因为sqoopUrl设置的问题,原来设置为: http://master:12000/sqoop 需要改为 http://master:12000/sqoop/ 很坑,就差一个斜杠。

mapreduce

启动报错 Caused by: java.net.URISyntaxException: Illegal character in path at index 11: /hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework

这个是因为mapreduce框架路径设置的问题,进入HDP Web控制台,点击右边的 MapReduce2——>Configs——>Advanced展开mapred-site属性设置, 找到mapreduce.application.framework.path属性,将其值由/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework 改为/usr/hdp/${hdp.version}/hadoop/mapreduce.tar.gz#mr-framework, 然后将在HDFS上创建对应路径目录,如:/usr/hdp/2.6.0.3-8/hadoop/ 之后将mapreduce.tar.gz这个文件上传到该目录下 最后在重启服务即可。 如果还不行的话,可以尝试将hdp.version改为实际的版本名,并且重启ambari-server。

yarn

启动sqoop2报错 Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: yarn is not allowed to impersonate lu 这个是因为hadoop2之后的权限问题导致,本地提交的job想要yarn代理来跑,但是yarn又不允许给主机用户代理,所以就会报这个错误了,进入HDP Web控制台 HDFS——>Configs——>Advanced 在下面找到Custom core-site展开,添加以下属性配置,然后重启服务即可

hadoop.proxyuser.yarn.hosts=*
hadoop.proxyuser.yarn.groups=*

Oozie

问题1

使用Oozie调度sqoop的时候需要注意jobTracker的值不一定就是8021或8032,网上和官方文档有有一定的误导性,如果使用的是HDP2.5的话,其集成的是Hadoop 2.x,那么jobTracker的值其实是yarn.resourcemanager.address对应的值,在HDP2.5中它是master:8050,在CDH中默认是8032。master为hadoop ResourceManager host主机名,在hdp web控制台可通过 YARN——>Configs——>Advanced——>Advanced yarn-site,然后展开找到 yarn.resourcemanager.address属性即可。

问题2

Oozie调度Sqoop1的时候mapreduce应用可以成功跑完,但是最后job却被killed掉了,报错信息如下: Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1] 很简短,但是找半天最后很无语。这个问题可能跟MySQL的jdbc驱动版本有关,一开始使用的是5.1.25,如下: mysql-version 后来全部替换为5.1.29然后重启服务就好了。。 替换的地方有如下:

中间数字是hdp的版本,可根据不同的版本号进行调整
/usr/hdp/2.5.3.0/oozie/oozie-server/webapps/oozie/WEB-INF/lib/
/usr/hdp/2.5.3.0/oozie/libext/
/usr/hdp/2.5.3.0/oozie/share/lib/oozie/
/usr/hdp/2.5.3.0/oozie/share/lib/sqoop/
/usr/hdp/2.5.3.0/sqoop/lib/

下面两个路径是在hadoop hdfs文件系统上的路径,需要上传新的jar包到该路径
hdfs://e5:8020/user/oozie/share/lib/lib_20170412010303/oozie/
hdfs://e5:8020/user/oozie/share/lib/lib_20170412010303/sqoop/

我这里jar包是通过Maven来下载的~

问题3

调度启动sqoop job,出现类找不到异常,报错信息如下: Launcher exception: java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SqoopMain not found

这里是有一个jar包没有上传到hdfs上面,找到下面这个jar包: /usr/hdp/2.5.3.0/oozie/libserver/oozie-sharelib-sqoop-4.2.0.2.6.0.3-8.jar 然后将其上传到 hdfs://e5:8020/user/oozie/share/lib/lib_20170412010303/oozie/ 然后刷新sharelib或者重启服务

刷新命令
# oozie admin -oozie http://e5:11000/oozie -sharelibupdate

这里建议将oozie相关的sharelib jar包都上传上去,可能后面会有用到,避免再次报这个错。

HBase

集群HBase RegionServers服务启动报错:

问题1

Caused by: ClassNotFoundException: org.apache.hadoop.fs.FileSystem

这个是因为没有将hadoop-common.jar添加到hbase的classpath中,导致的错误。 登陆HDP web控制台,点击左边的HBase——>Configs——>Advanced 展开Advanced hbase-env找到# Extra Java CLASSPATH elements. Optional. 在下面添加以下内容:

export HBASE_CLASSPATH=${HBASE_CLASSPATH}:/usr/hdp/current/hadoop-client/hadoop-common.jar

重启HBase服务即可。

问题2

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName

这个问题与上面的类似,同样是classpath缺少jar包。 步骤如上,添加hadoop-auth.jar即可。

export HBASE_CLASSPATH=${HBASE_CLASSPATH}:/usr/hdp/current/hadoop-client/hadoop-common.jar:/usr/hdp/current/hadoop-client/hadoop-auth.jar

问题3

Caused by: java.io.IOException: No FileSystem for scheme: hdfs

问题原因同上,添加hadoop-hdfs.jar到classpath即可。

export HBASE_CLASSPATH=${HBASE_CLASSPATH}:/usr/hdp/current/hadoop-client/hadoop-common.jar:/usr/hdp/current/hadoop-client/hadoop-auth.jar:/usr/hdp/current/hadoop-hdfs-client/hadoop-hdfs.jar

Hue

hdp集成hue后,oozie Dashboard 打开报错: User [hue] not defined as proxyuser 这个需要Oozie添加hue用户代理, Oozie——>Configs——>Custom oozie-site 添加以下属性,重启Oozie服务即可:

oozie.service.ProxyUserService.proxyuser.hue.groups=*
oozie.service.ProxyUserService.proxyuser.hue.hosts=*

待续,后面再慢慢更新

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2024.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!