hadoop hdfs 全分布式(Fully-Distributed Operation) 部署

 

  •    一、 架构简介:  

     本文档介绍如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单操作。

      使用hadoop版本:Apache Hadoop 2.6.5

      使用4个虚拟机节点以及角色:

            hadoop01(192.168.92.66)  namenode

 hadoop02(192.168.92.67)  datanode、second namenode

 hadoop03(192.168.92.68)   datanode

 hadoop04(192.168.92.69)    datanode

  • 二、操作系统环境准备

        2.1、依赖软件

           yum install -y ssh rsync          

        2.2、ssh免密

现在检查您是否可以在没有密码的情况下ssh到localhost:

  $ ssh localhost

如果在没有免密登录的情况下无法ssh到localhost,请执行以下命令:

 [root@hadoop01 .ssh]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
            [root@hadoop01 .ssh]# cat id_dsa.pub >> ~/.ssh/authorized_keys


           将hadoop01中的公钥分发到其他节点并将公钥添加到authorized_keys中,下面以hadoop02为例,其他操作一样

[root@hadoop01 .ssh]# scp id_dsa.pub root@hadoop02:`pwd`/hadoop01.pub
           登录hadoop02

[root@hadoop02 opt]# cd ~/.ssh

[root@hadoop02 .ssh]# cat hadoop01.pub >> ~/.ssh/authorized_keys

hadoop03和hadoop04做同样操作

注意:需要配置 hadoop01(namenode) 需要免密登录自己和其他所有的datanode节点

 

       2.3、 jdk安装并配置环境变量

使用rz命令将jdk安装包上传到每个节点  /opt目录下

cd /opt

安装jdk  

[root@hadoop01 opt]# rpm -ivh jdk-7u67-linux-x64.rpm 

配置环境变量

vi /etc/profile

追加两行

export JAVA_HOME=/usr/java/jdk1.7.0_67

export PATH=$PATH:$JAVA_HOME/bin
           重新引入一下配置文件   source /etc/profile

注意  hadoop01 hadoop02 hadoop03 hadoop04都是同样的

      2.4、 时间同步 

 [root@hadoop01 opt]# date

Mon Oct 29 19:27:14 CST 2018

验证每台虚拟机中的时间是否同步,如果不同步话需要执行下面操作将时间统一

https://blog.csdn.net/chuanxincui/article/details/83543669
      2.5、 虚拟机主机名以及hosts文件配置(以hadoop01为例  其他节点操作相同)

修改主机名

[root@hadoop01 opt]# vi /etc/sysconfig/network
           hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第1张图片

修改/etc/hosts文件如下

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第2张图片三、

  • 三、hadoop部署(以hadoop01为例  其他节点同样操作 )

3.1、 安装hadoop

使用rz命令上传安装包到/opt目录

cd /opt

解压hadoop安装包

[root@hadoop01 opt]# tar -zxvf  hadoop-2.6.5.tar.gz

将解压后文件复制到安装目录

[root@hadoop01 opt]# cp -r hadoop-2.6.5 /usr/local

 

3.2、 配置环境变量

[root@hadoop01 hadoop-2.6.5]# vi /etc/profile

修改如下:

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第3张图片

      修改完毕后重新引入配置文件

     source /etc/profile

3.2、 修改配置文件

[root@hadoop01 hadoop]# cd /usr/local/hadoop-2.6.5/etc/hadoop

修改hdfs-site.html

[root@hadoop01 hadoop]# vi hdfs-site.xml 


    hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第4张图片

修改core-site.html

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第5张图片

 

修改slaves(配置datanode)

vi slaves 

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第6张图片

 

修改jdk环境变量hadoop-env.sh

注意:已经配置了jdk的环境变量,为什么还要修改呢?

原因:ssh直接登录虚拟机的话会加载配置文件,但是如果从一台虚拟机上调用ssh登录另一台虚拟机的话,默认是不加载配置文件的,也就无法获取到我们配置的jdk环境变量,因此需要在此处修改

vi hadoop-env.sh

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第7张图片

 

创建临时目录

[root@hadoop01 hadoop]# mkdir -p /var/sxt/hadoop/full

 

其他节点做相同操作,或者直接将hadoop01中的修改分发到其他机器(hadoop02,hadoop03,hadoop04

分发结束后执行后续操作

namenode格式化

[root@hadoop01 hadoop-2.6.5]# hdfs namenode -format

结果如下表示格式化成功

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第8张图片

启动

[root@hadoop01 current]# start-dfs.sh 

输入结果如下表示启动成功

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第9张图片

    

四、验证

创建虚拟目录

[root@hadoop01 opt]# hdfs dfs -mkdir /user

[root@hadoop01 opt]# hdfs dfs -mkdir /user/root

浏览器登录 http://hadoop01:50070/ 验证

hadoop hdfs 全分布式(Fully-Distributed Operation) 部署_第10张图片

 

 

                 

                 

 

你可能感兴趣的:(hadoop,hdfs)