前言
上一篇《》主要写了一些关于安装的步骤,但不是每次都能顺利的安装成功了,不可避免总是会报很多错误,这里总结一些错误的解决方法。
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,如下: 后来全部替换为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