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

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





        

      

  • 相关阅读:
    Working with WordprocessingML documents (Open XML SDK)
    How to Choose the Best Way to Pass Multiple Models in ASP.NET MVC
    Azure:Manage anonymous read access to containers and blobs
    Convert HTML to PDF with New Plugin
    location.replace() keeps the history under control
    On the nightmare that is JSON Dates. Plus, JSON.NET and ASP.NET Web API
    HTTP Modules versus ASP.NET MVC Action Filters
    解读ASP.NET 5 & MVC6系列(6):Middleware详解
    Content Negotiation in ASP.NET Web API
    Action Results in Web API 2
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276353.html
Copyright © 2011-2022 走看看