zoukankan      html  css  js  c++  java
  • Hadoop安装方案

    Hadoop安装方案

    一、概述

    本文档适用于hadoop安装,采用1主+1从的方案,两台设备,可自由扩展多从节点。包含hadoop+habase+zookeeper,可作为通用hadoop框架安装的参考。

    二、主机规划

    主节点(Namenode):10.11.20.108

                                                   hadoop+habase

    从节点(Datanode):  10.11.20.107

                                                   hadoop+habase+zookeeper

    ps:从节点的hadoop+habase只需复制主节点配置好的目录

             启动顺序:从节点zookeeper > 主节点hadoop > 主节点habase

    三、环境准备

    在两台主机同时配置:

    1)修改IP和域名映射关系

    vi /etc/hosts

    10.11.20.107 njrd107

    10.11.20.108 njrd108

    2)创建用户

    useradd  -m -d /home/aihadoop -s /bin/csh -g aigrp aihadoop

    passwd  aihadoop

    3)主从节点信任关系

             1.在各节点aihadoop下执行以下操作

    cd .ssh

    ssh-keygen -t rsa

    cat id_rsa.pub >>  authorized_keys 

    2.将各节点的authorized_keys文件合成一个文件,然后覆盖到各节点.ssh下

             3.验证:从10.11.20.108主机ssh aihadoop@10.11.20.107

                                从10.11.20.107主机ssh aihadoop@10.11.20.108

                                若都不需要输入密码则配置成功

    四、应用搭建

    1)准备安装文件

    复制aihadoop.tar.gz到主节点安装目录

    2)配置主节点hadoop

    修改/home/aihadop/hadoop/conf目录下配置文件:

    修改core-site.xml

        <configuration>

         <property>

             <name>fs.default.name</name>

             <value>hdfs://10.11.20.107:59000</value>  --------- namenode RPC交互端口

         </property>

         <property>

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

             <value>/home/aihadoop/hadoop/temp</value> --------该目录需要手动创建

         </property>

    </configuration>

        创建临时目录

    mkdir  -p  /home/aihadoop/hadoop/temp

    修改hdfs-site.xml

    <configuration>

         <property>

             <name>dfs.replication</name>

             <value>1</value> ---------------------有几个从节点就写几

         </property>

         <property>

             <name>dfs.permissions</name>

             <value>false</value>

         </property>

         <property> 

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

             <value>/home/aihadoop/hadoop/hdfs/name</value> 

         </property> 

         <property> 

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

             <value>/home/aihadoop/hadoop/hdfs/data</value> 

         </property>

         <property> 

             <name>dfs.datanode.max.xcievers</name>

             <value>4096</value>

         </property>

         <property> 

             <name>dfs.support.append</name>

             <value>true</value>

         </property>

         <property>

             <name>dfs.http.address</name>

             <value>0.0.0.0:56870</value>  -----------NameNode web管理端口,默认50070

         </property>

         <property>

             <name>dfs.datanode.address</name>

             <value>0.0.0.0:56810</value> ------------datanode 控制端口,默认50010 

         </property>

         <property>

             <name>dfs.datanode.ipc.address</name>

             <value>0.0.0.0:56820</value> -------datanode的RPC服务器地址和端口,默认50020

         </property>

         <property>

             <name>dfs.datanode.http.address</name>

             <value>0.0.0.0:56875</value>------datanode的HTTP服务器和端口,默认50075

         </property>

         <property>

             <name>dfs.secondary.http.address</name>

             <value>0.0.0.0:56890</value>-----secondary NameNode web管理端口,默认50090

         </property>

         <property> 

            <name>dfs.support.append</name> 

            <value>true</value> 

         </property>

    </configuration>

    修改masters,新增主节点信息

        10.11.20.107

    修改slaves,新增从节点信息

    10.11.20.108

    修改mapred-site.xml

            <property>

               <name>mapred.job.tracker</name>

               <value>10.11.20.107:49201</value> ------------ job tracker交互端口 

            </property>

            <property>

               <name>mapred.local.dir</name>

               <value>/home/aihadoop/hadoop/var</value>

            </property>

            <property>

               <name>mapred.job.tracker.http.address</name>

               <value>0.0.0.0:56830</value>--------- job tracker的web管理端口

            </property>

            <property>

               <name>mapred.task.tracker.http.address</name>

               <value>0.0.0.0:56860</value>------------- task tracker的HTTP端口

            </property>

            <property>

              <name>mapred.tasktracker.map.tasks.maximum</name>

              <value>10</value>

            </property>

            <property>

              <name>mapred.tasktracker.reduce.tasks.maximum</name>

              <value>10</value>

            </property>

    3)配置从节点hadoop

             复制主节点信息至从节点:

             scp -r hadoop aihadoop@10.11.20.108:.

    4)配置从节点zookeeper

             复制安装文件到从节点:

             scp -r zookeeper aihadoop@10.11.20.108:.

             修改/home/aihadop/zookeeper/conf下配置信息

             修改zoo.cfg

    dataDir=/home/amstest/zookeeper/zookeeper-3.4.5/data

    clientPort=12281 ------------客户端连接的端口,该端口与hbase /conf/ hbase-site.xml中的hbase.zookeeper.property.clientPort 保持一致

    server.1=10.11.20.108:12988:13988

    ---- server.1中的1需要在zookeeper/data/myid 文件中写入1,没有该文件和目录,需要新建

    ----12988是ZooKeeper节点使用的端口,需要与hbase /conf/ hbase-site.xml中一致

    ----13988是ZooKeeper用来选择Leader的端口,需要与hbase /conf/ hbase-site.xml中一致

    5)配置主节点habase

    修改/home/aihadop/hbase/conf目录下配置信息

    修改hbase-site.xml

    <configuration>

        <property> 

            <name>hbase.rootdir</name> 

                <value>hdfs://10.11.20.107:59000/hbase</value> ----该端口需要与hadoop中core-site.xml的fs.default.name保持一致,该目录用于持久化HBase,是region server的共享目录,即HBase数据库数据的目录

        </property>

        <property> 

            <name>hbase.cluster.distributed</name> 

            <value>true</value>

        </property>

        <property>

            <name>hbase.tmp.dir</name> 

            <value>/home/aihadoop/hbase/data</value> ---根据实际环境修改

        </property>

        <property> 

            <name>hbase.master</name> 

            <value>10.11.20.107:60100</value>  ---与下面的hbase.master.port一致

        </property>

        <property>

            <name>hbase.zookeeper.quorum</name>

            <value>10.11.20.108</value>---根据实际环境修改,填从节点信息,多个用“,”隔开

        </property>

        <property>

             <name>hbase.master.port</name>

             <value>60100</value> ------------------ HBase的Master端口,默认是60000

        </property>

        <property>

             <name>hbase.master.info.port</name>

             <value>60110</value>---------- HBase Master web界面端口,默认是60010

        </property>

        <property>

              <name>hbase.regionserver.port</name>

              <value>60120</value>---HBase RegionServer端口,默认是60020。

        </property>

        <property>

              <name>hbase.regionserver.info.port</name>

              <value>60130</value>--- HBase RegionServer web界面端口,设置为-1,意味着你不想运行RegionServer界面,默认是60030。

        </property>

        <property>

             <name>hbase.zookeeper.property.clientPort</name>

             <value>12281</value> ----------需要与zookeeper的配置对应

        </property>

        <property>

             <name>hbase.zookeeper.peerport</name>

             <value>12988</value>----------需要与zookeeper的配置对应

        </property>

        <property>

             <name>hbase.zookeeper.leaderport</name>

             <value>13988</value> ----------需要与zookeeper的配置对应

        </property>

        <property>

             <name>hbase.zookeeper.property.datadir</name>

             <value>/home/aihadoop/zookeeper</value> ---根据实际环境修改

        </property>

        <property>

             <name>zookeeper.session.timeout</name>

             <value>60000</value>

        </property>

        <property>

             <name>hbase.regionserver.handler.count</name>

             <value>100</value>

        </property>

        <property>

             <name>hbase.hregion.max.filesize</name>

             <value>536870912</value>

        </property>

        <property>

             <name>hbase.hregion.memstore.flush.size</name>

             <value>246579200</value>

        </property>

    </configuration>

    修改hbase-env.sh

    export HBASE_MANAGES_ZK=false-----------------------不用hbase自带的ZK管理

     

        配置regionservers文件,新增节点

        10.11.20.108 ---------------------------这里写从节点ip

    5)配置从节点habase

    复制主节点信息至从节点:

             scp -r hbase aihadoop@10.11.20.108:.

    6)端口检查

    下面这段脚本可以简单检查端口情况,只需要把配置的14个端口列进去即可

    #!/usr/bin/ksh

    list='

    49000

    56770

    56710

    56720

    56775

    56790

    49001

    56730

    56760

    60000

    60010

    12181

    12888

    13888

    '

    for i in $list

    do

      netstat -an|grep ${i}

    done

    五、启动

    初次启动需要格式化hadoop磁盘空间,以后启动不需要

    cd /home/aihadoop/hadoop/bin;./hadoop namenode –format

    按顺序执行:

    从节点cd /home/aihadoop/zookeeper/bin;./zkServer.sh start

    主节点cd /home/aihadoop/hadoop/bin;./ start-all.sh

    登录http://10.11.20.107:56870/,可查看状态

    主节点cd /home/aihadoop/ hbase/bin;./ start-hbase.sh

    登录http://10.11.20.107:60110/,可查看状态

    验证:

    cd hbase/bin

             ./hbase shell

    HBase Shell; enter 'help<RETURN>' for list of supported commands.

    Type "exit<RETURN>" to leave the HBase Shell

    Version 0.94.12, r1524863, Fri Sep 20 00:25:45 UTC 2013

    hbase(main):011:0> create 't1', 'f1'

    0 row(s) in 1.0830 seconds

    hbase(main):012:0> list

    TABLE                                                                                                                                                

    t1                                                                                                                                                   

    1 row(s) in 0.0370 seconds

     

  • 相关阅读:
    常见自动化场景处理
    等待设置的三种方法
    selenium-浏览器操作
    一个 tomcat 下如何部署多个项目?附详细步骤
    Python篇:测试小白也能懂的常用加密算法解析
    如何高效开展测试用例评审?附用例评审检查清单及用例评审报告模板
    手机大厂必备测试技能-GMS 认证
    Python自动化 让接口数据秒变 python 代码
    Python自动化 谈谈 cookies
    Python自动化 作为代码小白,我是这样成为自动化大神的!
  • 原文地址:https://www.cnblogs.com/maple42/p/3950977.html
Copyright © 2011-2022 走看看