1、若你用的Linux系统是CentOS的话,这是一个坑:

  它会提示你JAVA_HOME找不到,现在去修改文件:

.修改hadoop配置文件,手动指定JAVA_HOME环境变量
[${hadoop_home}/etc/hadoop/hadoop-env.sh]
...
export JAVA_HOME=/soft/jdk
...

  这是CentOS的一个大坑,手动配置JAVA_HOME环境变量。

2、启动后无NameNode进程

如果在启动Hadoop,start-all.sh之后一切正常。但是Jps查看进程时发现进程中少了一个NameNode进程,不要慌张。

  跳转解决 :https://www.cnblogs.com/dongxiucai/p/9636177.html

3、一定要设置ssh免密登陆,切记

配置SSH
1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)
$yum list installed | grep ssh 2)检查是否启动了sshd进程
$>ps -Af | grep sshd 3)在client侧生成公私秘钥对。
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥) 5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)
$>cd ~/.ssh
$>cat id_rsa.pub >> authorized_keys 6)修改authorized_keys的权限为644.
$>chmod 644 authorized_keys 7)测试
$>ssh localhost

4、报以下错误:

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
15/01/23 20:23:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [Java HotSpot(TM) Client VM warning: You have loaded library /hadoop/hadoop-2.6.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
hd-m1]
sed: -e expression #1, char 6: unknown option to `s'
-c: Unknown cipher type 'cd'

  这个是因为你的操作系统、jdk、hadoop的位数不匹配,有32位的又有64位的。

  查看位数跳转:https://www.cnblogs.com/dongxiucai/p/9637403.html

  常规解决方案为 :

主要是环境变量设置好:
在 /etc/profile 中加入 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR" 然后重新编译 source /etc/profile

并把相同配置添加到hadoop-env.sh文件末尾

  一般情况都能解决。

  若是还不行的话,就需要更换相匹配的版本了

5、报以下错误:

  mkdir: cannot create directory ‘/soft/hadoop-2.7.3/logs’: Permission denied

  这是在创建logs时无权限,原因是/soft目录的用户权限为root,需要修改为hadoop用户权限

  注意:hadoop为用户名,/soft为安装目录,因人而异

  解决方案:

1、先切换到root用户
su root
2、修改/soft目录的用户权限,记住要递归
chown -R hadoop:hadoop /soft // -R是递归修改
3、查看修改结果
drwxr-xr-x. 3 hadoop hadoop 4096 8月 11 06:13 hadoop
drwxr-xr-x. 3 hadoop hadoop 4096 8月 11 06:20 jdk
修改成功

6、格式化namenode后启动hdfs报:

 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
Starting namenodes on []
py_1: starting namenode, logging to /soft/hadoop/hadoop/hadoop-2.5.-cdh5.3.6/logs/hadoop-hadoop-namenode-hjt-virtual-machine.out
py_3: starting namenode, logging to /soft/hadoop/hadoop/hadoop-2.5.-cdh5.3.6/logs/hadoop-hadoop-namenode-ubuntu.out
py_2: starting namenode, logging to /soft/hadoop/hadoop/hadoop-2.5.-cdh5.3.6/logs/hadoop-hadoop-namenode-cyrg.out
py_1: starting datanode, logging to /soft/hadoop/hadoop/hadoop-2.5.-cdh5.3.6/logs/hadoop-hadoop-datanode-hjt-virtual-machine.out
py_3: starting datanode, logging to /soft/hadoop/hadoop/hadoop-2.5.-cdh5.3.6/logs/hadoop-hadoop-datanode-ubuntu.out
py_2: starting datanode, logging to /soft/hadoop/hadoop/hadoop-2.5.-cdh5.3.6/logs/hadoop-hadoop-datanode-cyrg.out

  发现,namenode一共启动了3台,全部启动。在反复检查过所有的配置后发现没有错。

  其实大家现在可以看到我的机器的名称:py_1、py_2、py_3就是名称带下滑线,这个切记。改为py01、py02、py03完美解决。

  有帮助的话,点个推荐让更多人看到

Hadoop在启动时的坑——start-all.sh报错的更多相关文章

  1. 【log4j】springboot项目启动 ,使用的druid数据源,log4j报错 log4j:WARN Please initialize the log4j system properly.

    springboot项目启动 ,使用的druid数据源,log4j报错 -- :: --- [ restartedMain] o.hibernate.annotations.common.Versio ...

  2. centos 7安装rac 11gR2时运行root.sh报错找不到ohas服务(ohasd failed to start)

    单独在linux 7中为ohasd设置一个服务.步骤如下1. 创建服务ohas.service的服务文件并赋予权限touch /usr/lib/systemd/system/ohas.servicec ...

  3. 巨坑npm run dev 报错 终于找到正确答案 Error: EPERM: operation not permitted, open '/data/public/build/css/add.p

    Windows10环境 npm run dev 报错  终于找到正确答案 Error: EPERM: operation not permitted, open '/data/public/build ...

  4. React Native 填坑之神奇的报错,已解决

    下面对报错进行一下详细描述: 在debug时,点着点着,就会发生: 1.手机显示如下 : Attempted to transition from state `RESPONDER_INACTIVE_ ...

  5. 解决import caffe 时no module named protobuf的报错

    ProtoBuf是Google开发的可以实现内存与非易失存储介质(硬盘文件等等)交换时的协议接口.Caffe源码中大量使用了ProtoBuf作为权值和模型参数的载体. 在Anaconda下打开Anac ...

  6. mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'

    问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错   1067 - Invalid default value ...

  7. 当图片加载失败时更换图片, Firefox onerror 报错

    当图片加载失败时更换图片. <!DOCTYPE html> <meta charset="UTF-8"> <img src="http:// ...

  8. hadoop长时间运行后,stop-all.sh报错

    报错现象: hadoop在stop-all.sh的时候依据的是datanode上的mapred和dfs进程号. 而默认的进程号保存在/tmp下,linux默认会每 隔一段时间(一般是一个月或者7天左右 ...

  9. 泰德激光打标软件 包含 #include "Main.h" 时 原本正确的单元却报错

    问题:泰德激光打标软件  ,当新增单元需要包含 #include "Main.h" 时, 原本正确的单元却报错. 办法:包含 #include "Main.h" ...

随机推荐

  1. Python3.5 学习二十二

    回顾: 发送请求时:发送请求头和请求数据 request.META和request.request.body 响应请求时:响应头和响应返回数据 response.HEADER和response.bod ...

  2. Bash/Shell-脚本整理(长期更新)

    轮询检测Apache状态并启用钉钉报警 #!/bin/bash shell_user="root" shell_domain="apache" shell_li ...

  3. pm2 官方文档 学习笔记

    一.安装 1.安装 npm install pm2 -g 2.更新 npm install pm2 -g && pm2 update pm2 update 是为了刷新 PM2 的守护进 ...

  4. 防止活动上线时 微信openid 被伪造的解决办法

    背景 前不久上线了一个 campaign 项目,一个 h5,后端为php,用户可以在微信中通过网页授权的方式登录,然后用微信 openid 作为唯一标识符进行签到和抽奖的操作. 结果后期出现了很多脏数 ...

  5. isBalanced函数实现

    原文:从一道面试题谈起,作者:360奇舞团 刘观宇 题目: 创建一个函数来判断给定的表达式中的大括号是否闭合,返回 true/false,对于空字符串,返回 true var expression = ...

  6. nginx和tomcat访问图片和静态页面的配置方法

    生产环境下,有时候需要访问图片,正常需要应用ftp.nginx等配套使用,但是有时候为了简化,可以用以下的两种简单的访问,说实话,就是为了偷懒,但是效果是能有的,这就行了,所以今天做这个简化版的方便大 ...

  7. Django-cookie的保存以及删除操作

    Django里的保存cookie和flask是有区别的 今天我就说以下Django里的cookie操作 #先导包 #导入Django模块 from django.http import HttpRes ...

  8. [原创]K8正方系统密码解密工具

    工具: K8_zfsoftDecode编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/8/1 1 ...

  9. 08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

    01_帮助文档的制作和使用 制作说明书的流程 如何制作一个说明书呢? A:写一个工具类 B:对这个类加入文档注释 怎么加呢? 加些什么东西呢? C:用工具解析文档注释 javadoc工具 D:格式 j ...

  10. 测试驱动开发 - Test-Driven Development

    TDD 开发模式流程: 编写测试用例 -> 运行测试用例 –> 编写项目代码 -> 运行测试用例 -> 重构代码 优点: 1.TDD 开发中加入了回归测试,这样就确保了之前的功 ...