温馨提示×

Ubuntu下HDFS配置的方法

小樊
42
2025-10-08 08:25:55
栏目: 智能运维

Ubuntu下HDFS配置详细步骤

1. 环境准备

1.1 安装Java环境

Hadoop依赖Java运行,首先安装OpenJDK 8(Hadoop 3.x常用版本):

sudo apt update sudo apt install -y openjdk-8-jdk # 验证安装 java -version 

需确保输出显示Java版本为1.8.x,否则Hadoop可能无法启动。

1.2 安装SSH服务(单机模式可选,集群必需)

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 

若无需集群,可跳过此步,但建议提前配置以便后续扩展。

2. 下载并解压Hadoop

从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 

3. 配置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版本信息 

4. 配置HDFS核心文件

进入Hadoop配置目录$HADOOP_HOME/etc/hadoop,修改以下文件:

4.1 core-site.xml

配置HDFS默认文件系统地址(单机模式指向localhost):

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> 

4.2 hdfs-site.xml

配置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> 

4.3 创建数据目录

手动创建上述配置的目录并赋予权限:

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 # 将目录所有者设为当前用户 

5. 格式化NameNode

首次启动前需格式化NameNode(初始化元数据):

hdfs namenode -format 

注意:格式化会清除所有HDFS数据,仅首次启动时执行一次

6. 启动HDFS服务

使用以下命令启动HDFS(包含NameNode、DataNode、SecondaryNameNode):

start-dfs.sh 

查看进程是否启动成功:

jps 

应输出以下进程(若未显示,检查日志$HADOOP_HOME/logs):

  • NameNode
  • DataNode
  • SecondaryNameNode

7. 验证HDFS运行

7.1 访问Web界面

打开浏览器,输入http://localhost:9870(Hadoop 3.x默认端口),查看HDFS状态页面。

7.2 使用HDFS命令

  • 创建HDFS目录:
    hdfs dfs -mkdir -p /user/$USER 
  • 上传本地文件到HDFS:
    hdfs dfs -put ~/test.txt /user/$USER/ 
  • 列出HDFS目录内容:
    hdfs dfs -ls /user/$USER 
  • 下载HDFS文件到本地:
    hdfs dfs -get /user/$USER/test.txt ~/download_test.txt 
  • 删除HDFS文件:
    hdfs dfs -rm /user/$USER/test.txt 

8. 停止HDFS服务

若需停止HDFS,使用以下命令:

stop-dfs.sh 

注意事项

  • 端口冲突:若端口被占用,可在配置文件中修改端口(如fs.defaultFS的9000改为其他端口)。
  • 权限问题:确保HDFS数据目录的所有者为当前用户,避免权限拒绝错误。
  • 集群扩展:若需搭建集群,需额外配置slaves文件(指定DataNode节点)、SSH免密登录及yarn-site.xml(YARN资源管理)。

0