1. 准备Linux环境
在Linux上使用Hadoop文件系统(HDFS)前,需完成基础环境配置:
java -version
验证安装(如未安装,用sudo apt install openjdk-11-jdk
或对应包管理器安装)。sudo apt install openssh-client openssh-server
安装,启动服务sudo service ssh start
并检查状态sudo service ssh status
。hadoopuser
),并加入sudo
组:sudo adduser hadoopuser
→ sudo usermod -aG sudo hadoopuser
。2. 下载与安装Hadoop
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
。/usr/local
目录:tar -xzvf hadoop-3.3.1.tar.gz
→ sudo mv hadoop-3.3.1 /usr/local/hadoop
。~/.bashrc
(或/etc/profile
),添加以下内容:export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际Java路径调整
执行source ~/.bashrc
使配置生效。3. 配置Hadoop核心文件
进入$HADOOP_HOME/etc/hadoop
目录,修改以下关键配置文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> <!-- 单机模式用localhost,集群需替换为NameNode主机名 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value> <!-- 临时文件目录 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</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>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value> <!-- 集群模式需替换为ResourceManager主机名 -->
</property>
</configuration>
4. 启动HDFS服务
hdfs namenode -format
start-dfs.sh
启动NameNode和DataNode服务。jps
命令查看进程(应出现NameNode
、DataNode
);http://localhost:9870
。5. 使用HDFS命令行工具
Hadoop提供hadoop fs
(通用文件系统命令)和hdfs dfs
(HDFS专用命令,推荐)操作HDFS,常见操作如下:
hdfs dfs -put /local/path/file.txt /hdfs/destination/
hdfs dfs -get /hdfs/source/file.txt /local/path/
hdfs dfs -ls /hdfs/path/
(加-h
参数可显示文件大小人类可读格式,如-ls -h
)hdfs dfs -cat /hdfs/path/file.txt
(大文件用| less
分页:hdfs dfs -cat /hdfs/path/file.txt | less
)hdfs dfs -rm /hdfs/path/file.txt
(删除目录加-r
参数:hdfs dfs -rm -r /hdfs/path/dir/
)hdfs dfs -mkdir -p /hdfs/path/newdir/
(-p
参数递归创建父目录)hdfs dfs -chmod 755 /hdfs/path/file.txt
(权限设置)、hdfs dfs -chown user:group /hdfs/path/file.txt
(所有者修改)6. 可选:挂载HDFS到Linux文件系统
若需将HDFS像本地目录一样访问,可使用fuse-dfs
工具(需安装hadoop-fuse
包):
sudo fuse-dfs dfs://localhost:9000 /mnt/hdfs -o nonempty
挂载后,可通过/mnt/hdfs
路径直接访问HDFS文件(如ls /mnt/hdfs
)。