本案例软件包:链接:https://pan.baidu.com/s/1zABhjj2umontXe2CYBW_DQ
提取码:1123(若链接失效在下面评论,我会及时更新).
目录
首先需要将HBase的压缩包上传到两个从节点slave01和slave02中
1.将所需要的Hbase安装包上到/home/hadoop/Downloads目录下:(所有组件在上面的网盘里都有)在master和slave01和slave02中使用命令解压
9.将Hadoop的配置文件core-site.xml和hdfs-site.xml拷贝到HBase的配置文件目录中(由于HBase依赖于HDFS存储数据)
10.将master中HBase的多个配置文件远程拷贝到另外两台虚拟机slave01和slave02
(1)HBase的完全分布式配置
完成此步骤需要
1、配置独立的外部ZooKeeper集群,不使用HBase内置的ZooKeeper。
2、由于依赖于HDFS存储数据,因此部署HBase的完全分布式之前必须有一个正常运行的HDFS集群。(Hadoop集群)
以上两步没有配置的可以去我的另两篇博客配置Hadoop的完全分布式搭建ZooKeeper的完全分布式搭建
首先需要将HBase的压缩包上传到两个从节点slave01和slave02中
这里一定要上传到slave01和slave02中,如果是采用master全部配置完成再复制分发到slave01和slave02中会缺少一些包
使用xftp上传到slave01和slave02的Downloads中,xftp的使用在xftp和xshell的使用中有写。
1.将所需要的Hbase安装包上到/home/hadoop/Downloads目录下:(所有组件在上面的网盘里都有)在master和slave01和slave02中使用命令解压
解压安装包
cd ~
cd Downloads
sudo tar -zxvf hbase-2.2.2-bin.tar.gz -C /usr/local
2.修改HBase名称
cd /usr/local
sudo mv hbase-2.2.2 hbase
3.增加权限
sudo chown -R hadoop /usr/local/hbase
4.配置环境变量(master主机操作)
sudo vim /etc/profile
最后一行添加如下信息
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
hbase目录权限赋予给hadoop用户:
cd usr/lcoal
sudo chown -R hadoop ./hbase
5. 配置Hbase环境变量
sudo vim /etc/profile
sudo vim /etc/profile
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
使用命令初始化
source /etc/profile
6.修改hbase-env.sh文件
cd /usr/local/hbase/conf
sudo vim hbase-env.sh
找到其中的export HBASE_MANAGES_ZK=true,将true修改为false
此行为设置HBase启动不使用HBase内部的ZooKeeper
将里面export JAVA_HOME=/usr/local/jdk1.8.0/替换为自己的java版本
修改export HBASE_CLASSPATH=
export HBASE_CLASSPATH=/usr/local/hbase/conf
7.修改hbase-site.xml参数
添加以下内容:
<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.zookeeper.quorum</name>
<value>master,slave01,slave02</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
hbase.rootdir:用于指定HBase在HDFS的存储路径,此处端口号必须与Hadoop的配置文件core-site.xml中的端口号保持一致
hbase.zookeeper.quorum:对于HBase的完全分布式模式(使用外部的独立ZooKeeper集群),应将该参数的值设为外部的独立ZooKeeper集群的完整主机列表,此时在配置文件hbase-env.sh中的HBASE_MANAGES_ZK参数必须为false
hbase.cluster.distributed:设置为true,设置HBase按照完全分布式启动
8.修改regionservers文件
sudo vim regionservers
将其中的内容修改为如下内容:
master
slave01
slave02
9.将Hadoop的配置文件core-site.xml和hdfs-site.xml拷贝到HBase的配置文件目录中(由于HBase依赖于HDFS存储数据)
cp /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/hbase/conf
cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/hbase/conf
10.将master中HBase的多个配置文件远程拷贝到另外两台虚拟机slave01和slave02
scp hbase-env.sh hbase-site.xml core-site.xml hdfs-site.xml regionservers slave01:/usr/local/hbase/conf
scp hbase-env.sh hbase-site.xml core-site.xml hdfs-site.xml regionservers slave02:/usr/local/hbase/conf
sudo scp /etc/profile slave01:/etc/profile
sudo scp /etc/profile slave02:/etc/profile
11.sleva01和slave02命令初始化:
source /etc/profile
12.启动HBase
首先要启动ZooKeeper和Hadoop集群再启动HBase
xzk-start.sh
start-dfs.sh
start-yarn.sh
start-hbase.sh
a:启动之后执行“jps”
b:使用浏览器访问HBase自带的web配置网站http://192.168.242.129:16010出现如下页面即为访问成功
c: 检测一下HBase是否成功连接HDFS
hadoop fs -ls /
d:检查是否存在hbase子目录
进入hbase shell环境查看
hbase shell
使用如下命令查看状态
status
三台虚拟机配置三个节点。自此HBase完全分布式配置成功。
(2)HBase的伪分布式
1、修改hbase-env.sh
cd /usr/local/hbase/conf
sudo vim hbase-env.sh
将里面export JAVA_HOME=/usr/local/jdk1.8.0/替换为自己的java版本
export JAVA_HOME=/usr/local/jdk
修改export HBASE_CLASSPATH=为
export HBASE_CLASSPATH=/usr/local/hbase/conf
将export HBASE_MANAGES_ZK=修改为
export HBASE_MANAGES_ZK=true
将以上改的三行#去掉,即取消注释。
2、修改hbase-site.xml文件
在 其中添加如下信息
<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.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
3、测试
首先启动hadoop集群
start-dfs.sh
start-yarn.sh
然后启动hbase
start-hbase.sh
jps
可以用浏览器打开HBase自带的web网站查看http://192.168.242.129:16010这里使用自己的ip地址
即为配置成功
(3)HBase的HA模式
1、首先停止HDFS集群和HBase集群
stop-hbase.sh
stop-dfs.sh
stop-yarn.sh
2、master主机创建配置文件backup-master
cd /usr/local/hbase/conf
sudo vim backup-masters
在其中添加
slave01
3、测试
(1)启动Zookeeper,Hadoop集群和HBase(启动命令前面提过很多次不再赘述)
(2)使用浏览器查看HBase自带的web配置网站
http://192.168.242.129:16010
http://192.168.242.130:16010 此行为slave01的ip地址
(3)分别在三台虚拟机执行jps,在master和slave01都出现了Hmaster进程,即为配置成功。
4、注意
在使用HBase时要先启动ZooKeeper再启动Hadoop最后启动HBase,
在关闭时要先关闭HBase再关闭Hadoop最后关闭ZooKeeper。