下面按常见生产/学习环境,给你一份Linux 上配置 HDFS(Hadoop 分布式文件系统)的完整步骤概览。以 Hadoop 3.x 为例(2.x 也类似)。
java -version
如未安装:
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
useradd hadoop
passwd hadoop
su - hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /usr/local/hadoop
编辑 ~/.bashrc 或 /etc/profile:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
生效:
source ~/.bashrc
ssh-keygen -t rsa
ssh-copy-id localhost
测试:
ssh localhost
所有配置文件在:
$HADOOP_HOME/etc/hadoop
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/datanode</value>
</property>
</configuration>
创建目录:
mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode
localhost
⚠️ 格式化会清空 HDFS 元数据
hdfs namenode -format
start-dfs.sh
查看进程:
jps
应看到:
http://localhost:9870
hdfs dfs -mkdir /test
hdfs dfs -put file.txt /test
hdfs dfs -ls /test
stop-dfs.sh
| 问题 | 解决 |
|---|---|
| NameNode 起不来 | 检查 hdfs-site.xml 路径权限 |
| 9000 端口被占用 | 修改 core-site.xml |
| SSH 失败 | 重新配置免密 |
| Java 找不到 | 确认 JAVA_HOME |
如果是 多节点 HDFS:
workers 写所有 DataNode 主机名/etc/hosts如果你愿意,我可以:
你现在用的是 单机还是多机?