目录

一、Zookeeper和Hbase的介绍(包括Hbase的特点)

介绍

HBase特点

二、Zookeeper的安装和使用

(1)解压

(2)Zookeeper的配置

Master节点配置

Slave 节点配置

环境变量

启动 ZooKeeper

三、Hbase的安装和使用

解压缩 HBase 安装包

重命名 HBase 安装文件夹

在所有节点添加环境变量

在所有节点使环境变量生效

在 master 节点进入配置文件目录

 在 master 节点配置 hbase-env.sh 文件

在 master 节点修改 regionservers 文件

在 master 节点创建 hbase.tmp.dir 目录

将 master 上的 hbase 安装文件同步到 slave1 slave2

在所有节点修改 hbase 目录权限

在所有节点切换到 hadoop 用户

启动 HBase

一、Zookeeper和Hbase的介绍(包括Hbase的特点)

介绍

Zookeeper

ZooKeeper 是一个开源的分布式协调服务,ZooKeeper 框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。

ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。

ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

服务生产者将自己提供的服务注册到 ZooKeeper 中心,服务的消费者在进行服务调用的时候先到 ZooKeeper 中查找服务,获取到服务生产者的详细信息之后,再去调用服务生产者的内容与数据。

Hbase

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。

HBase特点

1)海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正式因为Hbase良好的扩展性,才为海量数据的存储提供了便利。 2)列式存储 这里的列式存储其实说的是列族存储,Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。 3)极易扩展 Hbase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。 通过横向添加RegionSever的机器,进行水平扩展,提升Hbase上层的处理能力,提升Hbsae服务更多Region的能力。 备注:RegionServer的作用是管理region、承接业务的访问,这个后面会详细的介绍通过横向添加Datanode的机器,进行存储层扩容,提升Hbase的数据存储能力和提升后端存储的读写能力。 4)高并发 由于目前大部分使用Hbase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之间。这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。 5)稀疏 稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。

二、Zookeeper的安装和使用

(1)解压

ZooKeeper 最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,安 装 ZooKeeper 组件需要与 Hadoop 环境适配。

(注意,各节点的防火墙需要关闭,否则会出现连接问题。)

(1)ZooKeeper 的安装包 zookeeper-3.4.8.tar.gz 已放置在 Linux 系统 /opt/software目录下。

.(2)解压安装包到指定目标,在 Master 节点执行如下命令。、

[root@master ~]# tar -zxvf /opt/software/zookeeper3.4.8.tar.gz -C /usr/local/src

[root@master ~]# mv /usr/local/src/zookeeper-3.4.8 /usr/local/src/zookeeper

(2)Zookeeper的配置

Master节点配置

(1)在 ZooKeeper 的安装目录下创建 data 和 logs 文件夹

[root@master ~]# cd /usr/local/src/zookeeper

[root@master zookeeper]# mkdir data && mkdir logs

(2)在每个节点写入该节点的标识编号,每个节点编号不同。

[root@master zookeeper]# echo 1 > /usr/local/src/zookeeper/data/myid

(3)修改配置文件 zoo.cfg

[root@master zookeeper]# cp /usr/local/src/zookeeper/conf/zoo_sample.cfg

/usr/local/src/zookeeper/conf/zoo.cfg

[root@master zookeeper]# vi /usr/local/src/zookeeper/conf/zoo.cfg

修改 dataDir 参数内容如下:

dataDir=/usr/local/src/zookeeper/data

(4)在 zoo.cfg 文件末尾追加以下参数配置,表示三个 ZooKeeper 节点的访问端口号。

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

(5)修改 ZooKeeper 安装目录的归属用户为 hadoop 用户。

[root@master zookeeper]# chown -R hadoop:hadoop /usr/local/src/zookeeper

Slave 节点配置

(1)从 Master 节点复制 ZooKeeper 安装目录到两个 Slave 节点。

[root@master ~] # cd ~

[root@master ~] # scp -r /usr/local/src/zookeeper slave1:/usr/local/src/

[root@master ~] # scp -r /usr/local/src/zookeeper slave2:/usr/local/src/

(2)在 slave1 节点上修改 zookeeper 目录的归属用户为 hadoop 用户。

 [root@slave1 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper

(3)在 slave1 节点上配置该节点的 myid 为 2。

[root@slave1 ~] # echo 2 > /usr/local/src/zookeeper/data/myid

(4)在 slave2 节点上修改 zookeeper 目录的归属用户为 hadoop 用户。

[root@slave2 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper

(5)在 slave2 节点上配置该节点的 myid 为 3。

[root@slave2 ~] # echo 3 > /usr/local/src/zookeeper/data/myid

环境变量

在 master、slave1、slave2 三个节点增加环境变量配置。

# vi /etc/profile

# 在文件末尾追加

# set zookeeper environment

# ZooKeeper 安装目录

export ZOOKEEPER_HOME=/usr/local/src/zookeeper

# ZooKeeper 可执行程序目录

export PATH=$PATH:$ZOOKEEPER_HOME/bin

启动 ZooKeeper

启动 ZooKeeper 需要使用 Hadoop 用户进行操作。

(1)分别在 master、slave1、slave2 三个节点使用 zkServer.sh start 命令启 动ZooKeeper。

[hadoop@master ~]su – hadoop

[hadoop@master ~]source /etc/profile

# ZooKeeper 启动

[hadoop@master ~] zkServer.sh start 

[hadoop@slave1 ~] su – hadoop

[hadoop@slave1 ~] source /etc/profile

[hadoop@slave1 ~] zkServer.sh start

[hadoop@slave2 ~] su – hadoop

[hadoop@slave2 ~] source /etc/profile

ZooKeeper 启动

[hadoop@slave2 ~] zkServer.sh start

三个节点都启动完成后,再统一查看 ZooKeeper 运行状态。 分别在 master、slave1、slave2 三个节点使用 zkServer.sh status 命令查看 ZooKeeper 状态。可以看到三个节点的状态分别为 follower、leader、 follower。三个节点会包括一个 leader 和两个 follower,每个节点地位均等, leader 是根据 ZooKeeper 内部算法进行选举,每个节点的具体状态不固定。

#master 节点状态

[hadoop@master ~]$ zkServer.sh status

[hadoop@s1ave1 ~]$ zkServer.sh status

[hadoop@s1ave2 ~]$ zkServer.sh status 

三、Hbase的安装和使用

解压缩 HBase 安装包

[root@master ~]# tar zxf tools/hbase-1.2.1-bin.tar.gz -C /usr/local/src/

重命名 HBase 安装文件夹

[root@master ~]# cd /usr/local/src/

[root@master src]# mv hbase-1.2.1/ hbase

在所有节点添加环境变量

[root@master src]# vim /etc/profile

[root@master src]# tail -n 2 /etc/profile

export HBASE_HOME=/usr/local/src/hbase

export PATH=$HBASE_HOME/bin:$PATH

[root@slave1 ~]# vim /etc/profile

[root@slave1 ~]# tail -n 2 /etc/profile

export HBASE_HOME=/usr/local/src/hbase 62

export PATH=$HBASE_HOME/bin:$PATH

[root@slave2 ~]# vim /etc/profile

[root@slave2 ~]# tail -n 2 /etc/profile

export HBASE_HOME=/usr/local/src/hbase

export PATH=$HBASE_HOME/bin:$PATH

在所有节点使环境变量生效

[root@master ~]# source /etc/profile

[root@slave1 ~]# source /etc/profile

[root@slave2 ~]# source /etc/profile

在 master 节点进入配置文件目录

[root@master ~]# cd /usr/local/src/hbase/conf/

 在 master 节点配置 hbase-env.sh 文件

[root@master conf]# vim hbase-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_152

export HBASE_MANAGES_ZK=false

export HBASE_CLASSPATH=/usr/local/src/hadoop/etc/hadoop/

在 master 节点配置 hbase-site.xml 如下

[root@master conf]# vi hbase-site.xml

hbase.rootdir

hdfs://master:9000/hbase # 使用 9000 端口

The directory shared by region servers.

hbase.master.info.port

60010 # 使用 master 节点 60010 端口

hbase.zookeeper.property.clientPort

2181 # 使用 master 节点 2181 端口

Property from ZooKeeper's config zoo.cfg. The port at

which the clients will connect.

zookeeper.session.timeout

120000 # ZooKeeper 超时时间

hbase.zookeeper.quorum

master,slave1,slave2 # ZooKeeper 管理节点

hbase.tmp.dir

/usr/local/src/hbase/tmp # HBase 临时文件路径

hbase.cluster.distributed

true # 使用分布式 HBase

在 master 节点修改 regionservers 文件

 [root@master conf]# vim regionservers

[root@master conf]# cat regionservers

slave1

slave2

在 master 节点创建 hbase.tmp.dir 目录

[root@master conf]# mkdir /usr/local/src/hbase/tmp

将 master 上的 hbase 安装文件同步到 slave1 slave2

[root@master conf]# scp -r /usr/local/src/hbase/ root@slave1:/usr/local/src/

[root@master conf]# scp -r /usr/local/src/hbase/ root@slave2:/usr/local/src/

在所有节点修改 hbase 目录权限

[root@master conf]# chown -R hadoop:hadoop /usr/local/src/hbase/

[root@slave1 ~]# chown -R hadoop:hadoop /usr/local/src/hbase/

[root@slave2 ~]# chown -R hadoop:hadoop /usr/local/src/hbase/

在所有节点切换到 hadoop 用户

[root@master conf]# su - hadoop

[hadoop@master ~]$ source /etc/profile

[root@slave1 ~]# su - hadoop

[hadoop@slave1 ~]$ source /etc/profile

[root@slave2 ~]# su - hadoop

 [hadoop@slave2 ~]$ source /etc/profile

启动 HBase

[hadoop@master ~]$ start-all.sh

(用jps查看所有组件运行情况)

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。