Hadoop在启动时的坑——start-all.sh报错
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报错的更多相关文章
- 【log4j】springboot项目启动 ,使用的druid数据源,log4j报错 log4j:WARN Please initialize the log4j system properly.
springboot项目启动 ,使用的druid数据源,log4j报错 -- :: --- [ restartedMain] o.hibernate.annotations.common.Versio ...
- centos 7安装rac 11gR2时运行root.sh报错找不到ohas服务(ohasd failed to start)
单独在linux 7中为ohasd设置一个服务.步骤如下1. 创建服务ohas.service的服务文件并赋予权限touch /usr/lib/systemd/system/ohas.servicec ...
- 巨坑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 ...
- React Native 填坑之神奇的报错,已解决
下面对报错进行一下详细描述: 在debug时,点着点着,就会发生: 1.手机显示如下 : Attempted to transition from state `RESPONDER_INACTIVE_ ...
- 解决import caffe 时no module named protobuf的报错
ProtoBuf是Google开发的可以实现内存与非易失存储介质(硬盘文件等等)交换时的协议接口.Caffe源码中大量使用了ProtoBuf作为权值和模型参数的载体. 在Anaconda下打开Anac ...
- mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'
问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错 1067 - Invalid default value ...
- 当图片加载失败时更换图片, Firefox onerror 报错
当图片加载失败时更换图片. <!DOCTYPE html> <meta charset="UTF-8"> <img src="http:// ...
- hadoop长时间运行后,stop-all.sh报错
报错现象: hadoop在stop-all.sh的时候依据的是datanode上的mapred和dfs进程号. 而默认的进程号保存在/tmp下,linux默认会每 隔一段时间(一般是一个月或者7天左右 ...
- 泰德激光打标软件 包含 #include "Main.h" 时 原本正确的单元却报错
问题:泰德激光打标软件 ,当新增单元需要包含 #include "Main.h" 时, 原本正确的单元却报错. 办法:包含 #include "Main.h" ...
随机推荐
- 【BZOJ4755】 [Jsoi2016]扭动的回文串
BZOJ4755 [Jsoi2016]扭动的回文串 Solution 考虑对于他给出的 A中的一个回文串: B中的一个回文串: 或者某一个回文的扭动字符串S(i,j,k) 这样子几个限制,我们1,2就 ...
- DataGrid列表信息保存为EXCEL到指定的路径 ---------继续DataGrid在WPF的数据绑定
一.许多WPF或者Winform程序在保存数据时,会以EXCEL或者文本的形式展现可视化界面的数据,本文就简单介绍下将DataGrid列表信息保存为EXCEL到指定的路径下,例子很简单,用的着的直接用 ...
- 前端在js中获取用户所在地区的时间与时区
var times = Date() // 如果这种方式不行就使用 New Date() "Sat Jan 05 2019 10:35:24 GMT+0800 (中国标准时间)" ...
- python学习笔记10-文件操作
能调用方法的一定是对象.文件本身也是一个对象.有很多自己内置的方法 #操作文件第一件事 建立文件对象 open函数 # 参数一:文件路径 绝对路径和相对路径都可以 # 参数二:模式选择 ‘r’ 读模式 ...
- AutoCompleteTextView搭配Poi搜索实现多项选择
项目需要 需要用到AutoCompleteTextView控件,在输入之后能在下方产生一个推荐结果的列表,就类似于金山词霸一类软件.输入一两个字符就能出来一系列类似的的单词, 这里做的例子是输入城市名 ...
- odoo-开发笔记 列表视图 增加记录弹出窗口效果
editable="bottom" 增加该标签的效果是,添加记录的时候,在原列表视图上一行一行添加; 去掉该标签之后,那么增加新记录的时候,会以弹出窗口的方式实现. 如果弹出的窗口 ...
- Spring4 mvc+maven 框架搭建(3)
经过前面两个环节,spring mvc的原料已经准备好了,现在就可以正式开始搭建springmvc框架了. 首先先介绍介绍搭建的框架具有的功能: 1)集成log4j,配置好日志相关并可以打印出相关的日 ...
- 再谈C#委托与事件
之前写过一篇关于C#委托与事件的文章(见<C#委托和事件例析>),不过还是收到一些网友的提问.所以,今天再换另一个角度来详解一下这个问题. 一.在控制台下使用委托和事件 我们都知道,C#中 ...
- C# 字符串操作详解
MSDN关于String的所有Method 1.字符串转字符数组 (1).ToCharArray()方法,源码如下: 调用代码: var str = "Hello World"; ...
- NIO基础之同步、异步、阻塞、非阻塞
这里区分几个概念,也是常见但是容易混淆的概念,就是标题中的同步.异步.阻塞.非阻塞. 一.同步与异步 同步与异步,关心的是消息通信的机制.也就是调用者和被调用者之间,消息是如何进行通知的.如果是调用者 ...