HBase是什麼?
- 數據庫
- 非關係型數據庫(NoSql)
- 強依賴於HDFS
- 按照BigTable論文思想開發
- 面向列來存儲的
- 可以用來儲存:“結構化”數據,以及”非結構化“數據
- 一個令新手程序員不爽的地方,只能全表掃描(最少要按照某一個區間(行建範圍)掃描)
HBase的安裝和配置
hbase-site.xml修改內容
<configuration>
<!--HDFS上的文件路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop101:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98後的新變動,之前版本沒有.port,默認端口爲60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<!--zookeeper對應的服務端口 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop101:2181,hadoop102:2181,hadoop103:2181</value>
</property>
<!--zookeeper數據文件夾 -->v
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/daxiong/modules/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
regionservers
hadoop101
hadoop102
hadoop103
HBase需要依賴的Jar包
由於HBase需要依賴Hadoop,所以替換HBase的lib目錄下的jar包,以解決兼容問題
- 刪除原有的jar(hbase安裝目錄下的lib文件夾下)
$ rm -rf /home/daxiong/modules/hbase-1.3.1/lib/hadoop-*
$ rm -rf /home/daxiong/modules/hbase-1.3.1/lib/zookeeper-3.4.6.jar
- 拷貝新jar,涉及的jar有:
hadoop-annotations-2.7.2.jar
hadoop-auth-2.7.2.jar
hadoop-client-2.7.2.jar
hadoop-common-2.7.2.jar
hadoop-hdfs-2.7.2.jar
hadoop-mapreduce-client-app-2.7.2.jar
hadoop-mapreduce-client-common-2.7.2.jar
hadoop-mapreduce-client-core-2.7.2.jar
hadoop-mapreduce-client-hs-2.7.2.jar
hadoop-mapreduce-client-hs-plugins-2.7.2.jar
hadoop-mapreduce-client-jobclient-2.7.2.jar
hadoop-mapreduce-client-jobclient-2.7.2-tests.jar
hadoop-mapreduce-client-shuffle-2.7.2.jar
hadoop-yarn-api-2.7.2.jar
hadoop-yarn-applications-distributedshell-2.7.2.jar
hadoop-yarn-applications-unmanaged-am-launcher-2.7.2.jar
hadoop-yarn-client-2.7.2.jar
hadoop-yarn-common-2.7.2.jar
hadoop-yarn-server-applicationhistoryservice-2.7.2.jar
hadoop-yarn-server-common-2.7.2.jar
hadoop-yarn-server-nodemanager-2.7.2.jar
hadoop-yarn-server-resourcemanager-2.7.2.jar
hadoop-yarn-server-tests-2.7.2.jar
hadoop-yarn-server-web-proxy-2.7.2.jar
zookeeper-3.4.5.jar
這些jar包的對應版本應替換成你目前使用的hadoop版本,具體情況具體分析。
查找jar包舉例:
$ find /home/admin/modules/hadoop-2.7.2/ -name hadoop-annotations*
HBase軟連接Hadoop配置
$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/core-site.xml ~/modules/hbase-1.3.1/conf/core-site.xml
$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/hdfs-site.xml ~/modules/hbase-1.3.1/conf/hdfs-site.xml
HBase遠程scp到其他集羣
$ scp -r /home/daxiong/modules/hbase-1.3.1/ hadoop102:/home/daxiong/modules/
$ scp -r /home/daxiong/modules/hbase-1.3.1/ hadoop103:/home/daxiong/modules/
如果使用的是JDK8以上版本,則應在hbase-evn.sh中移除“HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置。
啓動和關閉命令
啓動命令
$ bin/start-hbase.sh
關閉命令
$ bin/stop-hbase.sh
HBase-1.3.1端口解釋
啓動成功後,可以通過“host:port”的方式來訪問HBase管理頁面,例如
http://hadoop101:16010
- 16000 master的默認通信地址
- 16010 master的web頁面地址
- 16020 regionservice默認的通信地址
- 16030 regionserver的web頁面地址