- HBase 是 bigtable 的开源版本。建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
- Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。
- Hbase 数据库的安装前需要先安装 Hadoop 和 zookeeper 集群
具体步骤如下:
1. Hadoop平台搭建流程
1.1 组件安装总流程
安装JDK ->zookeeper -> Hadoop -> hbase
1.2 节点前期准备工作
1.2.1 卸载系统自带jdk并安装jdk
1. 检查系统原有jdk: rpm -qa|grep java
2. 如果有卸载之:rpm -e --nodeps jdk包名
3. 上传jdk安装包jdk-8u60-linux-x64.gz
4. 解压:tar -zxf jdk-8u60-linux-x64.gz -C 指定文件夹
5. vi /etc/profile 配置环境变量
6. source /etc/profile 生效
7. 拷贝到其他节点
1.2.2 修改主机名
说明:
主节点主机名:nn-hdp
从节点:dn1-hdp dn2-hdp
1. 命令:hostname nn-hdp
2. 从节点:hostname dn1-hdp dn2-hdp dn3-hdp dn4-hdp
3. 修改配置文件 vi /etc/sysconfig/network 修改HOSTNAME=nn-hdp
1.2.3 修改域名映射
vi /etc/hosts #添加ip对应主机名
192.168.13.121 nn-hdp
192.168.13.158 dn1-hdp
192.168.13.148 dn2-hdp
1.2.4 关闭防火墙
1.2.4.1 关闭防火墙并禁用
查看防火前状态: systemctl status firewalld
查看防火墙是否在运行:firewall-cmd --state
关闭防火墙:systemctl stop firewalld
禁用防火墙:systemctl disable firewalld
1.2.4.2 配置SSH免密登陆
SSH免密公网ip相同的需要使用内网ip来配置
1. 生成秘钥
执行ssh-keygen -t rsa,一路回车,生成无密码的密钥对。
2. 复制公钥:
cd ~/.ssh/
cp id_rsa.pub authorized_keys
3. 远程拷贝
for i in 1..4;do ssh-copy-id -i /root/.ssh/id_rsa.pub dn$i-hdp -p 53540
4. 测试连接
ssh dn1-hdp
1.3 安装zookeeper
1.3.1 下载zookeeper安装包
<u>https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/</u>
1.3.2 上传安装包解压
tar -zxf zookeeper-3.4.14.tar.gz
cd zookeeper-3.4.6
mkdir data #创建数据文件
1.3.3 修改配置文件
进入到解压好的 zookeeper-3.4.14/conf 目录,重命名 zoo_sample.cfg 为 zoo.cfg
mv zoo_sample.cfg zoo.cfg vi zoo.cfg #修改如下配置信息
dataDir=/usr/local/bgdt/zookeeper-3.4.14/data #数据文件
server.1=192.168.13.121:2888:3888 server.2=192.168.13.158:2888:3888
server.3=192.168.13.148:2888:3888
1.3.4 将 zookeeper-3.4.14 拷贝到其他 4 台服务器节点:
for i in {2..3};do scp -r zookeeper-3.4.14/ dn$i-hdp:$PWD;done
1.3.5 分别在所有机器上执行以下命令添加myid
nn-hdp:echo 1 > zookeeper-3.4.4/data/myid
dn1-hdp:echo 2 > zookeeper-3.4.4/data/myid
dn2-hdp:echo 3 > zookeeper-3.4.4/data/myid
1.3.6 配置zk环境变量
vi /etc/profile
export ZK_HOME=/usr/local/bgdt/zookeeper-3.4.14
source /etc/profile
1.3.7 启动
zkServer.sh start
1.4 安装Hadoop
1.4.1 下载安装包
到hadoop官网去下载hadoop安装包https://hadoop.apache.org/releases.html
1.4.2 上传
rz hadoop安装包
1.4.3 解压
tar -zxf hadoop-2.8.5.tar.gz
1.4.4 修改配置文件
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/ 加入jdk路径
source /etc/profile
1.4.5 修改hdfs-site.xml文件添加namenode和datanode属性信息
<configuration>
<property>
<name>dfs.namenode.rpc-address</name>
<value>nn-hdp:9000</value>
</property>
<property>
<name>dfs.namenode.http-address</name> <value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hdpdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name> <value>/opt/hdpdata/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name> <value>dn1-hdp:50090</value>
</property>
</configuration>
1.4.6 远程拷贝到其他节点
for i in {2..3};do scp -r hadoop-2.8.5/ dn$i-hdp:$PWD;done
1.4.7 启动
注意:第一次启动需要先格式化namenode 否则启动不成功
bin/hadoop namenode -formatsbin/hadoop-daemon.sh start namenode格式化后一次性启动:start-all.sh
1.5 安装Hbase
1.5.1 安装准备
首先,要有一个HDFS集群,并正常运行; regionserver应该跟hdfs中的datanode在一起
其次,还需要一个zookeeper集群,并正常运行
然后,安装HBASE,角色分配如下:
nn-hdp: namenode datanode regionserver hmaster zookeeper
dn1-hdp: datanode regionserver zookeeper
dn2-hdp: datanode regionserver zookeeper
1.5.2 集群时间同步:
yum install -y ntp --安装时间同步服务
service ntpd start --启动时间同步服务(保持网络通畅)
chkconfig ntpd on --设置成开机自启
date --查看时间是否同步
date s '2019-5-20 9:19:30'
1.5.3 官网下载Hbase
官网下载地址 在地址中选择相应的版本下载:
上传下载的压缩包到服务器:
rz 选择 -->hbase-1.4.9-bin.tar.gz
解压:
tar -zxf hbase-1.4.9-bin.tar.gz
1.5.4 修改配置文件hbase-env.xml
修改 Hbase 运行的环境文件,加入 jdk 路径 和关闭默认 hbase 自带的 zookeeper 集群管理
vi hbase-env.xml
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export HBASE_MANAGES_ZK=false
1.5.5 修改 hbase-site.xml
修改指定 Hbase 分布式和 zookeeper 的地址信息
vi hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://nn-hdp:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>nn-hdp:2181,dn1-hdp:2181,dn2-hdp:2181</value>
</property>
</configuration>
1.5.6 修改regionservers
添加 regionservers
nn-hdp dn1-hdp dn2-hdp
1.5.7 设置环境变量
vi /etc/profile export HBASE_HOME=/usr/local/bgdt/hbase-1.4.9
exportPATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HBASE_HOME/bin
source /etc/profile
1.5.8 远程拷贝安装包到其他节点
for i in {2..3};do scp -r hbase-1.4.9/ dn$i-hdp:$PWD;done
1.5.9 启动hbase集群
start-hbase.sh
1.6.0 HBase 基本语法
进入 HBase 命令行数据库:
Hbase shell
查看表:
list
浏览表数据:
scan '表名称'
scan 命令是加载 hbase 数据库的所有数据,即全表扫描。这样会显得很笨重,在接下来的后几个章节将学习Hbase 原理以及集成第三方工具,后面会做详细的介绍
总结
本章节介绍 Hbase 数据库的搭建以及基本操作,谨以此片记录工作中所学知识点以及为阅读此文的读者提供支撑。