温馨提示×

HDFS配置Ubuntu要注意啥

小樊
49
2025-09-19 09:02:10
栏目: 智能运维

HDFS配置Ubuntu的关键注意事项

1. 系统环境准备

  • 用户与权限:建议创建专用的hadoop用户(如sudo addgroup hadoop && sudo adduser --ingroup hadoop hadoop),避免使用root用户操作,提升安全性;确保该用户对Hadoop安装目录(如/usr/local/hadoop)及数据目录(如/usr/local/hadoop/data/namenode)有读写权限(sudo chown -R hadoop:hadoop /usr/local/hadoop)。
  • Java环境:Hadoop依赖Java 8及以上版本(推荐OpenJDK),通过sudo apt install openjdk-11-jdk安装后,需配置JAVA_HOME环境变量(在~/.bashrchadoop-env.sh中添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64),并通过java -version验证安装。

2. Hadoop安装与配置

  • 安装包处理:从Apache官网下载稳定版本的Hadoop(如3.3.4),解压至/usr/local/目录(sudo tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/),并重命名为hadoopsudo mv hadoop-3.3.4 hadoop);配置HADOOP_HOME环境变量(export HADOOP_HOME=/usr/local/hadoop)及PATHexport PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin),通过source ~/.bashrc使配置生效。
  • 核心配置文件
    • hadoop-env.sh:修改JAVA_HOME为系统Java路径(如export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64),确保Hadoop能找到Java环境。
    • core-site.xml:设置HDFS默认文件系统地址(fs.defaultFS),单机模式下为hdfs://localhost:9000,集群模式下需替换为NameNode的实际IP或主机名。
    • hdfs-site.xml:配置NameNode数据目录(dfs.namenode.name.dir,如/usr/local/hadoop/data/namenode)、DataNode数据目录(dfs.datanode.data.dir,如/usr/local/hadoop/data/datanode)及副本数(dfs.replication,单机模式设为1,集群模式根据节点数量调整,如3)。
    • yarn-site.xml(可选,若启用YARN):配置ResourceManager主机名(yarn.resourcemanager.hostname,单机模式为localhost)及MapReduce Shuffle服务(yarn.nodemanager.aux-services设为mapreduce_shuffle)。
    • mapred-site.xml(可选,若启用MapReduce):设置MapReduce框架为YARN(mapreduce.framework.name设为yarn)。

3. SSH无密码登录配置

  • 生成密钥对:在hadoop用户下执行ssh-keygen -t rsa,按回车键生成默认路径的密钥文件(~/.ssh/id_rsa)。
  • 分发公钥:将公钥复制到本机(ssh-copy-id hadoop@localhost),实现hadoop用户在本机的无密码登录;若为集群模式,需将公钥分发到所有节点(ssh-copy-id hadoop@node2)。
  • 验证登录:执行ssh localhost,无需输入密码即可登录,确保节点间通信正常。

4. NameNode格式化与集群启动

  • 格式化NameNode:首次启动前必须执行hdfs namenode -format,清除NameNode元数据(注意:格式化会删除所有HDFS数据,仅首次启动时执行)。
  • 启动集群:依次执行start-dfs.sh(启动HDFS服务,包括NameNode、DataNode)和start-yarn.sh(启动YARN服务,包括ResourceManager、NodeManager);启动后通过jps命令验证进程(应看到NameNode、DataNode、ResourceManager、NodeManager等进程)。

5. 防火墙与端口配置

  • 开放必要端口:HDFS依赖多个端口通信,需通过ufw(Ubuntu防火墙)开放:NameNode RPC端口(9000)、Web UI端口(50070)、ResourceManager端口(8088)等(sudo ufw allow 9000 && sudo ufw allow 50070 && sudo ufw allow 8088);若为集群模式,需开放节点间的通信端口(如DataNode与NameNode之间的50010、50020端口)。

6. 验证与日常管理

  • 状态检查:通过hdfs dfsadmin -report查看HDFS集群状态(包括DataNode数量、存储容量、副本数等);访问Web UI(http://localhost:50070)直观查看HDFS文件系统和节点信息。
  • 常用命令:掌握HDFS基本操作命令,如创建目录(hdfs dfs -mkdir /user/hadoop/test)、上传文件(hdfs dfs -put localfile.txt /user/hadoop/test)、列出目录(hdfs dfs -ls /user/hadoop)、下载文件(hdfs dfs -get /user/hadoop/test/file.txt localfile.txt)、删除文件(hdfs dfs -rm /user/hadoop/test/file.txt)。
  • 停止集群:通过stop-dfs.sh(停止HDFS)和stop-yarn.sh(停止YARN)关闭集群服务,避免资源浪费。

0