怎样配置CentOS的HDFS环境
在CentOS上配置Hadoop分布式文件系统(HDFS)涉及多个步骤,包括环境准备、安装Hadoop、配置环境变量、修改配置文件以及启动HDFS服务等。以下是详细的配置步骤:
1. 环境准备
安装Java环境
HDFS需要Java运行环境,首先确保已经安装了Java。
sudo yum install -y java-1.8.0-openjdk
然后配置Java环境变量:
vi /etc/profile
添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
保存并退出,然后使配置生效:
source /etc/profile
验证Java安装:
java -version
安装SSH
SSH用于集群节点之间的通信。
sudo yum install openssh-server -y
2. 安装Hadoop
下载并解压Hadoop
从Apache Hadoop官网下载最新版本的Hadoop,例如Hadoop 3.2.1。
wget https://downloads.apache.org/hadoop/core/hadoop-3.2.0/hadoop-3.2.0.tar.gz
tar -zxvf hadoop-3.2.0.tar.gz -C /opt/hadoop
配置环境变量
编辑 /etc/profile
文件,添加Hadoop的路径和环境变量:
vi /etc/profile
添加以下内容:
export HADOOP_HOME=/opt/hadoop/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
保存并退出,然后使配置生效:
source /etc/profile
3. 配置Hadoop
配置环境变量
编辑 /etc/hadoop/hadoop-env.sh
文件,设置JAVA_HOME为你安装的JDK路径:
vi /etc/hadoop/hadoop-env.sh
添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
配置Hadoop配置文件
core-site.xml
编辑 $HADOOP_HOME/etc/hadoop/core-site.xml
文件,配置以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
hdfs-site.xml
编辑 $HADOOP_HOME/etc/hadoop/hdfs-site.xml
文件,配置以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/path/to/namenode/dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/path/to/datanode/dir</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>30</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>60</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>10</value>
</property>
</configuration>
mapred-site.xml(如使用MapReduce):
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml(如启用YARN):
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4. 配置SSH免密登录
生成SSH密钥对:
ssh-keygen -t rsa
将公钥复制到其他节点的 authorized_keys
文件中,实现免密登录:
ssh-copy-id user@node2
ssh-copy-id user@node3
5. 配置网络
配置静态IP
编辑网络接口配置文件,例如 /etc/sysconfig/network-scripts/ifcfg-eth0
:
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
保存文件并退出编辑器,然后重启网络服务:
sudo systemctl restart network
配置主机名和DNS
编辑 /etc/sysconfig/network
文件,设置主机名:
HOSTNAME=node1
编辑 /etc/resolv.conf
文件,添加DNS服务器地址:
nameserver 8.8.8.8
nameserver 8.8.4.4
使用 hostnamectl set-hostname
命令使更改生效:
hostnamectl set-hostname node1
6. 格式化NameNode
在NameNode上执行格式化命令:
hdfs namenode -format
7. 启动HDFS
启动HDFS服务:
./sbin/start-dfs.sh
8. 验证配置
使用以下命令检查HDFS状态:
hdfs dfsadmin -report
访问Web界面,例如:
http://namenode:50070