sudo apt update && sudo apt upgrade -y,确保系统软件包为最新版本。sudo apt install -y build-essential openssh-server,安装编译工具和SSH服务(用于集群节点间通信)。HDFS依赖Java运行环境,推荐安装OpenJDK 8(兼容性最佳):
sudo apt install -y openjdk-8-jdk安装JDK。java -version,输出应包含openjdk version "1.8.x"。wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz。/usr/local/目录:sudo tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/。sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop,简化后续命令。~/.bashrc文件(用户级配置)或/etc/profile(系统级配置),添加以下内容:export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc(或source /etc/profile)。进入Hadoop配置目录$HADOOP_HOME/etc/hadoop,修改以下文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> <!-- NameNode地址 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value> <!-- 临时目录 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 本地测试设为1,集群设为3 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value> <!-- NameNode元数据目录 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value> <!-- DataNode数据目录 -->
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
sudo mkdir -p /usr/local/hadoop/data/namenode
sudo mkdir -p /usr/local/hadoop/data/datanode
sudo chown -R $USER:$USER /usr/local/hadoop/data
首次启动HDFS前,必须格式化NameNode(初始化元数据):
hdfs namenode -format
注意:格式化会清除所有HDFS数据,仅首次启动时执行一次。
start-dfs.sh(自动启动NameNode和DataNode)。jps,应显示NameNode、DataNode、SecondaryNameNode(若配置了HA则可能不同)。http://localhost:50070(查看HDFS状态,部分版本为9870)。若需远程访问集群,需配置SSH免密登录:
ssh-keygen -t rsa -P ''(直接回车,默认保存到~/.ssh/id_rsa)。ssh-copy-id localhost。ssh localhost,无需输入密码即可登录。hdfs dfs -mkdir -p /user/$USER。hdfs dfs -put ~/test.txt /user/$USER/。hdfs dfs -ls /user/$USER。hdfs dfs -get /user/$USER/test.txt ~/downloaded_test.txt。hdfs dfs -rm /user/$USER/test.txt。若系统启用了ufw防火墙,需允许Hadoop端口:
sudo ufw allow 9000 # NameNode RPC端口
sudo ufw allow 50070 # HDFS Web界面
sudo ufw allow 8088 # YARN Web界面(若启用)
若需停止HDFS,运行:stop-dfs.sh。
按照以上步骤操作,即可在Ubuntu环境下完成HDFS的基本配置。如需扩展为集群,需重复配置多个节点并调整core-site.xml、hdfs-site.xml中的IP地址和端口。