Linux基础环境搭建(CentOS7)- 安装HBase
大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题!
一、HBase下载及安装
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
HBase的下载
HBase下载链接: https://pan.baidu.com/s/1I6LYsVPTIjrEONBnOCXK9Q?pwd=j3m4 提取码: j3m4
将下载的安装包通过Xftp传输到Linux虚拟机/opt/software/中
HBase的安装
创建工作路径/usr/hbase,下载hadoop安装包到/opt/software中,然后解压至工作路径。
mkdir /usr/hbase #首先在根目录下建立工作路径/usr/hbase
cd /opt/software #进入安装包的文件夹
tar -zxvf hbase-1.2.4-bin.tar.gz -C /usr/hbase
二、配置组件
1.hbase-env.sh
进入hbase配置目录conf,修改配置文件hbase-env.sh,添加配置变量。
cd /usr/hbase/hbase-1.2.4/conf
vim hbase-env.sh
内容如下:
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/hadoop
解释:一个分布式运行的Hbase依赖一个zookeeper集群。所有的节点和客户端都必须能够访问zookeeper。默认的情况下Hbase会管理一个zookeep集群,即Hbase默认自带一个zookeep集群。这个集群会随着Hbase的启动而启动。而在实际的商业项目中通常自己管理一个zookeeper集群更便于优化配置提高集群工作效率,但需要配置Hbase。需要修改conf/hbase-env.sh里面的HBASE_MANAGES_ZK 来切换。这个值默认是true的,作用是让Hbase启动的时候同时也启动zookeeper.在本实验中,我们采用独立运行zookeeper集群的方式,故将其属性值改为false。
2.hbase-site.xml
vim hbase-site.xml
内容如下:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://master:6000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/zookeeper/zookeeper-3.4.10</value>
</property>
</configuration>
解释:要想运行完全分布式模式,加一个属性 hbase.cluster.distributed 设置为 true 然后把 hbase.rootdir 设置为HDFS的NameNode的位置;
hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase。URL需要是’完全正确’的,还要包含文件系统的scheme;
hbase.cluster.distributed :Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。在hbase-site.xml配置zookeeper,当Hbase管理zookeeper的时候,你可以通过修改zoo.cfg来配置zookeeper,对于zookeepr的配置,你至少要在 hbase-site.xml中列出zookeepr的ensemble servers,具体的字段是 hbase.zookeeper.quorum.在这里列出Zookeeper集群的地址列表,用逗号分割。
hbase.zookeeper.property.clientPort:ZooKeeper的zoo.conf中的配置,客户端连接的端口。
hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。对于独立的Zookeeper,要指明Zookeeper的host和端口。需要在 hbase-site.xml中设置。
3.conf/regionservers
vim regionservers
在这里列出了希望运行的全部 HRegionServer,一行写一个host (就Hadoop里面的slaver 一样)。列在这里的server会随着集群的启动而启动,集群的停止而停止。
内容如下:
三、拷贝Hadoop配置文件
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /usr/hbase/hbase-1.2.4/conf
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml /usr/hbase/hbase-1.2.4/conf
四、配置Hbase环境变量(master一个节点配置即可)
vim /etc/profile
内容如下:
#set hbase environment
export HBASE_HOME=/usr/hbase/hbase-1.2.4
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile #生效环境变量
五、同步其他虚拟机
scp -r /etc/profile root@slave1:/etc/profile #将环境变量profile文件分发到slave1节点
scp -r /etc/profile root@slave2:/etc/profile #将环境变量profile文件分发到slave2节点
scp -r /usr/hbase root@slave1:/usr/hbase #将hbase文件分发到slave1节点
scp -r /usr/hbase root@slave2:/usr/hbase #将hbase文件分发到slave2节点
两个从节点生效环境变量
source /etc/profile #生效环境变量(slave1和slave2执行)
六、启动hbase
!!!在master上执行(保证三个节点hadoop和zookeeper已开启)
cd /usr/hbase/hbase-1.2.4/bin/
start-hbase.sh
jps
master
slave1 slave2
三个节点jps查看进程后,各个节点有相应的进程即启动成功!
七、进人HBase交互界面
hbase shell
查看状态
status
查看版本
version
如果情况一样的话,就成功安装好HBase啦~