在 CentOS 上集成 HDFS 的完整落地方案
一 环境准备与基础配置
sudo yum install -y java-1.8.0-openjdk-develjava -versionssh-keygen -t rsassh-copy-id localhostssh-copy-id <目标节点主机名/IP>wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gztar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/ && mv /usr/local/hadoop-3.3.1 /usr/local/hadoopexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkexport HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource /etc/profile.d/hadoop.shmkdir -p /usr/local/hadoop/data/{namenode,datanode}二 配置 HDFS 核心文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:8020</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>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
三 启动与验证
hdfs namenode -formatstart-dfs.shstart-yarn.shjps(应看到 NameNode、DataNode,如启用 YARN 则还有 ResourceManager、NodeManager)hdfs dfsadmin -reporthdfs dfs -mkdir -p /user/testhdfs dfs -put /path/to/localfile /user/testhdfs dfs -ls /user/test四 客户端集成与常用操作
hdfs dfs -ls /hdfs dfs -put /local/path /hdfs/pathhdfs dfs -get /hdfs/path /local/path<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.3.1</version>
</dependency>
五 常见问题与优化建议