安装参照完整教程:原文链接
一、安装hadoop中遇到权限不够问题,如下列报错:
localhost: mkdir: 无法创建目录"/usr/local/hadoop/logs": 权限不够
localhost: chown: 无法访问"/usr/local/hadoop/logs": 没有那个文件或目录
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-dblab-namenode-dblab-virtual-machine.out
localhost: /usr/local/hadoop/sbin/hadoop-daemon.sh: 行 159: /usr/local/hadoop/logs/hadoop-dblab-namenode-dblab-virtual-machine.out: 没有那个文件或目录
Starting secondary namenodes [0.0.0.0]
0.0.0.0: mkdir: 无法创建目录"/usr/local/hadoop/logs": 权限不够
0.0.0.0: chown: 无法访问"/usr/local/hadoop/logs": 没有那个文件或目录
解决方法:
输入如下命令,wxq
为本机电脑用户名,需要修改。
sudo chown -R wxq /usr/local/hadoop
二、出现找不到环境变量报错,如下:
Error:JAVA_HOME is not set and could not be found.
解决方法:
这个问题说明之前没有设置好 JAVA_HOME 环境变量。
1、按教程重新设置 JAVA_HOME 变量:
- 输入命令,使用vim编辑器打开hadoop这个用户的环境变量配置文件:
cd ~
vim ~/.bashrc
- 在这个文件的开头位置,添加如下几行内容(输入
i
,回车,启动编辑):
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- 保存.bashrc文件并退出vim编辑器。(按
Esc
键退出编辑,输入:wq
,回车,表示保存文件并退出。若要不保存退出,则输入:q
,回车) - 继续执行如下命令让.bashrc文件的配置立即生效:
source ~/.bashrc
- 使用如下命令查看是否安装成功,出现版本号则为安装成功:
java -version
2、如果已经按教程在.bashrc文件中设置了JAVA_HOME,还是出现错误。到hadoop的安装目录/usr/local/hadoop/etc/hadoop/hadoop-env.sh
下修改配置文件hadoop-env.sh
,在里面找到export JAVA_HOME = ${JAVA_HOME}
这行,然后,把它修改成JAVA安装路径的具体地址。比如,修改为export JAVA_HOME = /usr/lib/jvm/jdk1.8.0_3.2.1
,再次启动Hadoop。
三、配置文件为“只读”,无法修改
修改文件权限为“可读可写”就可以,/usr/local/hadoop/etc/hadoop/hadoop-env.sh
为想修改的文件。
sudo chmod 777 /usr/local/hadoop/etc/hadoop/hadoop-env.sh
四、运行
启动完成后,可以通过命令 jps
来判断是否成功启动,若成功启动则会列出如下进程: NameNode
、DataNode
和 SecondaryNameNode
.
- 如果
SecondaryNameNode
没有启动,请运行sbin/stop-dfs.sh
关闭进程,然后再次尝试启动。 - 如果没有
NameNode
或DataNode
,那就是配置不成功,请仔细检查前面的步骤,或通过查看启动日志排查原因。
成功启动后,可以访问 Web 界面 http://localhost:9870
查看 NameNode
和 Datanode
信息,还可以在线查看 HDFS 中的文件。