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

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





    

  

原文地址:https://www.cnblogs.com/leeeee/p/7276353.html