zoukankan      html  css  js  c++  java
  • (21)hadoop集群搭建

    搭建hadoop集群就是搭建hdfs集群和yarn集群。

    hadoop集群搭建原理:

    hadoop官网(包含软件下载,文档等):http://hadoop.apache.org

    hadoop的4个配置文件非常重要:

    core-default.xml  hdfs-default.xml  mapred-default.xml  yarn-default.xml

    具体搭建步骤:

    1.准备Linux环境

        1.0先将虚拟机的网络模式选为NAT

        1.1修改主机名
        vi /etc/sysconfig/network

        NETWORKING=yes
        HOSTNAME=itcast ###

        1.2修改IP
        两种方式:
        第一种:通过Linux图形界面进行修改(强烈推荐)
        进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual ->      点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply

        第二种:修改配置文件方式(屌丝程序猿专用)
        vim /etc/sysconfig/network-scripts/ifcfg-eth0

        DEVICE="eth0"
        BOOTPROTO="static" ###
        HWADDR="00:0C:29:3C:BF:E7"
        IPV6INIT="yes"
        NM_CONTROLLED="yes"
        ONBOOT="yes"
        TYPE="Ethernet"
        UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
        IPADDR="192.168.1.101" ###
        NETMASK="255.255.255.0" ###
        GATEWAY="192.168.1.1" ###

        1.3修改主机名和IP的映射关系
        vim /etc/hosts

        192.168.1.101 itcast

        1.4关闭防火墙
        #查看防火墙状态
        service iptables status
        #关闭防火墙
        service iptables stop
        #查看防火墙开机启动状态
        chkconfig iptables --list
        #关闭防火墙开机启动
        chkconfig iptables off
        1.5 修改sudo
        su root
        vim /etc/sudoers
        给hadoop用户添加执行的权限

        强制保存修改用:wq!

        关闭linux服务器的图形界面:
        vi /etc/inittab



        1.5重启Linux
        reboot

    2.安装JDK

        jdk1.8下载地址:

        http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

        2.1上传alt+p 后出现sftp窗口,然后put d:xxxyylljdk-7u_65-i585.tar.gz

        2.2解压jdk
        #创建文件夹
        mkdir /home/hadoop/app
        #解压
        tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app

        2.3将java添加到环境变量中
        vim /etc/profile
        #在文件最后添加
        export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
        export PATH=$PATH:$JAVA_HOME/bin

        #刷新配置
        source /etc/profile

    3.安装hadoop2.4.1
    先上传hadoop的安装包到服务器上去/home/hadoop/

    用tar命令解压。

    hadoop的目录结构:

    bin-操作命令
    sbin-系统启动管理命令
    etc-配置文件
    include-c语言本地库的头文件

    doc-hadoop的所有文档   

    hadoop-jar包

    注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
    伪分布式需要修改5个配置文件
         3.1配置hadoop
        第一个:hadoop-env.sh
        vim hadoop-env.sh
        #第27行
        export JAVA_HOME=/usr/java/jdk1.7.0_65

    第二个:core-site.xml

    <!-- 指定HADOOP所使用的文件系统和HDFS的老大(NameNode)的访问地址 -->

    //hadoop可以使用多种文件系统,不仅仅是hdfs   
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://[NameNode所在的主机]:[NameNode所在的端口]</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hdpdata</value>
    </property>

    第三个:hdfs-site.xml
    <!-- 指定HDFS文件副本的数量 -->
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    <!-- 指定secondaryNameNode的地址 -->
    <property>
    <name>dfs.secondary.http.address</name>
    <value>192.168.1.152:50090</value>
    </property>



    第四个:mapred-site.xml 

    mv mapred-site.xml.template mapred-site.xml
    vim mapred-site.xml
    <!-- 指定mapreduce运行的资源调度平台,默认是local(本机) -->
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>

    第五个:yarn-site.xml
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>[ResourceManager所在的主机]</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

    配置完hadoop之后,不要忘了把hadoop分发到集群中所有的虚拟机上:

    scp -r /home/Eis/apps slave1:/home/hadoop/

    3.2将hadoop添加到环境变量

    vim /etc/proflie
    export JAVA_HOME=/usr/java/jdk1.7.0_65
    export HADOOP_HOME=/itcast/hadoop-2.4.1
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    source /etc/profile
    最好把配置文件也分发给集群中的其他机器:

    sudo scp /etc/profile slave1:/etc/


    3.3格式化namenode(是对namenode进行初始化)
    hdfs namenode -format (hadoop namenode -format)

    3.4启动hadoop

    启动方式1: 依次手动启动节点

    启动namenode节点: hadoop-daemon.sh start namenode

    启动datanode节点:hadoop-daemon.sh start datanode

    关闭namenode节点: hadoop-daemon.sh stop namenode

    关闭datanode节点:hadoop-daemon.sh stop datanode

    启动方式2:使用自动化脚本启动节点
    先启动HDFS
    sbin/start-dfs.sh

    该命令启动的主节点为配置文件中配置的namenode,从节点为hadoop-2.7.3/etc/hadoop/slaves中指定的主机

    (关闭HDFS: sbin/stop-dfs.sh)


    再启动YARN
    sbin/start-yarn.sh
    (关闭YARN: sbin/stop-yarn.sh)


    3.5验证是否启动成功
    使用jps命令验证
    27408 NameNode
    28218 Jps
    27643 SecondaryNameNode
    28066 NodeManager
    27803 ResourceManager
    27512 DataNode

    http://192.168.1.101(namenode主机名):50070 (HDFS管理界面)
    http://192.168.1.101(resourcemanager主机名):8088 (yarn管理界面)

    4.配置ssh免登陆 (在namenode-namenode及namenode到每个datanode之间配置)
    #生成ssh免登陆密钥
    #进入到我的home目录
    cd ~/.ssh

    ssh-keygen -t rsa (四个回车)
    执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    将公钥拷贝到要免密登陆的目标机器上
    ssh-copy-id localhost
    ---------------------------
    ssh免登陆:
    生成key:
    ssh-keygen
    复制从A复制到B上:
    ssh-copy-id B
    验证:
    ssh localhost/exit,ps -e|grep ssh
    ssh A #在B中执行


  • 相关阅读:
    LOJ 6089 小Y的背包计数问题 —— 前缀和优化DP
    洛谷 P1969 积木大赛 —— 水题
    洛谷 P1965 转圈游戏 —— 快速幂
    洛谷 P1970 花匠 —— DP
    洛谷 P1966 火柴排队 —— 思路
    51Nod 1450 闯关游戏 —— 期望DP
    洛谷 P2312 & bzoj 3751 解方程 —— 取模
    洛谷 P1351 联合权值 —— 树形DP
    NOIP2007 树网的核
    平面最近点对(加强版)
  • 原文地址:https://www.cnblogs.com/paradis/p/10946468.html
Copyright © 2011-2022 走看看