在上一篇中搭建了Hadoop的單機環境,這一篇則搭建HBase的單機環境java
阿里雲服務器:入門型(按量付費)
操做系統:linux CentOS 6.8
Cpu:1核
內存:1G
硬盤:40Glinux
JDK:1.8 (jdk-8u144-linux-x64.tar.gz)
Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)
HBase:1.6.2 (hbase-1.2.6-bin.tar.gz)shell
官網地址:
JDK:
http://www.oracle.com/technetwork/java/javase/downloads數據庫
Hadopp:
http://www.apache.org/dyn/closer.cgi/hadoop/common
HBase:
http://mirror.bit.edu.cn/apache/hbase/apache
百度雲:
連接:https://pan.baidu.com/s/1jIemnA2 密碼:3ykrvim
在配置Hadoop以前,應該先作一下配置瀏覽器
首先更改主機名,目的是爲了方便管理。
輸入:
hostname
查看本機的名稱
而後輸入:服務器
vim /etc/sysconfig/network
修改主機名稱
將HOSTNAME 的名稱更改成你想要設置的名稱
注:主機名稱更改以後,要重啓(reboot)纔會生效。session
輸入oracle
vim /etc/hosts
添加 主機IP 和對應的主機名稱,作映射。
注:在配置文件中使用主機名的話,這個映射必須作!
關閉防火牆,方便外部訪問。
CentOS 7版本如下輸入:
關閉防火牆
service iptables stop
CentOS 7 以上的版本輸入:
systemctl stop firewalld.service
輸入:
date
查看服務器時間是否一致,若不一致則更改
更改時間命令
date -s ‘MMDDhhmmYYYY.ss’
將下載下來的HBase的配置文件進行解壓
在linux上輸入:
tar -xvf hbase-1.2.6-bin.tar.gz
而後移動到/opt/hbase 裏面
輸入
mv hbase-1.2.6 /home/hbase
編輯 /etc/profile 文件
輸入:
export HBASE_HOME=/home/hbase/hbase-1.2.6 export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HBASE_HOME}/bin:$PATH
輸入:
source /etc/profile
使配置生效
輸入
hbase version
查看版本
在 root目錄下新建文件夾
mkdir /root/hbase mkdir /root/hbase/tmp mkdir /root/hbase/pids
切換到 /home/hbase/hbase-1.2.6/conf 下
編輯 hbase-env.sh 文件,添加如下配置
export JAVA_HOME=/home/java/jdk1.8 export HADOOP_HOME=/home/hadoop/hadoop2.8 export HBASE_HOME=/home/hbase/hbase-1.2.6 export HBASE_CLASSPATH=/home/hadoop/hadoop2.8/etc/hadoop export HBASE_PID_DIR=/root/hbase/pids export HBASE_MANAGES_ZK=false
說明:配置的路徑以本身的爲準。HBASE_MANAGES_ZK=false 是不啓用HBase自帶的Zookeeper集羣。
編輯hbase-site.xml 文件,在
<!-- 存儲目錄 --> <property> <name>hbase.rootdir</name> <value>hdfs://test1:9000/hbase</value> <description>The directory shared byregion servers.</description> </property> <!-- hbase的端口 --> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> <description>Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect. </description> </property> <!-- 超時時間 --> <property> <name>zookeeper.session.timeout</name> <value>120000</value> </property> <!-- zookeeper 集羣配置。若是是集羣,則添加其它的主機地址 --> <property> <name>hbase.zookeeper.quorum</name> <value>test1</value> </property> <property> <name>hbase.tmp.dir</name> <value>/root/hbase/tmp</value> </property> <!-- false是單機模式,true是分佈式模式 --> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property>
說明:hbase.rootdir:這個目錄是region server的共享目錄,用來持久化Hbase 。hbase.cluster.distributed :Hbase的運行模式。false是單機模式,true是分佈式模式。若爲false,Hbase和Zookeeper會運行在同一個JVM裏面。
在成功啓動Hadoop以後
切換到HBase目錄下
cd /home/hbase/hbase-1.2.6/bin
輸入:
./start-hbase.sh
在瀏覽器輸入:
http://39.108.208.105:16010/
顯示這個界面則成功!
HBase啓動以後
輸入:
HBase shell
進入hbase
而後輸入list 查詢有哪些表
由於HBase是列式存儲結構,因此在建表方面和傳統的關係型數據庫不同
新建一個用戶表 t_user
添加兩個列族 st1 和 st2
create 't_user','st1','st2'
給這張表添加數據
添加 主鍵 、列 和值
put 't_user','1001','st1:age','18'
put 't_user','1001','st2:name','zhangsan'
而後 查詢該表數據
scan 't_user'
查看錶結構
describe 't_user'
刪除記錄
delete't_user','1001','st1:age'
刪除表
刪除表首先要屏蔽該表
disable 't_user'
刪除
drop 't_user'