在CentOS上高效配置Hadoop分布式文件系统(HDFS)涉及多个步骤,包括环境设置、配置文件修改、服务启动和验证。以下是一个详细的指南:
HDFS需要Java环境,首先确保安装了合适版本的JDK。
yum install -y java-1.8.0-openjdk-devel
为了避免每次启动时IP变化,需要配置静态IP地址。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加或修改以下内容:
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
然后重启网络服务:
sudo systemctl restart network
生成SSH密钥对并分发到所有节点:
ssh-keygen -t rsa
ssh-copy-id root@node2
ssh-copy-id root@node3
从Apache Hadoop官网下载对应版本的Hadoop安装包。
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local
编辑/etc/profile
文件,添加Hadoop路径:
export HADOOP_HOME=/usr/local/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后使配置生效:
source /etc/profile
主要配置文件包括core-site.xml
、hdfs-site.xml
和mapred-site.xml
。
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/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
将所有节点的主机名添加到/usr/local/hadoop/etc/slaves
文件中。
在NameNode节点上执行格式化命令:
hdfs namenode -format
在NameNode节点上启动HDFS:
start-dfs.sh
使用以下命令检查HDFS状态:
hdfs dfsadmin -report
为了提高HDFS的高可用性,可以配置HDFS HA。这包括设置JournalNode和配置故障转移控制器。
在两个节点上安装并启动JournalNode:
hdfsJournalNode start
在NameNode节点上编辑/usr/local/hadoop/etc/hadoop/hdfs-site.xml
,添加以下内容:
<property>
<name>dfs.ha.namenodes.xxx</name>
<value>namenode1,namenode2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.xxx.namenode1</name>
<value>namenode1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.xxx.namenode2</name>
<value>namenode2:8020</value>
</property>
根据实际需求调整HDFS参数,如块大小、副本数量等。可以参考Hadoop性能调优指南进行详细优化。
通过以上步骤,您可以在CentOS上高效地配置和管理HDFS集群。根据具体需求进行进一步的性能优化和高可用性配置,以确保系统的稳定性和性能。