zoukankan      html  css  js  c++  java
  • Hadoop2.7搭建

    Hadoop最底部是 Hadoop Distributed File System(HDFS),它存储Hadoop集群中所有存储节点上的文件。HDFS(对于本文)的上一层是MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库。

    • HDFS:对外部客户机而言,HDFS就像一个传统的分级文件系统。
    • NameNode:负责管理文件系统名称空间和控制外部客户机的访问。
    • DataNode:响应来自 HDFS客户机的读写请求。它们还响应来自NameNode的创建、删除和复制块的命令。

    最近搞Dubbo、Zookeeper,故顺路复习一下Hadoop。

    安装环境

    3台CentOS7,64位,Hadoop2.7需要64位Linux,需要安装好JDK,老夫安装JDK1.7

    • Master 192.168.1.244
    • Slave1 192.168.1.245
    • Slave2 192.168.1.246

    配置SSH无密码登陆

    SSH免密码登录,因为Hadoop需要通过SSH登录到各个节点进行操作,老夫用root用户,每台服务器都生成公钥,再合并到authorized_keys

    • CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,
      #RSAAuthentication yes
      #PubkeyAuthentication yes
      
    • 输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,
    • 合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
      cat id_rsa.pub>> authorized_keys
      ssh root@192.168.1.245 cat ~/.ssh/id_rsa.pub>> authorized_keys
      ssh root@192.168.1.246 cat ~/.ssh/id_rsa.pub>> authorized_keys
      
    • 把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
    • 完成,ssh root@192.168.1.245、ssh root@192.168.1.246就不需要输入密码了

    安装Hadoop2.7

    • 下载“hadoop-2.7.0.tar.gz”,放到/home/hadoop目录下
    • 解压,输入命令,tar -xzvf hadoop-2.7.0.tar.gz
    • 在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name
    • 注:安装Hadoop2.7,只在Master服务器解压,再复制到Slave服务器

    Hadoop配置

    涉及的配置文件如下:

    hadoop-2.6.0/etc/hadoop/hadoop-env.sh 
    hadoop-2.6.0/etc/hadoop/yarn-env.sh 
    hadoop-2.6.0/etc/hadoop/core-site.xml 
    hadoop-2.6.0/etc/hadoop/hdfs-site.xml 
    hadoop-2.6.0/etc/hadoop/mapred-site.xml 
    hadoop-2.6.0/etc/hadoop/yarn-site.xml
    

    1)配置hadoop-env.sh

    # The java implementation to use.
    #export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/usr/java/jdk1.7.0_79
    

    2)配置yarn-env.sh

    #export JAVA_HOME=/home/y/libexec/jdk1.6.0/
    export JAVA_HOME=/usr/java/jdk1.7.0_79/
    

    3)配置core-site.xml

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://192.168.1.244:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/home/hadoop/tmp</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131702</value>
        </property>
    </configuration>
    

    4)配置hdfs-site.xml

    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/home/hadoop/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/home/hadoop/dfs/data</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>192.168.1.244:9001</value>
        大专栏  Hadoop2.7搭建s="nt"></property>
        <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
        </property>
    </configuration>
    

    5)配置mapred-site.xml

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>192.168.1.244:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>192.168.1.244:19888</value>
        </property>
    </configuration>
    

    6)配置yarn-site.xml

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
            <name>yarn.resourcemanager.address</name>
            <value>192.168.1.244:8032</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>192.168.1.244:8030</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>192.168.1.244:8031</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>192.168.1.244:8033</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>192.168.1.244:8088</value>
        </property>
        <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>768</value>
        </property>
    </configuration>
    

    7)配置slaves

    删除默认的localhost,增加2个从节点,
    192.168.0.183
    192.168.0.184
    

    8)将配置好的Hadoop复制到各个节点对应位置上

    scp -r /home/hadoop 192.168.1.245:/home/
    scp -r /home/hadoop 192.168.1.246:/home/
    

    Hadoop启动

    在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0目录

    • 初始化,输入命令,bin/hdfs namenode -format
    • 全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
    • 停止的话,输入命令,sbin/stop-all.sh
    • 输入命令,jps,可以看到相关信息

    Web访问

    要先开放端口或者直接关闭防火墙

    • 输入命令,systemctl stop firewalld.service
    • 浏览器打开http://192.168.1.244:8088/
    • 浏览器打开http://192.168.1.244:50070/

    1

    注:因老夫8088端口被占用,故使用8099端口。 ⤧  Next post 归纳数据库规范 ⤧  Previous post F5负载均衡

  • 相关阅读:
    mac安装go环境
    Ubuntu-Mininet安装
    安装pyenv
    linux下安装weblogic
    C#常用方法
    jenkins部署net core ——2
    jenkins部署net core ——1
    Inno Steup
    安装两个SQL server 实例
    C#线程启动、暂停、恢复、停止怎么实现
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12256353.html
Copyright © 2011-2022 走看看