HDFS在Heron集群中的配置和使用
系统环境
Heron集群可以使用HDFS作为其分布式共享存储的组件,这里仍使用三个HDFS节点进行配置。前提:各个主机中/etc/hostname和/etc/hosts文件中已经配置好对应主机名称和IP信息。
heron01: IP
heron02: IP
heron03: IP
说明:该文章为Heron高可用集群配置的一部分内容,因此集群环境沿用集群配置中的内容。
HDFS的安装
这里不是使用伪随机式配置,而是实现真实的多节点集群环境配置。首先再主节点(Heron01)中进行HDFS的安装配置,配置完成后打包分发到集群中各个工作节点中进行使用即可,如下为主节点(Heron01)中HDFS的安装配置过程。
1. 从下载地址,中下载HDFS并解压至指定目录。这里下载的版本为2.7.4,解压目录为:/home/yitian/hadoop目录下:
sudo tar -zxvf hadoop-2.7.4.tar.gz -C /home/yitian/hadoop
2. 修改HDFS中的配置文件。配置文件目录为:/home/yitian/hadoop/hadoop-2.7.4/etc/hadoop
- slaves
- core-site.xml
- hdfs-site.xml
- hadoop-env.sh
2.1 修改slaves文件,该文件中为HDFS集群中指定的slave主机名,前提为每个主机中都在hosts文件中配置好了hostname和ip的对应关系:
heron02
heron03
2.2 修改core-site.xml文件:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/yitian/hadoop/hadoop-2.7.4/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://heron01:9000</value>
</property>
</configuration>
2.3 修改hdfs-site.xml文件:
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>heron01:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/yitian/hadoop/hadoop-2.7.4/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/yitian/hadoop/hadoop-2.7.4/tmp/dfs/data</value>
</property>
</configuration>
2.4 修改hadoop-env.sh文件:找到该文件中如下的对应为止,java的环境
# The java implementation to use.
# export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_151
3.打包hadoop目录并分发。以上的步骤为在主节点heron01中完成,即完成了一个节点的HDFS的安装和配置。其他工作节点的配置过程与之相同,我们可以直接将以配置完成的hadoop目录打包,直接分发到各个工作节点中进行解压后使用。打包命令如下:
[email protected]:~$ tar -zcf ./hadoop.tar.gz ./hadoop
分发可以使用scp命令发送到各个工作节点中,需要注意的是,各个工作节点需要将该目录节点至与heron01中相同的目录中。
4. 完成以上各个工作节点的HDFS安装和配置后,配置各个节点的环境变量。在所有节点中的系统配置文件中,添加HADOOP的环境变量:
# Hadoop configuration
export HADOOP_HOME=/home/yitian/hadoop/hadoop-2.7.4
export PATH=${HADOOP_HOME}/bin:$PATH
并使用如下命令使配置文件生效:
source /etc/profile
5. 在集群中所有的主机中初始化HDFS:
[email protected]:~/.heron/conf/aurora$ cd /home/yitian/hadoop/hadoop-2.7.4/
[email protected]:~/hadoop/hadoop-2.7.4$ bin/hdfs namenode -format
启动HDFS集群并检查运行状态
在主节点heron01中运行如下命令启动hdfs集群:
[email protected]:~/hadoop/hadoop-2.7.4$ ./sbin/start-dfs.sh
检查各个节点中hdfs启动的进程是否正常:heron01主机中:
[email protected]:~/hadoop/hadoop-2.7.4$ jps
14691 SecondaryNameNode
14822 Jps
14476 NameNode
heron02和heron03工作节点中:
[email protected]:~/hadoop/hadoop-2.7.4/etc/hadoop$ jps
5401 DataNode
5481 Jps
2204 QuorumPeerMain
在heron01主机中访问HDFS的webui页面:heron01:50070