作业调度界面运行一个shell脚本,内容如下:
前端日志报错:
分析步骤:
(1)进入nfs查看到机器上脚本内容,并进行执行。执行同样报错:hive:command not found。
(2)在安装了hive的客户端执行:hive,可以进行hive。
执行一条hive语句:show tables ;命令行正确执行,可得hive正常。
执行一条select语句检查mapreduce是否存在问题。
Select count(*) from table_name;
发现命令行卡住。初步确认mapreduce异常。
发现界面一直处于加载状态。可以暂定yarn异常。
(4)登录机器,切到hadoop账号,jps可以查看hadoop下的进程
发现ResourceManager进程不在了
(5)查看yarn日志,查看进程异常原因
Yarn的日志位于哪个路径呢?通过以下命令可以找到。
是的,就是这个路径:YARN_LOG_DIR
执行:tail –fn 500 /data/hadoop/hadoop/yarn_logs/yarn-hadoop-resourcemanager.log
查看到是与zookeeper之间的联系丢失导致的。
(6)查看zookeeper的进程状态是否正常
发现该节点zk的状态有点异常,这有可能是服务真的问题,java命令显示的问题(类似与jps查看不到进程)
测试环境zk有三个节点,发现zk的状态有一个是leader、一个是fellow是正常的。
因此不是zk问题导致的。
(7)启动yarn的服务
整体启动命令,在resourceManager角色的机器执行:/data/cdh/hadoop-2.6.0-cdh5.8.3/sbin/start-yarn.sh(如果是集群中resourceManager部署了两台,另外一台如果也挂掉了,需要登录到那台机器,也执行一下该命令)
启动后,可以看到,打印的日志正在启动resourceManager,及其他的nodemanager。
(8)再次执行/data/cdh/hadoop-2.6.0-cdh5.8.3/sbin/start-yarn.sh命令
判断进程是否启动成功。
发现每次启动都需要启动n5这个节点上的namenode。证明该节点启动失败。
(9)登录到该节点,并进入nodemanager的日志,查看发现/data目录的权限有问题,发现该目录的权限被修改为777。Hadoop底层因为租户的原因对该目录权限进行判断,必须为755,修改权限后,重启正常。