在CentOS上安装HDFS(Hadoop分布式文件系统)是一个相对复杂的过程,需要确保所有步骤都正确无误。以下是一个详细的步骤指南,帮助你在CentOS上正确安装HDFS。
首先,安装Java环境。
sudo yum install java-1.8.0-openjdk-devel
验证安装:
java -version
从Apache Hadoop官方网站下载最新版本的Hadoop,并解压到指定目录。例如,下载Hadoop 3.3.1版本。
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
编辑/etc/profile.d/hadoop.sh文件,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使环境变量生效:
source /etc/profile.d/hadoop.sh
验证Hadoop安装:
hadoop version
编辑Hadoop配置文件,通常位于$HADOOP_HOME/etc/hadoop目录下。
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</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>
yarn-site.xml:
<configuration>
<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>
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.job.tracker</name>
<value>namenode:9001</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>namenode:110020</value>
</property>
</configuration>
在NameNode节点上执行以下命令格式化HDFS:
hdfs namenode -format
在NameNode节点上启动HDFS和YARN:
start-dfs.sh
start-yarn.sh
使用以下命令检查HDFS进程是否启动成功:
jps
你应该看到NameNode、SecondaryNameNode、DataNode、ResourceManager和NodeManager进程。
为了方便集群管理,配置SSH无密码登录:
ssh-keygen -t rsa
ssh-copy-id hadoop@namenode
ssh-copy-id hadoop@datanode1
ssh-copy-id hadoop@datanode2
通过以上步骤,你应该能够在CentOS上成功安装和配置HDFS。