下面给你一个从零在 Linux 上搭建 HDFS(Hadoop 分布式文件系统)环境的实用指南,适合单机伪分布式(最常用、最容易上手),也会简单说一下完全分布式的思路。
# CentOS
yum install -y java-1.8.0-openjdk-devel
# Ubuntu
apt install -y openjdk-8-jdk
验证:
java -version
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 /opt/hadoop
vi ~/.bashrc
添加:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
生效:
source ~/.bashrc
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
测试:
ssh localhost
hadoop-env.shvi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
core-site.xmlvi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xmlvi $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>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh
jps
应看到:
hdfs dfs -mkdir /test
hdfs dfs -put ~/.bashrc /test
hdfs dfs -ls /test
Web 页面:
http://localhost:9870
如果是多台机器:
core-site.xml 中 fs.defaultFS 指向 NameNode 主机名hdfs-site.xml 中:
workers 文件配置 DataNode 主机hdfs namenode -formatchown -R hadoop:hadoop /opt/hadoop
确认 hadoop-env.sh 中 Java 路径正确
检查 9000 / 9870 端口
如果你愿意,我可以:
你现在是 学习 / 面试 / 生产环境 用?