首页 > 代码库 > Hadoop安装方案

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

 

 

Hadoop安装方案