hadoop基础集群环境搭建

3.1 虚拟机环境准备

  •     克隆虚拟机
  •     修改克隆虚拟机的静态IP
  •     修改主机名
  •     关闭防火墙
  •     创建hadoop用户
  •     配置hadoop用户具有root权限
  •     在/opt目录下创建文件夹

      1). 在/opt目录下创建module、software文件夹

    [hadoop@mini1 opt]$ sudo mkdir module
    [hadoop@mini1 opt]$ sudo mkdir software

       2). 修改module、software文件夹的所有者cd

[hadoop@mini1 opt]$ sudo chown hadoop:hadoop module/ software/
[hadoop@mini1 opt]$ ll
总用量 8
drwxr-xr-x. 2 hadoop hadoop 4096 1月  17 14:37 module
drwxr-xr-x. 2 hadoop hadoop 4096 1月  17 14:38 software


3.2 安装JDK 

1.卸载现有JDK

         查询是否安装Java软件:

 [hadoop@mini1 opt]$ rpm -qa | grep java

        如果安装的版本低于1.7,卸载该JDK:

[hadoop@mini1 opt]$ sudo rpm -e 软件包

       查看JDK安装路径:

[hadoop@mini1 ~]$ which java

2. 将JDK导入到opt目录下面的software文件夹下面

3. 在Linux系统下的opt目录中查看软件包是否导入成功

[hadoop@mini1 opt]$ cd software/
[hadoop@mini1 software]$ ls
hadoop-2.7.2.tar.gz  jdk-8u144-linux-x64.tar.gz

 4. 解压JDK到/opt/module目录下

[hadoop@mini1 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C                                /opt/module/

5. 配置JDK环境变量
      1.先获取JDK路径

[hadoop@mini1 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144

     2. 打开/etc/profile文件, 在profile文件末尾添加JDK路径

[hadoop@mini1 software]$ sudo vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
## 保存并退出
:wq

     3.让修改后的文件生效

[hadoop@mini1 jdk1.8.0_144]$ source /etc/profile

 6. 测试JDK是否安装成功

[hadoop@mini1  jdk1.8.0_144]# java -version
java version "1.8.0_144"

    注意:重启(如果java -version可以用就不用重启)

[hadoop@mini1 jdk1.8.0_144]$ sync
[hadoop@mini1 jdk1.8.0_144]$ sudo reboot


3.3 安装Hadoop

    .Hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
    1. 将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面
    2. 进入到Hadoop安装包路径下

[hadoop@mini1 ~]$ cd /opt/software/

    3. 解压安装文件到/opt/module下面

[hadoop@mini1 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

   4. 查看是否解压成功

[hadoop@mini1 software]$ ls /opt/module/
hadoop-2.7.2

   5. 将Hadoop添加到环境变量
        (1)获取Hadoop安装路径

[hadoop@mini1 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2

       (2)打开/etc/profile文件, 在profile文件末尾添加JDK路径:(shitf+g),保存并退出

[hadoop@mini1 hadoop-2.7.2]$ sudo vi /etc/profile
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
:wq

    (3)让修改后的文件生效

[hadoop@mini1 hadoop-2.7.2]$ source /etc/profile

  6. 测试是否安装成功

[hadoop@mini1 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2

  7. 重启(如果Hadoop命令不能用再重启)

[hadoop@mini1 hadoop-2.7.2]$ sync
[hadoop@mini1 hadoop-2.7.2]$ sudo reboot


3.4 集群配置

    1.  配置集群
            (1)核心配置文件
                        配置core-site.xml

[hadoop@mini1 hadoop]$ vim core-site.xml

                    在该文件中编写如下配置
               <!-- 指定HDFS中NameNode的地址 -->
               <property>
                      <name>fs.defaultFS</name>
                      <value>hdfs://mini1:9000</value>
               </property>
              <!-- 指定Hadoop运行时产生文件的存储目录 -->
               <property>
                       <name>hadoop.tmp.dir</name>
                       <value>/opt/module/hadoop-2.7.2/data/tmp</value>
               </property>

             (2)HDFS配置文件
                         配置hadoop-env.sh

[hadoop@mini1 hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

                         配置hdfs-site.xml

[hadoop@mini1 hadoop]$ vi hdfs-site.xml

                    在该文件中编写如下配置
                          <property>
                                 <name>dfs.replication</name>
                                 <value>3</value>
                        </property>
                       <!-- 指定Hadoop辅助名称节点主机配置 -->
                       <property>
                                <name>dfs.namenode.secondary.http-address</name>
                               <value>mini3:50090</value>
                       </property>

             (3)YARN配置文件
                       配置yarn-env.sh

[hadoop@mini1 hadoop]$ vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

                       配置yarn-site.xml

[hadoop@mini1 hadoop]$ vim yarn-site.xml

          在该文件中增加如下配置
                <!-- Reducer获取数据的方式 -->
                <property>
                      <name>yarn.nodemanager.aux-services</name>
                      <value>mapreduce_shuffle</value>
                </property>
               <!-- 指定YARN的ResourceManager的地址 -->
                <property>
                        <name>yarn.resourcemanager.hostname</name>
                         <value>mini2</value>
                 </property>

      (4)MapReduce配置文件
                 配置mapred-env.sh

[hadoop@mini1 hadoop]$ vi mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

                  配置mapred-site.xml

[hadoop@mini1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@mini1 hadoop]$ vi mapred-site.xml

                 在该文件中增加如下配置
                     <!-- 指定MR运行在Yarn上 -->
                    <property>
                            <name>mapreduce.framework.name</name>
                            <value>yarn</value>
                     </property>

    2.在集群上分发配置好的Hadoop配置文件

[hadoop@mini1 hadoop]$ xsync /opt/module/hadoop-2.7.2/

    3.查看文件分发情况

[hadoop@mini2 hadoop]$ cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml

 3.4 集群单点启动
      (1)如果集群是第一次启动,需要格式化NameNode

[hadoop@mini1 hadoop-2.7.2]$ hadoop namenode -format

     (2)在mini1上启动NameNode

[hadoop@mini1 hadoop-2.7.2]$ hadoop-daemon.sh start 
[hadoop@mini1 hadoop-2.7.2]$ jps
 3461 NameNode

    (3)在mini2、mini3以及mini4上分别启动DataNode

[hadoop@mini1 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[hadoop@mini1 hadoop-2.7.2]$ jps
    3461 NameNode
    3608 Jps
    3561 DataNode
[hadoop@mini2 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[hadoop@mini2 hadoop-2.7.2]$ jps
    3190 DataNode
    3279 Jps
[hadoop@mini3  hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[hadoop@mini3 hadoop-2.7.2]$ jps
    3237 Jps
    3163 DataNode


3.5 SSH无密登录配置


    1. 配置ssh
    (1)基本语法   ssh另一台电脑的ip地址
    (2)ssh连接时出现Host key verification failed的解决方法

  [hadoop@mini1 opt] $ ssh 192.168.1.103
    The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
    RSA key fingerprint is cf:1e:de:d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
    Are you sure you want to continue connecting (yes/no)?
    Host key verification failed.

           解决方案如下:直接输入yes
    2. 无密钥配置
         (1)生成公钥和私钥:

[hadoop@mini1  .ssh]$ ssh-keygen -t rsa

        然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
       (2)将公钥拷贝到要免密登录的目标机器上

[hadoop@mini1 .ssh]$ ssh-copy-id hadoop102
[hadoop@mini1 .ssh]$ ssh-copy-id hadoop103
[hadoop@mini1  .ssh]$ ssh-copy-id hadoop104

       注意:
              还需要在mini1 上采用root账号,配置一下无密登录到mini1、mini2、mini3;
              还需要在mini2 上采用hadoop账号配置一下无密登录到mini1、mini2、mini3服务器上。

    3. .ssh文件夹下(~/.ssh)的文件功能解释
       known_hosts 记录ssh访问过计算机的公钥(public key)
       id_rsa 生成的私钥
       id_rsa.pub 生成的公钥
        authorized_keys 存放授权过得无密登录服务器公钥

3.6 群起集群

  1. 配置slaves

cd  /opt/module/hadoop-2.7.2/etc/hadoop/slaves
[hadoop@mini1 hadoop]$ vi slaves

    在该文件中增加如下内容:
    mini1(hostname)主机名
    mini2(hostname)主机名
    mini3(hostname)主机名
    注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
    同步所有节点配置文件

[hadoop@mini1 hadoop]$ xsync slaves

    2. 启动集群
    (1)如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)

[hadoop@mini1 hadoop-2.7.2]$ bin/hdfs namenode -format

  (2)启动HDFS

[hadoop@mini1 hadoop-2.7.2]$ sbin/start-dfs.sh
[hadoop@mini1 hadoop-2.7.2]$ jps
4166 NameNode
4482 Jps
4263 DataNode
[hadoop@mini2 hadoop-2.7.2]$ jps
3218 DataNode
3288 Jps

[hadoop@mini3 hadoop-2.7.2]$ jps
3221 DataNode
3283 SecondaryNameNode
3364 Jps

  (3)启动YARN

[hadoop@mini2 hadoop-2.7.2]$ sbin/start-yarn.sh

    注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。
  (4)Web端查看SecondaryNameNode
  (5)浏览器中输入:http://hadoop104:50090/status.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值