HDFS与Ubuntu高效集成指南
在Ubuntu上集成HDFS前,需完成基础环境配置:
sudo apt update && sudo apt install openjdk-8-jdk
安装,通过java -version
验证安装;设置JAVA_HOME
环境变量(编辑~/.bashrc
,添加export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
,然后source ~/.bashrc
)。/usr/local/hadoop
),并通过ls
确认解压完整性。进入Hadoop的etc/hadoop
目录,修改关键配置文件以适配Ubuntu环境:
<property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
(若为分布式集群,需替换为NameNode的实际IP/主机名)。<property><name>dfs.replication</name><value>1</value></property>
<property><name>dfs.namenode.name.dir</name><value>file:///home/yourusername/hadoop_data/namenode</value></property>
<property><name>dfs.datanode.data.dir</name><value>file:///home/yourusername/hadoop_data/datanode</value></property>
~/.bashrc
,添加Hadoop路径:export HADOOP_HOME=/usr/local/hadoop
、export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
,执行source ~/.bashrc
使配置生效。hdfs namenode -format
(注意:生产环境需谨慎,频繁格式化会损坏数据)。start-dfs.sh
启动NameNode和DataNode,通过jps
命令查看进程(需看到NameNode
和DataNode
);若需启动YARN(资源管理),再执行start-yarn.sh
并检查ResourceManager
和NodeManager
进程。hdfs dfs -mkdir -p /user/yourusername
(-p
递归创建父目录);hdfs dfs -put ~/localfile.txt /user/yourusername/
;hdfs dfs -ls /user/yourusername/
;hdfs dfs -get /user/yourusername/localfile.txt ~/download/
;hdfs dfs -rm -r /user/yourusername/olddir
(-r
递归删除目录)。dfs.blocksize
(默认128MB,大文件读取可设为256MB或更大,小文件可设为64MB),编辑hdfs-site.xml
添加<property><name>dfs.blocksize</name><value>268435456</value></property>
(256MB,单位字节)。hadoop archive
命令合并小文件,或定期清理无用小文件。core-site.xml
添加:<property><name>io.compression.codecs</name><value>org.apache.hadoop.io.compress.SnappyCodec</value></property>
chmod
修改目录权限(如sudo chmod -R 755 /home/yourusername/hadoop_data
),或在hdfs-site.xml
中设置dfs.permissions.enabled=false
(临时关闭权限检查,生产环境不推荐)。netstat -tulnp | grep 9000
),修改core-site.xml
中的fs.defaultFS
端口(如改为9001)。~/.bashrc
中的JAVA_HOME
路径正确,并执行source ~/.bashrc
重新加载环境变量。