在Ubuntu上访问HDFS前,需先安装并启动Hadoop分布式文件系统。以下是关键步骤:
sudo apt install openjdk-8-jdk安装OpenJDK 8,并通过java -version验证安装。/usr/local/目录:wget http://archive.apache.org/dist/hadoop/core/hadoop-3.3.4/hadoop-3.3.4.tar.gz && tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/。~/.bashrc,添加export HADOOP_HOME=/usr/local/hadoop和export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin,运行source ~/.bashrc使配置生效。core-site.xml:设置fs.defaultFS为hdfs://localhost:9000(NameNode地址)。hdfs-site.xml:设置dfs.replication为1(单机模式副本数),dfs.namenode.name.dir为NameNode数据目录(如/usr/local/hadoop/hdfs/namenode),dfs.datanode.data.dir为DataNode数据目录(如/usr/local/hadoop/hdfs/datanode)。hdfs namenode -format。start-dfs.sh启动HDFS,通过jps命令查看NameNode、DataNode进程是否运行。http://localhost:9870(Hadoop 3.x版本),若出现HDFS管理界面则说明启动成功。Hadoop提供hdfs dfs命令(兼容hadoop fs)用于操作HDFS文件,常用命令如下:
hdfs dfs -ls /(显示HDFS根目录下的文件/目录)。hdfs dfs -mkdir -p /user/ubuntu(创建/user/ubuntu目录,-p表示递归创建)。hdfs dfs -put /home/ubuntu/localfile.txt /user/ubuntu/(将本地localfile.txt上传至HDFS的/user/ubuntu/目录)。hdfs dfs -get /user/ubuntu/remote_file.txt /home/ubuntu/(将HDFS中的remote_file.txt下载至本地/home/ubuntu/目录)。hdfs dfs -cat /user/ubuntu/remote_file.txt(显示HDFS文件的内容)。hdfs dfs -rm /user/ubuntu/remote_file.txt(删除文件),hdfs dfs -rm -r /user/ubuntu/(递归删除目录)。若需像访问本地磁盘一样访问HDFS,可通过**FUSE(用户态文件系统)**挂载HDFS。步骤如下:
sudo apt-get install hadoop-hdfs-fuse安装FUSE工具。mkdir -p /mnt/hdfs(本地挂载目录)。hadoop-fuse-dfs dfs://localhost:9000 /mnt/hdfs(将HDFS挂载至/mnt/hdfs,dfs://localhost:9000为NameNode地址)。ls /mnt/hdfs(查看HDFS根目录内容),此时可使用cd、cp等命令操作HDFS文件。/etc/fstab,添加hadoop-fuse-dfs#dfs://localhost:9000 /mnt/hdfs fuse allow_other,usetrash,rw 2 0(替换为实际的NameNode地址),重启后自动挂载。hdfs dfs -chmod修改权限)。localhost替换为NameNode的实际IP或主机名。