Ubuntu下HDFS配置详细步骤
Hadoop依赖Java运行,首先安装OpenJDK 8(Hadoop 3.x常用版本):
sudo apt update sudo apt install -y openjdk-8-jdk # 验证安装 java -version 需确保输出显示Java版本为1.8.x,否则Hadoop可能无法启动。
Hadoop节点间通过SSH通信,需安装并配置免密登录:
sudo apt install -y openssh-server ssh-keygen -t rsa -P '' # 生成密钥对(直接回车) cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 将公钥加入授权文件 chmod 600 ~/.ssh/authorized_keys # 设置权限 # 测试免密登录 ssh localhost 若无需集群,可跳过此步,但建议提前配置以便后续扩展。
从Apache官网下载稳定版本(如3.3.4),解压至/usr/local/(系统目录):
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz 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(系统级),添加Hadoop路径:
echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc # 使配置生效 source ~/.bashrc 验证环境变量:
echo $HADOOP_HOME # 应输出Hadoop安装路径 hadoop version # 应显示Hadoop版本信息 进入Hadoop配置目录$HADOOP_HOME/etc/hadoop,修改以下文件:
配置HDFS默认文件系统地址(单机模式指向localhost):
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> 配置NameNode和DataNode数据目录、副本数(单机模式设为1):
<configuration> <property> <name>dfs.replication</name> <value>1</value> <!-- 单机模式设为1,集群需根据节点数调整 --> </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> 手动创建上述配置的目录并赋予权限:
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 # 将目录所有者设为当前用户 首次启动前需格式化NameNode(初始化元数据):
hdfs namenode -format 注意:格式化会清除所有HDFS数据,仅首次启动时执行一次。
使用以下命令启动HDFS(包含NameNode、DataNode、SecondaryNameNode):
start-dfs.sh 查看进程是否启动成功:
jps 应输出以下进程(若未显示,检查日志$HADOOP_HOME/logs):
打开浏览器,输入http://localhost:9870(Hadoop 3.x默认端口),查看HDFS状态页面。
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 ~/download_test.txt hdfs dfs -rm /user/$USER/test.txt 若需停止HDFS,使用以下命令:
stop-dfs.sh fs.defaultFS的9000改为其他端口)。slaves文件(指定DataNode节点)、SSH免密登录及yarn-site.xml(YARN资源管理)。