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

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

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

准备工作

       首先需要准备4台CentOS6.5虚拟机,并且将网络与JDK配置完全,如需配置JDK详见 分布式存储:HDFS.。
       注意:在安装JDK时需要先确认一下系统中是否自带JDK,控制台输入java -version如果显示了JDK版本,最好先卸载后安装并配置自己下载的JDK

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

       分工好后需要进一步配置hosts:
       命令行:vi /etc/hosts/
       文件打开后在文件结尾处分别添加上四台虚拟机对应的IP地址与主机名。
CentOS 6.5环境下搭建HDFS完全分布式_第1张图片
注意:四台虚拟机都需要修改hosts文件

配置免密登录

       配置免密登录之前需要先弄清楚几台虚拟机之间的连接关系,即NameNode连接其余所有节点。所以本次将会用Lucian-01连接自身与其余节点。
       首先在每个节点的命令行中输入:ssh-keygen -t rsa,这样就会在每个节点下的根目录中的 .ssh目录中生成一个公钥与私钥。
       最后在NameNode节点(Lucian-01)中运行:

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

配置Hadoop文件

       首先下载并解压Hadoop文件。下载地址.
       之后修改Hadoop/etc路径下的hdfs-site.xml,将以下数据添加到标签中

       dfs.replication
        3


       dfs.namenode.secondary.http-address
       Lucian-02:50090


注意:如果主机名不为Lucian-02时注意修改其中的代码

       再将以下数据添加到hadoop/etc中的core-site.xml中的标签中

       fs.defaultFS
       hdfs:Lucian-01:9000


       hadoop.tmp.dir
       /var/abc/hadoop/local

注意:如果主机名不为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时表明配置成功。
在这里插入图片描述

你可能感兴趣的:(CentOS 6.5环境下搭建HDFS完全分布式)