学习笔记:从0开始学习大数据-32. 错题本(一)

45 篇文章 0 订阅
8 篇文章 0 订阅

学习过程,会遇到并解决了大量的问题,时间久了,遇到同样问题为了不到处查找,做个笔记很有必要,以后每10个问题一篇日记记录这些解决方法。

------------- 1-1 ------------------
问题:pig运行mapreduce时不断提示 
2018-12-17 21:34:52,737 [main] INFO  org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

原因:没有启动jobhistory server

解决:
配置参考 https://blog.csdn.net/xiaoduan_/article/details/79689882

运行:mr-jobhistory-daemon.sh start historyserver

---------------1- 2 --------------------
问题:运行 hadoop fs -ls /  显示本地文件目录,不显示hdfs目录,提示
 Warning: fs.defaultFS is not set when running "ls" command.

同时 pig -x mapreduce 运行时,不能自动connect hdfs

但检查 hadoop的core-site.xml文件 fs.defaultFs 正常设置

<property>
<name>fs.defaultFS</name>
<value>hdfs://centos7:8020</value>
</property>

原因:检查运行 hadoop/bin 目录下的 ./hadoop fs -ls / 正常显示hdfs目录
which hadoop 显示运行的是 /usr/bin/hadoop  这两个不一致

解决: rm /usr/bin/hadoop
并确认 hadoop/bin 目录在执行搜索路径里

------------------ 1-3 -----------------------------
hdfs操作提示在安全模式
参考 https://blog.csdn.net/ys_230014/article/details/80482956
解决命令:bin/hdfs dfsadmin -safemode leave
----------------------1-4--------------------------

spark运行时提示log4j类未发现

解决:在其它组件下找到slf4j-api-1.7.5.jar文件并复制到  sparkXX/lib/slf4j-api-1.7.5.jar

------------------------1-5-------------------------------

spark  worker启动提示如下错误

Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
解决办法:
/home/linbin/software/hadoop-2.6.0-cdh5.15.1/share/hadoop/mapreduce1/lib/
目录下的 
jackson-databind-2.2.3.jar 
jackson-core-2.2.3.jar 
jackson-annotations-2.2.3.jar
 复制到/home/linbin/software/hadoop-2.6.0-cdh5.15.1/share/hadoop/common/lib 目录

更多参考:https://www.jianshu.com/p/a0c38dc46b89

------------------1-6--------------------------------

经常需要使用 jps 查看进程,有时看到

2578 -- process information unavailable

kill 也杀不掉

解决办法:

[root@centos7 linbin]# ls /tmp/hsperfdata_*
/tmp/hsperfdata_linbin:

/tmp/hsperfdata_root:
3989  4149  4343  4532  4749  5078
可以看见pid是在哪个用户目录下的未关闭进程

然后 以该用户身份去使用jps命令即可关闭该进程

sudo -u  XXX(上面显示的用户名)   jps

------------------1-7------------------------------------

安装oozie后,sqoop不能启动,提示

ERROR: Oozie could not be started

REASON: org.apache.oozie.service.ServiceException: E0000: System property ''oozie.home.dir'' not defined

原来,安装oozie后,启动oozie会自动把oozie.war 复制到 /home/linbin/software/sqoop2-1.99.5-cdh5.16.0/server/webapps/目录

如果oozie配置有问题,不能启动,会造成sqoop也不能启动

暂时解决办法:删除/home/linbin/software/sqoop2-1.99.5-cdh5.16.0/server/webapps/oozie.war 文件和 /home/linbin/software/sqoop2-1.99.5-cdh5.16.0/server/webapps/oozie目录,然后再启动sqoop即可正常

当然,最好是调试好oozie,让oozie网站能正常启动

-----------------1-8--------------------------------------

oozie 不能正常启动

运行 sqoop.sh server run 会提示如下错误

ERROR: Oozie could not be started

REASON: org.apache.oozie.service.ServiceException: E0000: System property ''oozie.home.dir'' not defined

问题原因:是oozie的配置问题,oozie会部署到 $SQOOP_HOME/server/webapps/oozie.war 里,oozie不能启动,导致sqoop也不能启动

问题解决:

(1)修改oozie-4.3.1/conf/oozie-env.sh

加入:

export OOZIE_INSTANCE_ID="${OOZIE_HTTP_HOSTNAME}"
export OOZIE_CONF=${OOZIE_HOME}/conf
export OOZIE_DATA=${OOZIE_HOME}/data
export OOZIE_LOG=${OOZIE_HOME}/logs
export CATALINA_BASE=${OOZIE_HOME}/oozie-server
export CATALINA_TMPDIR=${OOZIE_HOME}/oozie-server/temp
export CATALINA_OUT=${OOZIE_LOG}/catalina.out

(2)从新准备oozie.war

bin/oozie-setup.sh prepare-war

可以看到屏幕提示有加入

Adding to CATALINA_OPTS:     -Doozie.home.dir=/home/linbin/software/oozie-4.3.1 -Doozie.config.dir=/home/linbin/software/oozie-4.3.1/conf -Doozie.log.dir=/home/linbin/software/oozie-4.3.1/logs -Doozie.data.dir=/home/linbin/software/oozie-4.3.1/data -Doozie.instance.id=centos7 -Doozie.config.file=oozie-site.xml -Doozie.log4j.file=oozie-log4j.properties ....

(3) 再启动 bin/oozied.sh start

正常可用

如果显示原来已经存在  oozie.pid 删除该文件再启动即可

-----------------------1-9----------------------------------------------

运行oozie项目,提示错误:root is not allowed to impersonate root
解决办法:
检查hadoop的core-site.xml文件
<property>
  
<name>hadoop.proxyuser.root.hosts</name>
  
<value>*</value>

</property>

<property>
  
<name>hadoop.proxyuser.root.groups</name>
 
<value>root</value>

</property>

然后运行:
hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin -refreshSuperUserGroupsConfiguration

-------------------------1-10--------------------------------

运行oozie项目,提示错误 JA009: Unknown rpc kind in rpc headerRPC_WRITABLE
原因:lib里有hadoop1.X 的jar 
解决办法: 删除libext里含mr1的jar
rm  *mr1*.jar

-------------------------------------

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值