CentOS 6.5环境下搭建HDFS完全分布式

  • 准备工作
  • 配置免密登录
  • 配置Hadoop文件
  • 将配置好的Hadoop文件分发到其余节点上
  • HDFS初始化与服务启动


准备工作

       首先需要准备4台CentOS6.5虚拟机,并且将网络与JDK配置完全,如需配置JDK详见 分布式存储:HDFS.。

       注意:在安装JDK时需要先确认一下系统中是否自带JDK,控制台输入java -version如果显示了JDK版本,最好先卸载后安装并配置自己下载的JDK

centos7 安装hadoop 单节点_主机名

       之后我们需要对这四台虚拟机做出合理设计,如我的虚拟机主机名分别为Lucian-01到Lucian-04。Lucian-01主要为NameNode,Lucian-02为SecondaryNameNode与DataNode,Lucian-03和04都为DataNode。其中各个组成的作用已在上篇做出总结,这里就不重复了。

       分工好后需要进一步配置hosts:

       命令行:vi /etc/hosts/

       文件打开后在文件结尾处分别添加上四台虚拟机对应的IP地址与主机名。

centos7 安装hadoop 单节点_Hadoop_02


注意:四台虚拟机都需要修改hosts文件

配置免密登录

       配置免密登录之前需要先弄清楚几台虚拟机之间的连接关系,即NameNode连接其余所有节点。所以本次将会用Lucian-01连接自身与其余节点。

       首先在每个节点的命令行中输入:ssh-keygen -t rsa,这样就会在每个节点下的根目录中的 .ssh目录中生成一个公钥与私钥。

       最后在NameNode节点(Lucian-01)中运行:

centos7 安装hadoop 单节点_Hadoop_03


语句意为将公钥写入自身与其余节点中,运行过后,正确如图:

centos7 安装hadoop 单节点_ci_04

配置Hadoop文件

       首先下载并解压Hadoop文件。下载地址.
       之后修改Hadoop/etc路径下的hdfs-site.xml,将以下数据添加到标签中
<property>        <name>dfs.replication</name>         <value>3</value></property><property>        <name>dfs.namenode.secondary.http-address</name>        <value>Lucian-02:50090</value></property>
注意:如果主机名不为Lucian-02时注意修改其中的代码

       再将以下数据添加到hadoop/etc中的core-site.xml中的<configuration>标签中
<property>        <name>fs.defaultFS</name>        <value>hdfs:Lucian-01:9000</value></property><property>        <name>hadoop.tmp.dir</name>        <value>/var/abc/hadoop/local</value></property>注意:如果主机名不为Lucian-01时注意修改其中的代码

       最后将目录下的slaves中添加DataNode节点的主机名
注意:每个主机名之间必须换行,也不要有多余的空格

将配置好的Hadoop文件分发到其余节点上

       因为之前的操作都是在Lucian-01上进行的,所以需要运行一下命令将文件远程发送给其余节点。
scr -r hadoop-2.6.5 root@Lucian-02:/opt/software/
scr -r hadoop-2.6.5 root@Lucian-03:/opt/software/
scr -r hadoop-2.6.5 root@Lucian-04:/opt/software/
注意:需要根据主机名、自身文件路径与目标路径对语句进行简单调整

HDFS初始化与服务启动

       首先需要控制台输入 jps 来确认每个节点中都没有Hadoop服务的相关进程,如果有可以使用 killall java命令 来终止进程。

       使用hdfs namenode -format命令来对HDFS初始化,如果提示hdfs命令不存在请参考上篇配置Hadoop环境。

       再初始化完成后可以运行hadoop/sbin目录中的start-dfs.sh来启动Hadoop服务。

       最后通过浏览器输入 NameNode主机名:50070 来确认是否配置成功。如图,当Hadoop首页Live Node为3时表明配置成功。

centos7 安装hadoop 单节点_主机名_05