zoukankan      html  css  js  c++  java
  • Hadoop分布式集群搭建

    Hadoop是一个开源的分布式系统框架

    一.集群准备

        1. 三台虚拟机,操作系统Centos7,三台主机名分别为k1,k2,k3,NAT模式

        2.节点分布

            k1: NameNode DataNode ResourceManager NodeManager
            k2: SecondNameNode DataNode NodeManager
            k3 : DataNode NodeManager

        3.安装包准备

            jdk-8uxx-linux-x64.rpm
            hadoop-2.7.1.tar.gz

    二.Linux准备

        1.关闭防火墙

            systemctl status firewalld  //查看防火墙状态
            systemctl stop firewalld    //关闭防火墙
            systemctl disable firewalld   //防火墙开机不启动

        2.修改主机名

            hostnamectl set-hostname 主机名
            注:如果克隆的虚拟机,那么需要修改主机名

        3.IP设置

            编辑:vi /etc/sysconfig/network-scripts/ifcfg-ens33    

    文件中修改 :
    BOOTPROTO=none
    ONBOOT=yes [开机启动网卡]
    文件中添加 : 
    IPADDR=xxx  [IP地址]
    NETMASK=xxx  [子网掩码]
    GATEWAY=xxx  [网关] 
    DNS1=xxx  

            重启网卡 : systemctl restart network
            注 : 克隆的虚拟机需要修改IP地址,删除UUID

        4.添加hosts文件

            编辑:vi /etc/host

    文件中添加:
    IP地址 主机名
    IP地址 主机名
    IP地址 主机名 

        5.安装JDK

            安装包 : jdk-8uxx-linux-x64.rpm
            安装     : rpm -ivh jdk-8uxx-linux-x64.rpm
            配置环境变量 : vi /etc/profile

               文件中添加 : 
                    JAVA_HOME=/usr/java/jdk
                    PATH=$PATH:$JAVA_HOME/bin:
                    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:


           

      环境变量生效 : source /etc/profile
            查看:java -version

        6.SSH免密 

            1. ssh-keygen
                之后一直回车就可以 
            2.ssh-copy-id 主机名 
                三台机子都需要进行免密
            3.ssh 主机名
                 测试免密是否成功

    三.HADOOP环境搭建

        1.解压缩

                安装包 : hadoop-2.7.1.tar.gz
                解压缩 : tar -zxvf hadoop-2.7.1.tar.gz -C /opt/apps    

        2.修改环境变量

                编辑 :vi /etc/profile

    文件中添加 : 
      export HADOOP_HOME=/opt/apps/hadoop.2.7.1/
      export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

        3.环境变量生效

                source/etc/profile

    四.HADOOP配置文件

        1.进入hadoop配置文件目录

                cd /opt/apps/hadoop.2.7.1/etc/hadoop

        2.修改配置文件 : hadoop-env.sh

    vi hadoop-env.sh     
        修改文件中JAVA_HOME,改为自己JDK的路径

        3.配置文件 :core-site.xml

            vi core-site.xml  添加如下内容:

                <property>
                <name>fs.defaultFS</name>
                <value>hdfs://主机名:8020</value>  //NameNode节点主机名
                </property>
                <property>
                <name>io.file.buffer.size</name>
                <value>4096<value>
                </property>
                <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoopdata/bigdata/tmp</value>
                </property>

        4.配置文件 : hdfs-site.xml

            vi hdfs-site.xml 添加如下内容:

                <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:///home/hadoopdata/dfs/name</value>
                </property>
                <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:///home/hadoopdata/dfs/data<>
                </property>
                <property>
                <name>dfs.http.address</name>
                <value>NameNode节点主机名:50070</value>
                </property>
                <property>
                <name>dfs.secondary.http.address</name>
                <value>SecondNameNode节点主机名:50090</value>
                </property>
                <property>
                <name>dfs.replication</name>
                <value>3</value>
                </property>
                <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
                </property>
                <property>
                <name>dfs.permissions</name>
                <value>false</value>      
                </property>

        5.配置文件 : salves

            vi salves 添加以下内容(三台机器的主机名) : 

                hostname1
                hostname2
                hostname3

        6.配置文件 : mapred-site.xml

            mv mapred-site.xml.template mapred-site.xml  (进行重命名)
            vi mapred-site.xml  添加以下内容 : 

                <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
                <final>true</final>  
                </property>
                <property> 
                <name>mapreduce.jobhistory.address</name>
                <value>历史服务:10020</value>
                </property>
                <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>历史服务节点主机名:19888</value>
                </property>

        7.配置文件 : yarn-site.xml

            vi yarn-site.xml 添加如下内容 : 

                <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>ResourceManager节点主机名</value>
                </property>
                <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
                </property>
                <property>
                <name>yarn.resourcemanager.address</name>
                <value>ResourceManager节点主机名:8032</value>
                </property>
                <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>ResourceManager节点主机名:8030</value>
                </property>
                <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>      
                <value>ResourceManager节点主机名:8031</value>
                </property>
                <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>ResourceManager节点主机名:8033</value>
                </property>
                <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>ResourceManager节点主机名:8088</value>
                </property>
                <property>
                <name>yarn.client.failover-proxy-provider</name>   
                <value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>              </property>
                <property>
                <name>yarn.web-proxy.address</name>
                <value>ResourceManager节点主机名:9989</value>
                </property>

    五.Hadoop启动【Hadoop分发到别的机器,三台机器都要有Hadoop】

        1.格式化NameNode

            hdfs namenode -format
            注 : 如出现 [name has been successfully formated] 则格式化成功

        2.启动进程

            start-dfs.sh     
            start-yarn.sh

        3.查看节点 ------  jps

        4.创建wordcount.txt 验证Yarn

            yarn jar /root/app/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /hello.txt /out/1

    六.谢谢

        扫码关注,我们一起学习进步,回复'分享',会有惊喜等着你~

  • 相关阅读:
    css样式2 布局 定位 层级 显示
    css与样式
    表单属性、键值对
    表单
    列表、表格
    实体、颜色、路径、标签、超链接、图片
    2018/07/05 html基础
    TP 链接数据库与Model模型的创建
    ThinkPHP 模板循环语法
    tp 单字母函数详解(摘自网络)
  • 原文地址:https://www.cnblogs.com/SmallBird-Nest/p/9049924.html
Copyright © 2011-2022 走看看