• 在CentOS7下搭建Hadoop2.9.0集群


    系统环境:CentOS 7

    JDK版本:jdk-8u191-linux-x64

    MYSQL版本:5.7.26

    Hadoop版本:2.9.0

    Hive版本:2.3.4

    Host Name Ip User/Pass
    Namenode 192.168.2.3 root/root.
    Datanode1 192.168.2.5 root/root.
    Datanode2 192.168.2.6 root/root.

     

    安装JDK

     

    https://www.cnblogs.com/java-h/p/11127259.html

     

    安装MYSQL

     

    https://www.cnblogs.com/java-h/p/11127636.html

     

    1、配置服务器环境

    1、进入root : su root 
    2、关闭防火墙:systemctl stop firewalld 3、关闭防火墙开机自启:systemctl disable firewalld.service 4、查看防火墙状:firewall-cmd –state 5、修改每台机的hosts:vim /etc/hosts 192.168.2.3 namenode 192.168.2.5 datanode1 192.168.2.6 datanode2

    2、配置SSH免密登录

     

    1、在Namenode 上生成密钥对:ssh-keygen -t rsa
    
    2、在从机上创建.ssh文件夹:mkdir .ssh
    
    3、将公钥复制到从机(Datanode1、Datanode2)上:
    
      scp ~/.ssh/id_rsa.pub root@192.168.2.6:~/.ssh/
    
      scp ~/.ssh/id_rsa.pub root@192.168.2.5:~/.ssh/
    
    4、登录从机,进入目录:cd /home/hadoop/
    
    5、将公钥放到.ssh中的authorized_keys:
    
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    6、测试:
    
    在主机namenode上登陆从机datanode1 
    ssh datanode1
    ssh datanode2
    ssh namenode 如果能切换到对应的机器则表示成功。 注意: 1、在切换到datanode1 后,如果需要测试登陆datanode2的话,需要先返回到master,用命令exit。 2、配置SSH时除了子节点主节点自己也要给自己配置SSH免密。

    3、配置Hadoop集群

    1、创建存放Hadoop的文件夹:mkdir /home/bigdata
    2、进入新建的文件夹:cd /home/bigdata
    3、解压hadoop和建立文件:tar -zxvf hadoop-2.9.0.tar.gz 
    4、重命名:mv hadoop-2.9.0 hadoop
    5、创建hdfs相关文件(三台机子都需要操作) 
        mkdir /home/data 
        mkdir /home/data/tmp 
        mkdir /home/data/dfs
    7、创建dfs系统使用的dfs系统名称hdfs-site.xml使用:
    mkdir /home/data/dfs/name 
    8、创建dfs系统使用的数据文件hdfs-site.xml文件使用:
    mkdir /home/data/dfs/data
    7、配置环境变量(三台机子都需要操作) 
    root用户下:vim /etc/profile
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar:$JRE_HOME/lib
    export HADOOP_HOME=/home/bigdata/hadoop
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME:$PATH
    保存退出后:source /etc/profile

    4、配置Hadoop集群配置文件

    进入Hadoop的配置文件存放的地方:cd /home/bigdata/hadoop/etc/hadoop

    (1)修改 core-site.xml 文件,在configuration添加配置

    <configuration>

      <property>

        <name>fs.defaultFS</name>

        <value>hdfs://namenode:9000</value>

      </property>

      <property>

        <name>io.file.buffer.size</name>

        <value>131072</value>

      </property>

      <property>

        <name>hadoop.tmp.dir</name>

        <value>file:/home/bigdata/hadoopdir/tmp/</value>

        <description>A base for other temporary directories.</description>

      </property>

    </configuration>

    (2)修改hdfs-site.xml文件

    <configuration>

      <property>

        <name>dfs.namenode.name.dir</name>

        <value>/home/data/dfs/name</value>

      </property>

      <property>

       <name>dfs.datanode.data.dir</name>

       <value>/home/data/dfs/data</value>             

      </property>

    </configuration>

    (3)修改mapred-site.xml.template 文件

    <configuration>

      <property>
        <name>mapreduce.framework.name</name>

        <value>yarn</value>

      </property>

      <property>

        <name>mapreduce.jobhistory.address</name>

        <value>master:10020</value>

      </property>

      <property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>master:19888</value>

      </property>

      <property>

        <name>mapreduce.jobtracker.http.address</name>

        <value>master:50030</value>

      </property>
      <property>

         <name>mapred.job.tracker</name>
        <value>master:9001</value>

      </property>

    </configuration>

    (4)修改 yarn-site.xml文件

    <configuration>
    
    <!-- Site specific YARN configuration properties -->
            <property>
                   <name>yarn.nodemanager.aux-services</name>
                   <value>mapreduce_shuffle</value>
            </property>
            <property>                                                               
              <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
            </property>
         <property>
                   <name>yarn.resourcemanager.hostname</name>
                   <value>namenode</value>
           </property>
            <property>
                   <name>yarn.resourcemanager.address</name>
                   <value>namenode:8032</value>
           </property>
           <property>
                   <name>yarn.resourcemanager.scheduler.address</name>
                   <value>namenode:8030</value>
           </property>
           <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                 <value>namenode:8031</value>
          </property>
          <property>
                  <name>yarn.resourcemanager.admin.address</name>
                   <value>namenode:8033</value>
           </property>
           <property>
                   <name>yarn.resourcemanager.webapp.address</name>
                   <value>namenode:8088</value>
           </property>
    </configuration>

    (5)修改slave文件

    在文件中注释掉localhost
    
    并添加节点名称: 
            namenode    
            datanode1
        datanode2

    5、搭建集群

    
    

    1格式hadoop文件:hadoop  namenode -format

    2发送dfs内容给Slave1:scp  -r /home/data/dfs/*  datanode1:/home/bigadata/hadoopdir/dfs

    3发给dfs内容给Slave2:scp  -r /home/data/dfs/*  datanode2:/home/bigadata/hadoopdir/dfs

    4发送hadoop文件给数据节点:scp -r /home/bigadata/hadoop/*  datanode1:/home/bigadata/hadoop/ 
                           scp -r /home/bigadata/hadoop/*  datanode2:/home/bigadata/hadoop/ 

    5、启动集群

    进入sbin:cd /home/bigdata/hadoop/sbin
    启动Hadoop:./start-all.sh
    
    使用jps 命令查看启动情况(没有这个命令的需要安装 yum install jps*) 

    登录网页查看:http://Master:50070  (查看live node)    查看yarn环境(http://Master/8088)

    遇到的问题:

    1、namenode: Error: JAVA_HOME is not set and could not be found.
    
    解决方案:进入 vim /home/bigdata/hadoop/etc/hadoop/hadoop-env.sh
    
    把JAVA_HOME修改为:
    
    export JAVA_HOME=/home/bigdata/jdk

    如有不懂,可添加QQ问我,一起交流,一起进步:1162492808

  • 相关阅读:
    html5学习系列之ef类标签
    html5学习系列之cd标签
    Java学习系列——xml学习基础
    html5学习系列——b标签
    为什么我要使用Linux,使用Linux的十个理由。
    设置Linux系统的空闲等待时间TMOUT的方法和Linux反空闲设置的两种方法
    创建动态MSSQL数据库表的方法
    SQL SERVER 自增列的方法
    XtraBackup构建MySQL主从环境的方法
    如何查看MySQL执行计划呢?
  • 原文地址:https://www.cnblogs.com/java-h/p/11106951.html
Copyright © 2020-2023  润新知