HDFS在Ubuntu上如何正确配置
HDFS在Ubuntu上的正确配置步骤
1. 环境准备
1.1 更新系统
首先更新Ubuntu系统的软件包列表及已安装的包,确保系统处于最新状态:
sudo apt update &
&
sudo apt upgrade -y
1.2 安装Java环境
Hadoop依赖Java运行环境,推荐安装OpenJDK 8(Hadoop 3.x兼容版本):
sudo apt install -y openjdk-8-jdk
验证Java安装是否成功:
java -version
输出应包含Java版本信息(如openjdk version "1.8.0_XXX"
)。
1.3 安装SSH服务(用于节点间通信)
Hadoop需要SSH无密码登录来管理集群节点(即使是单机模式也建议配置):
sudo apt install -y openssh-server
生成SSH密钥对(若已存在可跳过):
ssh-keygen -t rsa -P ''
(直接按回车键,默认路径和空密码)
将公钥复制到本地节点(实现免密登录):
cat ~/.ssh/id_rsa.pub >
>
~/.ssh/authorized_keys
设置authorized_keys权限:
chmod 600 ~/.ssh/authorized_keys
测试SSH连接:
ssh localhost
(输入密码后若无需再次输入,则配置成功)。
2. 下载并解压Hadoop
从Apache Hadoop官网下载稳定版本(如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相关环境变量:
nano ~/.bashrc
在文件末尾添加以下内容(根据实际解压路径调整):
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使环境变量立即生效:
source ~/.bashrc
验证环境变量是否配置正确:
echo $HADOOP_HOME
(应输出/usr/local/hadoop
)。
4. 配置HDFS核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop
),修改以下关键配置文件:
4.1 core-site.xml(HDFS默认文件系统)
编辑core-site.xml
,设置HDFS的默认访问地址(单机模式下为localhost):
<
configuration>
<
property>
<
name>
fs.defaultFS<
/name>
<
value>
hdfs://localhost:9000<
/value>
<
/property>
<
/configuration>
4.2 hdfs-site.xml(HDFS核心参数)
编辑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 创建HDFS数据目录
根据hdfs-site.xml
中的配置,创建NameNode和DataNode的存储目录,并设置正确的权限:
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
首次启动HDFS前,必须格式化NameNode(初始化元数据存储目录):
hdfs namenode -format
格式化后会生成/usr/local/hadoop/data/namenode/current
目录(包含元数据)。
6. 启动HDFS服务
使用以下命令启动HDFS服务(包含NameNode和DataNode):
start-dfs.sh
启动后,可通过以下命令检查服务进程是否正常运行:
jps
若输出包含NameNode
、DataNode
和SecondaryNameNode
(可选,用于备份NameNode元数据),则说明启动成功。
7. 验证HDFS状态
7.1 通过Web界面验证
打开浏览器,访问NameNode的Web管理界面(默认端口50070,部分版本为9870):
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/
(test.txt
为本地文件) - 列出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
若上述命令均能正常执行,则说明HDFS配置正确。
8. 可选:停止HDFS服务
若需要停止HDFS服务,可使用以下命令:
stop-dfs.sh
注意事项
- 端口冲突:若启动失败,需检查
core-site.xml
中的端口(如9000)是否被占用,可通过sudo netstat -tulnp | grep 9000
查看。 - 权限问题:确保HDFS数据目录(
namenode
、datanode
)的所有者为当前用户,避免因权限不足导致启动失败。 - 单机模式与集群模式:上述配置为单机模式(仅本地节点),若需搭建集群,需修改
core-site.xml
中的fs.defaultFS
为集群NameNode地址,并配置slaves
文件(指定DataNode节点列表)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HDFS在Ubuntu上如何正确配置
本文地址: https://pptw.com/jishu/728882.html