HBase 完全分布式集群安装
HBase 集群建立在 hadoop 集群基础之上,所以在搭建 HBase 集群之前需要把
Hadoop 集群搭建起来
名词解释
Hadoop
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高
速运算和存储。
Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS
有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量
(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的
应用程序。HDFS 放宽了(relax)POSIX 的要求,可以以流的形式访问(streaming access)文
件系统中的数据。
Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,
而 MapReduce 则为海量的数据提供了计算。
HBase
HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google
论文“Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统
(File System)所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable
的能力。HBase 是 Apache 的 Hadoop 项目的子项目。HBase 不同于一般的关系数据库,它是
一个适合于非结构化数据存储的数据库。另一个不同的是 HBase 基于列的而不是基于行的模
式。
zookeeper
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一
个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致性服务的
软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能
稳定的系统提供给用户。
zk
×
Hadoop
(nameNode)
√
Hadoop
(datanode)
×
Hbase
(master)
√(主)
Hbase
(regionserver)
×
√
×
√
×
√
×
√
√
√
√(备)
×
×
×
√(从)
√(从)
准备工作:
Jdk,Hadoop,hbase
4 台服务器
服务器
Node1
(192.168.12.10)
192.168.11.234
192.168.7.240
Node2
(192.168.13.39)
192.168.11.235
192.168.7.238
Node3
(192.168.13.40)
192.168.11.236
192.168.7.239
Node4
(192.168.13.41)
192.168.11.239
192.168.7.237
(192.168.12.11)
192.168.11.233
192.168.7.243
安装 JDK
1)将 jdk 安装包放在家目录下
2)解压到 opt 目录下
#sudo tar zxvf jdk-8u191-linux-x64.tar.gz -C /opt/
此时在/opt 目录下:会有一个 jdk1.8.0_131
3)创建软链接
#sudo ln -snf /opt/jdk1.8.0_191/ /opt/jdk
注意:创建软连接的目的是为了,我们在做项目的时候,可能会用到不同的 jdk 版
本,这是要换软件的话,只需要修改软链接就可以了。而不用修改配置文件。
4)配置环境变量
局部环境变量:~/.bashrc
全局环境变量:/etc/profile(编辑 profile 文件)
#vim /etc/profile
添加如下
export JAVA_HOME=/opt/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile(更新配置文件)
5)查看是否安装成功
java、javac、java -version
hadoop 搭建分布式集群
准备工作:
关闭防火墙
关闭: systemctl stop firewalld
开机禁用 : systemctl disable firewalld
查看状态: systemctl status firewalld
/etc/hosts
4 台服务器都添加如下内容,内容一样
# vi
添加内容
192.168.12.10 node1
192.168.13.39 node2
192.168.13.40 node3
192.168.13.41 node4
192.168.11.234 node1
192.168.11.235 node2
192.168.11.236 node3
192.168.11.239 node4
/etc/sysconfig/network
4 台服务器都配置自己的节点
# vi
添加内容
NETWORKING=yes
HOSTNAME=node1
重启 Linux
#reboot
或者
#hostname node1 (立马生效)
安装 hadoop
下载包
如:cenos-6.5-hadoop-2.6.4.tar.gz
(1)解压 hadoop 安装包到 opt 目录下
#sudo tar zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C /home
(2)创建软链接
#ln -snf /home/hadoop-2.6.4/ /home/hadoop
(3)配置环境变量
在/etc/profile 文件中加入以下内容:
#hadoop 配置
export HADOOP_HOME=/home/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile(刷新环境变量)
(4)使用 hadoop version 命令测试是否配置成功
配置 hadoop
进入:/home/hadoop-2.6.4/etc/hadoop
第一个:hadoop-env.sh
#vim hadoop-env.sh
export JAVA_HOME=/jdk/opt
第二个:core-site.xml
fs.defaultFS
hdfs://node1:9000
hadoop.tmp.dir
/home/hadoop-dir
第三个:hdfs-site.xml
dfs.nameservices
bjsxt
dfs.replication
2
第四个:mapred-site.xml
(mv mapred-site.xml.template mapred-site.xml)
mapreduce.framework.name
yarn
第五个:yarn-site.xml
yarn.resourcemanager.hostname
node1
yarn.nodemanager.aux-services
mapreduce_shuffle
把第一个配置好的复制到其他几台服务器
#scp -r /home/apps
然后输入密码即可
root@node1:/home
hadoop namenode -format(只对第一台格式化) namenode
#hadoop namenode -format