zoukankan      html  css  js  c++  java
  • 1.安装hbase

    参考:http://hbase.apache.org/book.html#quickstart
    一.下载hbase
    去apache下载hbase,然后解压到/usr/local/hbase-1.1.3,设置HBASE_HOME=/usr/local/hbase-1.1.3

    二.安装单机版本
    修改conf/hbase-site.xml
    加入:
    1. <configuration>
    2. <property>
    3. <name>hbase.rootdir</name>
    4. <value>file:///home/testuser/hbase</value> #改成自己的目录
    5. </property>
    6. <property>
    7. <name>hbase.zookeeper.property.dataDir</name> #改成自己的目录
    8. <value>/home/testuser/zookeeper</value>
    9. </property>
    10. </configuration>
    修改conf/hbase-env.sh,添加export JAVA_HOME=/usr/local/jdk1.7.0_79

    然后就可以测试了:
    #bin/start-base.sh
    进入shell
    bin/hbase shell

    三.安装伪分布版
    1.关闭hbase
    #bin/stop-hbase.sh
    2.修改conf/hbase-site.xml 加入:
    1. <property>
    2. <name>hbase.cluster.distributed</name>
    3. <value>true</value>
    4. </property>
    5. <property>
    6. <name>hbase.rootdir</name>
    7. <value>hdfs://localhost:8020/hbase</value> #改成自己的端口,我是的node1:9000
    8. </property>

    四.安装分布式版本
    1.机器环境
    192.168.75.10namenode resourcesManager regionserver zookeepercentos6.4 x86_64
    192.168.75.11
    datanode  nodemanager zookeeper regionserver
    centos6.4 x86_64
    192.168.75.12
    datanode  nodemanager zookeeper regionserver
    centos6.4 x86_64

    1.设置conf/hbase-env.sh
    添加:export HBASE_MANAGES_ZK=true
    2.配置regionserver
    1. [root@node1 hbase-1.1.3]# vi conf/regionservers
    2. node2
    3. node3

    3.配置zookeeper
    修改conf/hbase-site.xml如下:
    1. <configuration>
    2. <property>
    3. <name>hbase.zookeeper.property.dataDir</name>
    4. <value>/home/local/hbase-1.1.3/zookeeper</value>
    5. </property>
    6. <property>
    7. <name>hbase.cluster.distributed</name>
    8. <value>true</value>
    9. </property>
    10. <property>
    11. <name>hbase.rootdir</name>
    12. <value>hdfs://node1:9000/hbase</value>
    13. </property>
    14. <property>
    15. <name>hbase.zookeeper.quorum</name>
    16. <value>node1,node2,node3</value>
    17. </property>
    18. </configuration>
    4.将配置好的整个hbase目录复制到node2 ode3上
    [root@node2~] #scp -r root@node1:/usr/local/hbase-1.1.3 /usr/local
    [root@node3~] #scp -r root@node1:/usr/local/hbase-1.1.3 /usr/local

    5.测试
    在node1上启动:
    1. [root@node1 hbase-1.1.3]# bin/start-hbase.sh
    2. node3: starting zookeeper, logging to /usr/local/hbase-1.1.3/bin/../logs/hbase-root-zookeeper-node3.out
    3. node1: starting zookeeper, logging to /usr/local/hbase-1.1.3/bin/../logs/hbase-root-zookeeper-node1.out
    4. node2: starting zookeeper, logging to /usr/local/hbase-1.1.3/bin/../logs/hbase-root-zookeeper-node2.out
    5. starting master, logging to /usr/local/hbase-1.1.3/logs/hbase-root-master-node1.out
    6. node2: starting regionserver, logging to /usr/local/hbase-1.1.3/bin/../logs/hbase-root-regionserver-node2.out
    7. node3: starting regionserver, logging to /usr/local/hbase-1.1.3/bin/../logs/hbase-root-regionserver-node3.out
    zookeeper先在三个结点启动,然后是master和resionserver
    查看进程:
    1. [root@node1 hbase-1.1.3]# jps
    2. 29474 HMaster
    3. 18857 NameNode
    4. 29412 HQuorumPeer
    5. 19020 SecondaryNameNode
    6. 19154 ResourceManager
    7. 29590 Jps
    1. [root@node2 hbase-1.1.3]# jps
    2. 5267 HQuorumPeer
    3. 4569 NodeManager
    4. 5461 Jps
    5. 4474 DataNode
    1. [root@node3 hbase-1.1.3]# jps
    2. 4507 NodeManager
    3. 5447 HQuorumPeer
    4. 4412 DataNode
    5. 5649 Jps
    node2 node3上HRegionServer没用启动,查看日志:
    1. 2015-12-28 23:19:02,325 FATAL [regionserver/node2/192.168.75.11:16020] regionserver.HRegionServer: Master rejected startup because clock is out of sync
    2. org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server node2,16020,1451315935495 has been rejected; Reported time is too far out of sync with master. Time difference of 282196927ms > max allowed of 30000ms
    3. at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:388)
    发现节点之间时间不同步。
    同步时间:
    date -s "20160225 18:44:00"
    再查看进程:
    1. [root@node1 hbase-1.1.3]# jps
    2. 31058 HMaster
    3. 18857 NameNode
    4. 31286 Jps
    5. 30994 HQuorumPeer
    6. 19020 SecondaryNameNode
    7. 19154 ResourceManager
    1. [root@node2 logs]# jps
    2. 5815 HQuorumPeer
    3. 5897 HRegionServer
    4. 4569 NodeManager
    5. 4474 DataNode
    6. 6041 Jps
    1. [root@node3 hbase-1.1.3]# jps
    2. 4507 NodeManager
    3. 5994 Jps
    4. 5820 HRegionServer
    5. 4412 DataNode
    6. 5732 HQuorumPeer
    发现HRegionServer进程已经启动

    hbase web页面:


    五、集群配置知识点
    1.配置文件
    (1)hbase的配置文件放在conf下。hbase-site.xml是核心配置文件,该文件覆盖hbase-deault.xml,可以参照hbase-default-tempate.xml来配置。
    (2)hbase-policy.xml用于hbase的安全配置。
    (3)regionservers,配置哪些机器启动regionserver
    注意:所有节点上的配置文件要一致,可以从一个节点复制conf到其它节点

    2.hbase集群时间需要一致,相差过大会导致regionserver失败。可以在集群内部弄一个ntp服务器定期同步时间。

    3.linux系统的限制
    hbase需要同时打开大量的文件,很多linux系统的同一个用户同时打开的文件数默认是1024,可能不够用而出错。
    1. 2010-04-06 03:04:37,542 INFO org.apache.hadoop.hdfs.DFSClient: Exception increateBlockOutputStream java.io.EOFException
    2. 2010-04-06 03:04:37,542 INFO org.apache.hadoop.hdfs.DFSClient: Abandoning block blk_-6935524980745310745_1391901
    用ulimit -n查看。建议修改为10240.

    4.


























































  • 相关阅读:
    使用javap分析Java的字符串操作
    使用javap深入理解Java整型常量和整型变量的区别
    分享一个WebGL开发的网站-用JavaScript + WebGL开发3D模型
    Java动态代理之InvocationHandler最简单的入门教程
    Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
    Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
    Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
    Java实现 LeetCode 541 反转字符串 II(暴力大法)
    Java实现 LeetCode 541 反转字符串 II(暴力大法)
    Java实现 LeetCode 541 反转字符串 II(暴力大法)
  • 原文地址:https://www.cnblogs.com/skyrim/p/7455950.html
Copyright © 2011-2022 走看看