zoukankan      html  css  js  c++  java
  • Hbase 笔记(2) 安装

    1、硬件条件

    (1)、CPU

    Master Host           双四核,2.0GHz-2.5GHz

    Slave Host              双四核,2.0GHz-2.5GHz


    (2)、内存 (Heap)

    ------------------------------------------

    NameNode                           8GB

    SecondaryNameNode       8GB

    DataNode                             1GB

    -------------------------------------------

    HMaster                                4GB

    HRegionServer                   12GB

    ZooKeeper                           1GB

    -------------------------------------------

    JobTracker                           2GB

    TaskTracker                        1GB

    Task Attempt                       1GB

    --------------------------------------------

    Master Host                          24GB

    Slave Host                             24GB

    --------------------------------------------

    HRegionServer :                                       12G

    NameNode、SecondaryNameNode : 8G

    HMaster:                                                    4G

    DataNode、 ZooKeeper :                      1G


    可这样设计:

    1台 NameNode (8G)  +   ZooKeeper (1G)

    1台 SecondaryNameNode  (8G)  +   ZooKeeper (1G)

    1台 HMaster  (4G)   +   ZooKeeper (1G)

    1台 Backup NameNode (4G)   +   ZooKeeper (1G)

    1台 Backup HMaster  (4G)   +   ZooKeeper (1G)

    ZooKeeper  亦可以运行在Worker 上 。

    若干台 DataNode (1G) +  HRegionServer (12G)  ,不能再加 ZooKeeper


    JobTracker:                                          2G

    TaskTrackerTaskAttempt :         1G


    (3)、磁盘

    Master Host           4 TB , SATA,RAID 0+1

    Slave Host              6 TB, SATA,JBOD

    SATA 驱动器比SAS 驱动器节省成本,因为软件策略中是跨机架数据冗余,无需使用安全性更高但是更贵的SAS。

    RAID 模式 有利于保护关键性的文件系统数据,但是比单个磁盘慢。


    (4)、机架:

    Master Host          万兆以太网,双电源供应器,1~2个机架单元

    Slave Host             万兆以太网,但电源供应器,1~2个机架单元

    (5)、网络: 

    交换机


    2、软件条件


    (1)、操作系统:CentOS、Fedora、Debian、Ubuntu、Solaris、RedHat


    (2)、文件系统:

    ext3:

    禁止记录文件访问时间戳以减少内核管理开销, 修改 /etc/fstab  :  /dev/sdd1  /data  ext3   defaults,noatime  0  0

    减少数据磁盘的保留快数量 (减少到1%), 命令:tune2fs  -m 1 /dev/sdd1

    ext4:关闭延迟分配

    XFS:

    注意不要在同一台服务器上安装不同的文件系统。


    (3)、Java:1.6以上


    (4)、Hadoop:


    (5)、SSH:OpenSSH


    (6)、域名服务器:

    修改:/etc/hosts

    修改属性hbase.regionserver.dfs.interface,   hbase.regionserver.dfs.nameserver


    (7)、同步时间:NTP

    设置crontab:  crontab -e

    */1 * * * * /usr/sbin/ntpdate  asia.pool.ntp.org &>/dev/null


    (8)、文件句柄和进程限制:

    修改 /etc/sysctl.conf 的 fs.file-max

    修改 /etc/security/limits.conf  :           hadoop       -         nofile   32768

    修改 /etc/pam.d/common-session  :session       required    pam_limits.so

    修改 /etc/security/limits.conf  的 nproc


    (9)、DataNode 处理线程数

    在hdfs-site.xml 设置 dfs.datanode.xcievers 为 4096.


    (10)、交换区

    修改 /etc/sysctl.conf  :vm.sqappiness=5

    重启使其生效; sysctl -p


    3、HBase 使用的文件系统

    HDFS:包含了冗余、容错性和可扩展性。

    S3:


    4、运行模式

    Zookeeper 的配置不要用 zoo,cfg, 而使用 hbase-site.xml

    Zookeeper 使用奇数个节点 (3, 5, 7)

    可以使用自带ZooKeeper,也可以使用独立的ZooKeeper (配置 hbase-env.sh 的 HBASE_MANAGES_ZK 为 true 或 false)。


    5、配置

    hbase-default.xml 和 hbase-site.xml :

    hbase-env.sh:  可以配置Heap 的大小等 ,export   HBASE_HEAPSIZE=4096    // MB

    regionserver:  (master 文件已经删除,因为 master 在启动时候会注册到 ZooKeeper,master 地址在 ZooKeeper 中动态获取)


    6、部署

    (1)、脚本

    (2)、Apache Whirr

    (3)、Puppet Chef


    7、HBase Shell 常用命令

    状态 status:

    hbase(main):014:0> status

    1 servers, 0 dead, 20.0000 average load


    列出所有的表 list

    hbase(main):014:0> list        


    create

    create  'testtable',  'cf1',  'cf2'


    scan

    scan  'testtable'


    put:

    put   'testtable',  'myrow-1',   'cf1:a',  'value-1'
    put   'testtable',  'myrow-1',   'cf1:b',  'value-2'
    put   'testtable',  'myrow-1',   'cf2:c',  'value-3' 
    put   'testtable',  'myrow-1',   'cf2:d',  'value-4' 

    get:
    get   'testtable',  'myrow-1'

    delete
    delete  'testtable',   'myrow-1',  'cf1:a'
    delete  'testtable',   'myrow-1',  'cf1:b'
    delete  'testtable',   'myrow-1',  'cf2:c' 

    循环:
    for i in '1'..'9'  do for j in 'a'..'z' do
     

       put 't2',"row-#{i}#{j}","cf1:#{j}","#{j}" end end

    注意使用 符号  " " ,  # , { }





        

      

  • 相关阅读:
    fort循环
    while
    函数和数组
    case
    init进程
    权限安全:堡垒机部署实践
    tcp首部当中seq和ack的增长规律
    VRRP
    MSTP
    字符集专题
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276353.html
Copyright © 2011-2022 走看看