文档章节

Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

海岸线的曙光
 海岸线的曙光
发布于 06/19 12:22
字数 1347
阅读 28
收藏 5
点赞 0
评论 0

    有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识。今天主要讲一讲Zookeeper+Hadoop+Hbase分布式集群的搭建,在我前几篇的集群搭建的博客中已经分别讲过了Zookeeper和Hadoop的集群搭建:

    集群四部曲(一):完美的Zookeeper集群搭建

    集群四部曲(二):完美的Hadoop集群搭建

,剩下的就只有Hbase集群了,下面就来说一下基于Zookeeper和Hadoop的Hbase分布式集群的搭建。

    一、环境:同样的启用三个节点,分别是虚拟机slave01,slave02,slave03,基于之前已经搭建好的环境,包括JDK、Zookeeper、Hadoop

    二、Hbase配置(自己解压哈)

    配置前,着重说一下:版本匹配问题,若出现不匹配的情况,后面启动会失败,关于版本匹配大家可以参考该链接内容:

    https://blog.csdn.net/anningzhu/article/details/60468723

    接下来了解一下HMaster、HRegionServer,这里准备将slave01作为HMaster,slave02、slave03作为HRegionServer,下面的操作都是以这个为前提展开的,请大家做好战前温习,以防不知下面的操作的意义,开始配置吧:

    关闭防火墙,大家切记:

systemctl stop firewalld    #只在本次运用时生效,下次开启机器时需重复此操作
或
systemctl disable firewalld   #此命令在下次重启时生效,将永久关闭防火墙

    (1)将Hbase添加到环境变量中

vim /etc/profile

    添加HBASE_HOME,修改如下:

JAVA_HOME=/usr/java/jdk1.8.0_161
JRE_HOME=/usr/java/jdk1.8.0_161/jre
SCALA_HOME=/usr/local/scala
HADOOP_HOME=/usr/local/hadoop
SPARK_HOME=/usr/local/spark
ZOOKEEPER_HOME=/usr/local/zookeeper
HBASE_HOME=/usr/local/hbase
KAFKA_HOME=/usr/local/kafka
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$KAFKA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME SCALA_HOME HADOOP_HOME SPARK_HOME ZOOKEEPER_HOME HBASE_HOME KAFKA_HOME PATH CLASSPATH

    使文件生效,运行命令:

source /etc/profile

    (2)修改HBase目录conf下配置文件hbase-env.sh:

export JAVA_HOME=/usr/java/jdk1.8.0_161/
export HBASE_PID_DIR=/usr/local/hbase/pid/
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop/
export HBASE_MANAGES_ZK=false

    其中,pid自己手动在HBase目录下新建,ZK=false表示不使用自身的Zookeeper。

    (3)修改HBase目录conf下配置文件hbase-site.xml:

<configuration>
  <property>
    <name>hbase.root.dir</name>
    <value>hdfs://slave01:9000/hbase</value>
    <description>设置 hbase 数据库存放数据的目录</description>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>打开 hbase 分布模式</description>
  </property>
  <property>
    <name>hbase.master</name>
    <value>slave01</value>
    <description>指定 hbase 集群主控节点</description>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/usr/tmp/hbase</value>
    <description>hbase的一些临时文件存放目录。</description>
   </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>slave01,slave02,slave03</value>
    <description> 指定 zookeeper 集群节点名</description>
  </property>
  <property>
    <name>zookeeper.session.timeout</name>
    <value>60000000</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    <description> 连接到zookeeper的端口,默认是2181</description>
  </property>
</configuration>

    其中,hbase.root.dir注意和Hadoop保持一致。

    (4)修改HBase目录conf下配置文件regionservers:

slave02
slave03

    添加的是作为datanode的节点。

    (5)拷贝配置文件到其他服务器

    若不想一个一个的进行文件配置,可以将已经配置好的文件拷贝到其他需要的服务器上,注意拷贝成功后执行命令:source /etc/profile使之生效

//slave01上的/etc/profile文件拷贝到slave02
scp -r /etc/profile slave02:/etc/profile
//slave01上的/usr/local/hadoop文件夹整个目录拷贝到slave02
scp -r /usr/local/hbase slave02:/usr/local/

    节点slave03同上。以上配置即初步完成了HBase的配置,下面是启动验证的时候了,在这之前,最好重启虚拟机,保证所有的配置生效,切记,重启后先关闭防火墙,w(゚Д゚)w。

    三、启动HBase集群并验证

    因为我们使用的是Zookeeper+Hadoop+HBase,所以启动前,先要启动Zookeeper和Hadoop,分别依次启动Zookeeper和Hadoop,保证正常启动,请参考之前的博客。正常启动后如下:

[hadoop@slave01 sbin]$ jps
2880 QuorumPeerMain
3656 ResourceManager
3945 Jps
3449 SecondaryNameNode
3213 NameNode
[hadoop@slave02 bin]$ jps
3079 Jps
3018 NodeManager
2876 DataNode
2687 QuorumPeerMain
[hadoop@slave03 bin]$ jps
2644 QuorumPeerMain
3066 Jps
2938 NodeManager
2794 DataNode

    接下来启动HBase,如下:

[hadoop@slave01 bin]$ ./start-hbase.sh 
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
running master, logging to /usr/local/hbase/logs/hbase-hadoop-master-slave01.out
slave02: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-slave02.out
slave03: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-slave03.out

    显示多出的进程为HMaster:

[hadoop@slave01 sbin]$ jps
2880 QuorumPeerMain
4387 HMaster
4518 Jps
3656 ResourceManager
3449 SecondaryNameNode
3213 NameNode

    节点slave02和slave03多出的进程为HRegionServer:

[hadoop@slave02 bin]$ jps
3424 HRegionServer
3018 NodeManager
2876 DataNode
3485 Jps
2687 QuorumPeerMain

    好了,上面关于HBase集群已经成功启动了。

    四、查看hbase管理界面   

    访问 slave01:16010,如下:

    点击上图Region Servers中的节点slave02或者slave03即可查看其对应信息:

    通过上面我们可以查看hbase相关信息,非常实用。

    好了,关于这方面的配置已经结束了,下篇将说下HBase数据库的相关知识,敬请期待!

© 著作权归作者所有

共有 人打赏支持
海岸线的曙光
粉丝 38
博文 45
码字总数 53557
作品 0
朝阳
程序员
ZooKeeper一二事 - 搭建ZooKeeper伪分布式及正式集群 提供集群服务

集群真是好好玩,最近一段时间天天搞集群,redis缓存服务集群啦,solr搜索服务集群啦,,,巴拉巴拉 今天说说zookeeper,之前搭建了一个redis集群,用了6台机子,有些朋友电脑跑步起来,有点...

风间影月
2016/05/02
0
0
服务器(4)--搭建Solr集群+搭建Zookeeper集群(上篇)

背景:上一篇文章重点介绍了一下单机版的Solr搭建过程以及中文分析器的配置,这篇文章则重点介绍一下Solr集群的搭建步骤,以及Zookeeper集群的搭建步骤。由于搭建过程比较繁琐,所以分为两篇...

u013043341
2017/05/31
0
0
ZooKeeper的伪分布式集群搭建以及真分布式集群搭建

zk集群的一些基本概念 zookeeper集群搭建: zk集群,主从节点,心跳机制(选举模式) 配置数据文件 myid 1/2/3 对应 server.1/2/3 通过 zkCli.sh -server [ip]:[port] 命令检测集群是否配置成...

ZeroOne01
04/24
0
0
hbase分布式集群搭建

hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。 hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环...

纯洁的虫纸
2017/08/11
0
0
大数据之hadoop,国内首部:Zookeeper从入门到精通课程分享

对这个课程感兴趣的朋友可以加我QQ2059055336和我联系。 ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护...

八千里路
2014/05/08
0
0
Zookeeper完全分布式集群的搭建

Zookeeper完全分布式集群的搭建 一、集群模式 1、单机模式 在zoo.cfg中只配置一个server.id就是单机模式了。 这种模式下,如果当前主机宕机,那么所有依赖于当前zookeeper服务工作的其他服务...

星汉
04/27
0
0
一年走向【Java架构师】之葵花宝典

大多数时候,不是我们不努力,而是不知从何下手,我深知一份好的学习资料是多么的重要,我们通常会把大量的时间都浪费在找资源上,本人搜集学习java架构师的经典学习路线如下可供参考!!! 一...

我一路狂奔
2017/05/20
395
1
Elasticsearch技术分享(一)

场景 与同事分享一下最近学习es的心得 大纲 1)es使用场景 2)搭建环境与集群基本运维命令介绍 3)基础分布式架构初探与核心概念解读 4)实战 分析 一、es使用场景 1) 什么是 es A) 故事引入...

PENGYUCHENG32109
2017/03/20
0
0
Hadoop(2015/8/19最新发行版2.7.1): 搭建一个单节点集群。官方文档翻译

根据官方文档边操作边翻译,如有谬误欢迎拍砖指正!大家一起学习。也欢迎推荐更多有用学习文档给我,谢谢! Hadoop: 搭建一个单节点集群。 Hadoop: 搭建一个单节点集群。 目的 先决条件 下载...

duty
2015/08/19
704
0
大数据教程(一)—— Hadoop集群坏境搭建配置

前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到...

biubiubiu!
2017/05/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

程序的调试信息

调试二进制程序时,经常要借助GDB工具,跟踪程序的执行流程,获取程序执行时变量的值,以发现问题所在。GDB能得到这些信息,是因为编译程序时,编译器保存了相应的信息。Linux下的可执行程序...

qlee
26分钟前
0
0
应用级缓存

缓存命中率 从缓存中读取数据的次数与总读取次数的比例,命中率越高越好 java缓存类型 堆缓存 guavaCache Ehcache3.x 没有序列化和反序列化 堆外缓存ehcache3.x 磁盘缓存 存储在磁盘上 分布式...

writeademo
今天
0
0
python爬虫日志(3)find(),find_all()函数

1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。 以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautiful Sou...

茫羽行
今天
0
0
java:thread:顺序执行多条线程

实现方案: 1.调用线程的join方法:阻塞主线程 2.线程池 package com.java.thread.test;public class MyThread01 implements Runnable {@Overridepublic void run() {Syste...

人觉非常君
今天
0
0
ElasticSearch 重写IK分词器源码设置mysql热词更新词库

常用热词词库的配置方式 1.采用IK 内置词库 优点:部署方便,不用额外指定其他词库位置 缺点:分词单一化,不能指定想分词的词条 2.IK 外置静态词库 优点:部署相对方便,可以通过编辑指定文...

键走偏锋
今天
18
0
Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
今天
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
今天
41
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
今天
0
0
PowerDesigner 16.5 安装配置

PowerDesigner16.5破解版是一款业内领先且开发人员常用的数据库建模工具,PowerDesigner可以从物理和概念两个层面设计数据库,方便用户制作处清晰直观的数据流程图和结构模型,欢迎有需要的朋...

Gibbons
今天
0
0
mac Homebrew 指令积累

1通用命令 brew install [包名] //安装包 brew list //列举安装的包 brew info [包名] // 显示安装包的详细信息 mysql 相关 #启动mysql 服务 brew service start mysql my...

Kenny100120
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部