HBase单机和集群版部署
1. HBase安装部署
HBase有两种部署模式:单机版模式和集群版模式。无论哪种模式,都需要配置HBase conf目录下的文件。至少,必须在conf/hbase-env.sh文件中添加JAVA_HOME。在hbase-env.sh这个文件中,可以设置HBase的环境变量,如堆内存大小、JVM的其他配置,日志文件的存放位置等。
注意:HBase的安装版本需要与Hadoop的版本相对应,否则会出现HBase使用不了的情况,主要体现在HBase shell操作命令非常慢,甚至出错。HBase与Hadoop的版本对应可以查看HBase官网文档https://hbase.apache.org/book.html#basic.prerequisites 第四节点basic.prerequisites介绍,如图:

从上图可以知道hadoop-2.8.0以上的版本都不支持HBase或者存在不稳定性,故最好安装hadoop-2.7.1+或者hadoop-2.8.3+的版本,避免HBase无法使用,这里我采用hadoop-2.7.1+版本。
HBase2.0以上的版本要求使用Jdk8以上,故这里采用Java8。
1.1 软件配置选择
JDK:1.8 (jdk1.8.0_151)
Hadoop:2.7.6 (hadoop-2.7.6.tar.gz)
HBase:2.1.2 (hbase-2.1.1-bin.tar.gz)
1.2 服务器环境准备
1.2.1 更改主机名
输入 hostname 查看本机的主机名,然后输入命令 vi /etc/sysconfig/network 编辑 /etc/sysconfig/network 文件

注:主机名称更改之后,要重启(reboot)才会生效。
输入 vim /etc/hosts 添加主机IP和对应的主机名称,做映射。

注:在配置文件中使用主机名的话,这个映射必须做!
1.2.2 关闭防火墙
关闭防火墙,方便外部访问。
CentOS 7版本以下输入:
关闭防火墙
service iptables stop
CentOS 7 以上的版本输入:
systemctl stop firewalld.service
1.2.3 时间设置
输入:
date
查看服务器时间是否一致,若不一致则更改
更改时间命令
date -s ‘MMDDhhmmYYYY.ss’
2. HBase单机版部署
HBase独立实例包含全部HBase的守护进程,如:Master、RegionServers以及ZooKeeper,它们运行在单个JVM里面,并持久化到本地文件系统。
2.1 从官网下载HBase安装包,并通过Xftp5上传到单节点机器上
目前使用的HBase版本为hbase-2.1.2-bin.tar.gz
通过Xftp5上传到机器节点node1上的/opt/frame/目录
2.2 解压hbase-2.1.2.tar.gz,并把解压的安装包移动到/opt/app/目录上。
tar xzvf hbase-2.1.2-bin.tar.gz
mv hbase-2.1.2 /opt/app
2.3 修改配置hbase-env.sh、hbase-site.xml文件
编辑hbase-env.sh,添加以下配置:
export JAVA_HOME=/usr/lib/java/jdk1..0_181
export HBASE_HOME=/opt/app/hbase-2.1.
export HBASE_CLASSPATH=/opt/app/hadoop-2.7./etc/hadoop
export HBASE_PID_DIR=/opt/app/hbase-2.1./pids
export HBASE_MANAGES_ZK=false
说明:配置的路径以自己的为准,HBASE_MANAGES_ZK=false是不启用HBase自带的Zookeeper集群。
编辑hbase-site.xml文件,添加以下配置:
<configuration>
<!-- 存储目录 这里的hdfs可以是单机版的-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
<description>The directory shared byregion servers.</description>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/app/hbase-2.1./tmp</value>
</property>
<!-- false是单机模式,true是分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<!-- zk主机地址和端口采用默认的,不用配置 -->
</configuration>
2.4 HBase启动
在成功启动单机版Hadoop之后,切换到HBase目录下
cd /opt/app/hbase-2.1.2/bin
输入:
./start-hbase.sh

在浏览器输入:
http://192.168.187.201:16010/

显示这个界面则成功!
3. HBase集群版部署
3.1 从官网下载HBase安装包,并通过Xftp5上传到机器集群上
目前使用的HBase版本为hbase-2.1.2-bin.tar.gz

下载hbase-2.1.2-bin.tar.gz版本:
通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/frames/目录:

3.2 解压hbase-2.1.2-bin.tar.gz,并把解压的安装包移动到/opt/app/目录上。
tar zxvf hbase-2.1.2-bin.tar.gz


mv hbase-2.1.1 /opt/app/ && cd /opt/app/

3.3 修改环境变量(每台机器都要执行)
编辑/etc/profile,并生效环境变量,输入如下命令:
sudo vi /etc/profile
添加如下内容:
export HBASE_HOME=/opt/app/hbase-2.1.2
export PATH=:$PATH:$HBASE_HOME/bin

使环境变量生效:source /etc/profile
3.4 修改配置hbase-env.sh、hbase-site.xml、Regionservers文件
进入hbase配置文件的目录,cd /opt/app/hbase-2.1.2/conf/
①修改hbase-env.sh文件 vi hbase-env.sh,将以下内容写入到hbase-env.sh文件中:
export JAVA_HOME=/usr/lib/java/jdk1.8.0_151
# hadoop配置文件的位置
export HBASE_CLASSPATH=/opt/app/hadoop-2.7.5/etc/hadoop
# 如果使用独立安装的zookeeper,这个地方就是false,不使用内部的zookeeper,而是使用自己外部搭建的zookeeper集群
export HBASE_MANAGES_ZK=true


②修改hbase-site.xml配置文件 vi hbase-site.xml,并将以下内容写入到hbase-site.xml文件中:
<configuration>
# hbasemaster的主机和端口
<property>
<name>hbase.master</name>
<value>hadoop1:60000</value>
</property>
# 时间同步允许的时间差
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
# hbase共享目录,持久化hbase数据
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:9000/hbase</value>
</property>
# 是否分布式运行,false即为单机
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
# zookeeper地址
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
# zookeeper配置信息快照的位置
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hbase/tmp/zookeeper</value>
</property>
</configuration>

③修改Regionservers配置文件vi Regionservers,并将以下内容写入到Regionservers文件中:
hadoop1
hadoop2
hadoop3

3.5 把hadoop的hdfs-site.xml和core-site.xml放到hbase/conf下
cp /opt/app/hadoop-2.7.6/etc/hadoop/hdfs-site.xml /opt/app/hbase-2.1.2/conf/
cp /opt/app/hadoop-2.7.6/etc/hadoop/core-site.xml /opt/app/hbase-2.1.2/conf/

3.6 发送到其他节点机器
scp -r /opt/app/hbase-2.1.2/ hadoop@hadoop2:/opt/app/
scp -r /opt/app/hbase-2.1.2/ hadoop@hadoop3:/opt/app/
3.7 启动
①启动HBase命令:start-hbase.sh
②进入hbase的shell:hbase shell
注:先启动才能进入HBase shell
3.8 查看
进程:jps
退出hbase的shell:quit
页面:http://master:60010/
4. 总结
参考资料:
http://hbase.apache.org/book.html
HBase单机和集群版部署的更多相关文章
- hbase单机及集群安装配置,整合到hadoop
问题导读:1.配置的是谁的目录conf/hbase-site.xml,如何配置hbase.rootdir2.如何启动hbase?3.如何进入hbase shell?4.ssh如何达到互通?5.不安装N ...
- nacos单机,集群安装部署
nacos单机启动 准备 下载nacos安装包 下载地址 准备centos环境 (本次测试使用docker) PS C:\Users\Administrator> docker run -tid ...
- HBase HA分布式集群搭建
HBase HA分布式集群搭建部署———集群架构 搭建之前建议先学习好HBase基本构架原理:https://www.cnblogs.com/lyywj170403/p/9203012.html 集群 ...
- hbase高可用集群部署(cdh)
一.概要 本文记录hbase高可用集群部署过程,在部署hbase之前需要事先部署好hadoop集群,因为hbase的数据需要存放在hdfs上,hadoop集群的部署后续会有一篇文章记录,本文假设had ...
- Spark Tachyon编译部署(含单机和集群模式安装)
Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...
- Clickhouse单机及集群部署详解
一.ClickHouse简介 ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域.目前国内社区火热,各个大厂纷纷跟进大规模使用: 今日头条 内部用ClickHous ...
- Redis从单机到集群,一步步教你环境部署以及使用
Redis作为缓存系统来说还是很有价值的,在大数据方向里,也是需要有缓存系统的.一般可以考虑tachyon或者redis,由于redis安装以及使用更简单,所以还是优先考虑了它.那么在一些场景下为了保 ...
- HBase集群安装部署
0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...
随机推荐
- MT【169】拉格朗日配方
已知$x^2+y^2+z^2=1$求$3xy-3yz+2z^2$的最大值______ 答案:$3$ 提示:$3(x^2+y^2+z^2)-(3xy-3yz+2z^2)=3\left(y+\dfrac{ ...
- 【hihocoder 1628】K-Dimensional Foil(线性代数)
hihocoder 1627 The 2017 ACM-ICPC Asia Beijing Regional Contest 北京区域赛 B.K-Dimensional Foil 题意 给定N个点的前 ...
- 「HNOI2016」最小公倍数
链接 loj 一道阔爱的分块 题意 边权是二元组(A, B),每次询问u, v, a, b,求u到v是否存在一条简单路径,使得各边权上\(A_{max} = a, B_{max} = b\) 分析 对 ...
- 【题解】 bzoj1135: [POI2009]Lyz (线段树+霍尔定理)
题面戳我 Solution 二分图是显然的,用二分图匹配显然在这个范围会炸的很惨,我们考虑用霍尔定理. 我们任意选取穿\(l,r\)的号码鞋子的人,那么这些人可以穿的鞋子的范围是\(l,r+d\),这 ...
- LA3490 Generator(KMP + 高斯消元)
题意 一开始给你一个长为 \(S\) 的字符串. 从空串开始,不断在后面添加一个 \([A, A + n]\) 的一个字符. 第一次包含 \(S\) 的时候会停止添加.问期望的添加次数. 有 \(T\ ...
- Leetcode 11.盛最多水的容器 By Python
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线, ...
- [模板]KMP算法
昨天晚上一直在调KMP(模板传送门),因为先学了hash[关于hash的内容会在随后进行更(gu)新(gu)]于是想从1开始读...结果写出来之后一直死循环,最后我还是改回从0读入字符串了. [预先定 ...
- hdu2795(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题目大意:有一个h*w的公告牌,要在其上贴公告.现在有n个公告,每个公告的尺寸为1*wi,即高度 ...
- wildfly tomcat 服务器不响应 不返回 死住了 查看tcp CLOSE_WAIT 暴多
I'm also having the same issue with a very latest Tomcat server (7.0.40). It goes non-responsive onc ...
- JS时间戳转换成时间格式
TimeNow: function (val) { var date = new Date(val); var Y = date.getFullYear(); var m = date.getMont ...