1. 前提准备
- 操作系统:CentOS 7/Ubuntu等Linux
- JDK 1.8 已安装并配置好(java -version能正常输出)
- 普通用户或root均可(建议用普通用户,root也没问题)
2. 下载与解压
- 官方下载Hadoop 2.7.72
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
- 上传到虚拟机(如**/home/wang/soft**)
- 解压: tar -zxvf hadoop-2.7.7.tar.gz
3. 配置环境变量
编辑 **/**etc/profile,追加如下内容(不要覆盖原有PATH):
export JAVA_HOME=/home/wang/soft/jdk
export HADOOP_HOME=/home/wang/soft/hdfs/hadoop-2.7.7
export PATH=PATH:JAVA_HOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin
保存后执行:
source **/**etc/profile
4. 修改Hadoop配置文件
4.1 配置 JAVA_HOME
编辑:
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
找到export JAVA_HOME=${JAVA_HOME}
改为
export JAVA_HOME=/home/wang/soft/jdk
(路径按实际你的JDK路径填写)
4.2 配置 core-site.xml
编辑:
vi $HADOOP_HOME/etc/hadoop/core-site.xml
在 <configuration> 标签内添加:
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
4.3 配置 hdfs-site.xml
编辑:
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
在 <configuration> 标签内添加:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/wang/soft/hdfs/hadoop-2.7.7 /data/nameNode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/wang/soft/hdfs/hadoop-2.7.7 /data/dataNode</value>
</property>
5. 格式化HDFS(只需第一次)
hdfs namenode -format
看到successfully formatted即成功。
6. 启动Hadoop
如提示找不到命令,先执行source ~/.bashrc
7. 检查进程
jps
应看到 NameNode、DataNode、SecondaryNameNode 等进程。
如果没有完全显示的话就要手动开启一下
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
8. Web界面访问
- NameNode管理页面:http://你的虚拟机IP:50070
- SecondaryNameNode:http://你的虚拟机IP:50090
9. 常用命令
- 查看HDFS根目录:
hdfs dfs -ls /
上传文件到HDFS:
hdfs dfs -put 本地文件 /目标目录
下载文件到本地:
hdfs dfs -get /hdfs文件 本地目录
10. 常见问题与解决
- hadoop version 报错找不到bash
→ 修复PATH,确保/bin在PATH里,或用ln -s /bin/bash /usr/bin/bash
- JAVA_HOME未配置或配置错
→ 检查hadoop-env.sh和环境变量,必须用绝对路径
- 端口被占用
→ 改配置文件中的端口,或释放端口
- 权限问题
→ 确保所有Hadoop相关目录有当前用户写权限
11. 关闭Hadoop
12. 彻底卸载(如需重来)
rm -rf /home/wang/soft/hdfs/hadoop-2.7.7