Linux第6课:安装Hbase数据库(二)
时间 2019-03-07 下午3:30
主讲 张春志
地点 四楼电教室
一、安装Hbase
1,转到安装目录:
cd /usr/local
2,下载hbase安装文件:
wget http://archive.apache.org/dist/hbase/hbase-1.0.3/hbase-1.0.3-bin.tar.gz
大小约103M
3,解压到当前目录:
tar -zxvf hbase-1.0.3-bin.tar.gz
二、配置环境变量
配置1:
vim /etc/profile
文末加入:
export HBASE_HOME=/usr/local/hbase-1.0.3
export PATH=$HBASE_HOME/bin:$PATH
source /etc/profile
配置2:
vim /usr/local/hbase-1.0.3/conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
<!--系统会自建hbase目录,如果是分布式安装,不能用local,用master-->
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
<!--设置hbase模式的集群模式是就为true-->
</property>
配置3:
vim /usr/local/hbase-1.0.3/conf/hbase-env.sh
export HBASE_MANAGES_ZK=true
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.211-2.6.17.1.el7_6.x86_64
source /usr/local/hbase-1.0.3/conf/hbase-env.sh
三、启动Hbase
hbase version 显示版本
/usr/local/hbase-1.0.3/bin/start-hbase.sh 启动
/usr/local/hbase-1.0.3/bin/stop-hbase.sh 停止
注:系统重启后,hbase需要手动启动。
列出当前所有的java进程:
jps
HMaster代表Hbase,可见,已启动。
访问:IP:16010,即可使用web访问Hbase
进入hbase:
hbase shell
退出hbase:
exit
至此,Hbase数据库安装完毕。
附1:完全分布式安装Hbase:
以上为单机安装,以下为分布式安装:
1,配置hbase-site.xml
vim /usr/local/hbase-1.0.3/conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase-1.0.3/logs</value>
<!--logs目录会自动创建-->
</property>
2,添加从节点,删除原localhost
vim /usr/local/hbase-1.0.3/conf/regionservers
hadoop1
hadoop2
hadoop3
3,同步时间
主从节点,必须时间同步!
把安装目录scp同步到其他节点。
4,启动
start-hbase.sh
注意:从哪台启动,哪台就是主节点,其他为子节点!
启动后,会有三个进程:
主节点为:
HMaster
HQuorumPeer
从节点为:
HRegionServer
HQuorumPeer
成功!
stop-hbase.sh
hbase的开启和关闭,均会自动联动,但关闭时需要长时间等待,且关闭后等一段时间再JPS才能显示已退出进程。
附2: HDFS只支持文件append操作,不可变, 而依赖HDFS的HBase如何完成增删改查功能update?
HBase依赖于HDFS来存储数据。HBase作为数据库,必须提供对HBase表中数据的增删改查,而HDFS的文件只支持append操作、不支持删除和更新操作,那么HBase如何依赖HDFS完成更新以及删除操作呢?
HBase表中的数据当存放到HDFS中时,在HDFS看来,已经可以简单的理解成key-value对,其中key可以理解成是由:rowkey+column family+column qualifier+timestamp+type 组成。HBase 对新增的数据以及要更新的数据(理解成key-value对),都直接先写入MemStore结构中,其实就是 LSM(The Log-Structured Merge-Tree) ,Memstore 就是上边的 Memtable,HFiles 就是上边的 SSTables (HBase权威指南 上 也有明确),MemStore是完全的内存结构,且是key有序的。当MemStore达到一定大小后,该MemStore一次性从内存flush到HDFS中(磁盘中),生成一个HFile文件,HFile文件同样是key有序的,并且是持久化的位于HDFS系统中的。
通过这种机制,HBase对表的所有的插入和更新都转换成对HDFS的HFile文件的创建。
涉及单词:
region 层,界,领域,范围
Quorum 法定人数
export 输出
网友评论