zoukankan      html  css  js  c++  java
  • 在Hadoop上安装HBase

    Hbase快速安装

    1.准备工作

    1.1 确保已经正确安装hadoop

    详情可以参考我的一篇基于集群资源管理Mesos的hadoop安装教程

    地址: 《Mesos上安装Hadoop超详细部署攻略》

    1.2 我的配置说明

     

    1.3 基本说明

      我的所有程序均在hadoop用户下进行(除非必须要用root才切换),所有的安装解压均在hadoop主目录。

          有任何问题,都以官方文档为准:http://hbase.apache.org

    2.下载并且解压

    2.1 选择适合自己的Hbase版本

       官方文档给出的对照关系如下

    我的hadoop是0.20.205的所以我选择了hbase-0.92.x的版本

    2.2 下载解压

    wget http://mirror.bjtu.edu.cn/apache/hbase/hbase-0.92.2/hbase-0.92.2.tar.gz
    
    tar -zxvf  hbase-0.92.2.tar.gz

    3.配置

    3.1 方便使用,先添加环境变量

    在root下执行
    
    vi /etc/profile
    
    export HBASE_HOME=/home/hadoop/hbase-0.92.2
    
    export path=$PATH:/home/hadoop/hbase-0.92.2/bin
    
    保存后
    
    source /etc/profile

    3.2 配置$HBASE_HOME/conf/hbase-env.sh

    我仅修改了JAVA_HOME其他根据需要可自己设定。意思里面都有
    
    export JAVA_HOME=/usr/java/jdk1.6.0_43

    export HBASE_MANAGES_ZK=true (这句要自己加,表示使用hbase自带的zookeeper)

    3.3 配置 $HBASE_HOME/conf/hbase-site.xml

    拷贝hbase的模板到conf下
    
    cp -f $HBASE_HOME/src/packages/conf-pseudo/hbase-site.xml $HBASE_HOME/conf

    添加如下内容

    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://mastersrv:54310/hbase</value>
    </property>
    
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    
    
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>slavesrv1,slavesrv2,slavesrv3</value>
    </property>
    
    
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/hadoop/hbase-zoo-dataDir</value>
    </property>
    
    
    <property>
          <name>hbase.master.port</name>
          <value>60000</value>
    </property>

    所有属性的含义可见中文官方文档 2.3.1.1 hbase默认配置

    http://abloz.com/hbase/book.html

     注意:hbase.rootdir  的值要和hdfs-site.xml里面相同。(后面的hbase无妨,它自己会建的)

    3.4 配置hadoop节点上的 hdfs-site.xml

    引用:http://www.cnblogs.com/hanyuanbo/archive/2012/07/28/2612886.html 

    vi $HADOOP_HOME/conf/hdfs-site.xml
    
    <property> 
    <name>dfs.datanode.max.xcievers</name> 
    <value>4096</value> 
    </property>
    
    该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256,hadoop-defaults.xml中通常不设置这个参数。这个限制看来实际有些偏小,高负载下,DFSClient 在put数据的时候会报 could not read from stream 的 Exception。

    官方说法:

    An Hadoop HDFS datanode has an upper bound on the number of files that it will serve at any one time. The upper bound parameter is called xcievers (yes, this is misspelled). 

    Not having this configuration in place makes for strange looking failures. Eventually you'll see a complain in the datanode logs complaining about the xcievers exceeded, but on the run up to this one manifestation is complaint about missing blocks. For example: 10/12/08 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry...

    3.5 $HBASE_HOME/conf/regionservers 

    vi regionservers 
    
    slavesrv1
    slavesrv2
    slavesrv3

    3.6 将 hadoop-core-0.20.205.0.jar拷贝到hbase中

    这步可能不是必须的,因为怕发生版本之间承接的问题,所以我就直接先做了这个处理。
    
    cp $HADOOP_HOME/hadoop-core-0.20.205.0.jar $HBASE_HOME/lib
    
    
    将原来的jar移到其他地方去
    mv $HBASE_HOME/lib/hadoop-core-1.0.3.jar ~/myfile

    4.将配置好的目录全部传送到其他节点

    scp -r ~/hbase-0.92.2 hadoop@slavesrv1:~/
    scp -r ~/hbase-0.92.2 hadoop@slavesrv2:~/
    scp -r ~/hbase-0.92.2 hadoop@slavesrv3:~/

    5.同步系统时间(系统时间不同步会出错哦)

    在所有机器上执行以下操作

    安装NTP服务
    
    yum install ntp
    
    在root下启动服务
    
    service ntpd start
    
    在各台机器上用date快速查看下。应该是一样的了。(同步可能花些时间,最长不超过5分钟)

    6.启动完成安装

    6.1  首先确保hadoop至少已经执行了 start-dfs.sh 并且运行正常

          jps命令查看主节点有 NameNode SecondaryNameNode  从节点上有 DataNode

    6.2 开启hbase

    start-hbase.sh

    成功启动后会有如下进程

    mastersrv:

    slavesrvX:

    6.3 查看浏览器管理界面

    zookeeper的情况

    http://192.168.4.100:60010/zk.jsp

       master的情况

       http://192.168.4.100:60010/master-status

     下图看看regionServer是否都正常开启

    查看regionServer的情况

    http://192.168.4.101:60030/rs-status

    http://192.168.4.102:60030/rs-status

    http://192.168.4.103:60030/rs-status

    总结:基本顺利,碰到2次问题,比较快的解决了,按照这样的方式装下来肯定没问题。

  • 相关阅读:
    Ubuntu Server 17.04安装GNOME指令
    docker应用笔记
    无线网络连接配置
    bind9的一些配置
    关于linux下的文件权限
    命令行模式下设置时区
    Linux下SSL证书申请以及配置到Nginx
    编译安装Nginx到Linux
    网页画流程图
    为什么Java字符串是不可变对象?
  • 原文地址:https://www.cnblogs.com/neverwinter/p/2985798.html
Copyright © 2011-2022 走看看