Hadoop Core、HBase 、ZooKeeper

2023-10-26

adoop+HBase+ZooKeeper三者关系与安装配置 

[复制链接]
   
论坛徽章:
18
跳转到指定楼层
1#
  发表于 2014-2-18 23:15  |  只看该作者  回帖奖励
本帖最后由 qqjue 于 2014-2-18 23:16 编辑

这里有几个主要关系:

1.经过Map、Reduce运算后产生的结果看上去是被写入到HBase了,但是其实HBase中HLog和StoreFile中的文件在进行flush to disk操作时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储。

2.ZooKeeper跟Hadoop Core、HBase有什么关系呢?ZooKeeper都提供了哪些服务呢?主要有:管理Hadoop集群中的NameNode,HBase中HBaseMaster的选举,Servers之间状态同步等。具体一点,细一点说,单只HBase中ZooKeeper实例负责的工作就有:存储HBase的Schema,实时监控HRegionServer,存储所有Region的寻址入口,当然还有最常见的功能就是保证HBase集群中只有一个Master。





2、搭建完全分布式集群

在做hadoop,hbase这方面的工作有一段时间了,经常有刚接触这些东西的身边朋友,向我询问基本环境的搭建问题,于是就想以回忆录的形式把基本配置的步骤整理出来,以便刚接触的朋友做个参考.

      HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以四台机器为例,搭建一个简单的集群.

   使用的软件版本:hadoop-1.0.3,hbase-0.94.2,zookeeper-3.4.4.

   四台机器IP:10.2.11.1,10.2.11.2,10.2.11.3,10.2.11.4.


一.搭建Hadoop集群


   1. 安装JDK.在每台机器下建立相同的目录/usr/java.把下载的jdk(1.6及以上版本)复制到/usr/java目录下面,使用命令

  • tar –zxvf  jdk-7u9-linux-i586.tar.gz  
  • sudo chmod 777 jdk-1.7.0_09  




把jdk的路径加到环境变量中:                  

  • vim.tiny  /etc/profile  




  在该文件最后一行添加:

  • JAVA_HOME=/usr/java/jdk1.7.0_09  
  •             PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:PATH  
  •                CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  




使修改的操作生效:                          

  • source   /etc/profile             




可以使用                                                

  • java  -version  




进行验证是否已配置成功.

2.在每台机器上建立相同的用户名                             

  • sudo adduser  cloud  
  • password   cloud  




输入你要设置的密码.然后在每台机器作配置:                          

  • sudo gedit  /etc/hosts  




   打开文件后加入如下内容:                    

  • 10.2.11.1 namenode  
  • 10.2.11.2 datanode1  
  • 10.2.11.3 datanode2  
  • 10.2.11.4 datanode3  




3.在/home/cloud/目录下建立一个文件夹project,命令如下:                  

  • mkdir  project    




        把hadoop-1.0.3.tar.gz,zookeeper-3.4.4.tar.gz,hbase-0.94.2.tar.gz,这些下载的软件包放在此目录下面,以待下一步操作。
4.使用命令

  • tar  –zxvf   hadoop-1.0.3.tar.gz  




进行解压文件.进入配置目录,开始配置.   

  • cd  hadoop-1.0.3/conf  




5. 使用命令 : vim.tiny   hadoop-env.sh 把java的安装路径加进去:

  • JAVA_HOME=/usr/java/jdk1.7.0_09/  




6. vim.tiny   core-site.xml ,加入如下配置:

  • <property>  
  •                <name>hadoop.tmp.dir</name>  
  •                           <value>/home/cloud/project/tmp</value>  
  • </property >  
  • < property >  
  •                  <name> fs.default.name</name>  
  •                        <value>hdfs://namenode:9000</value>  
  • </property >  




7.  vim.tiny   hdfs-site.xml,加入如下配置:

  • <property >  
  • <name>dfs.repplication</name>  
  • <value>3</value>  
  • </property >  
  • <property>  
  • <name>dfs.data.dir</name>  
  • <value>/home/cloud/project/tmp/data</value>  
  • </ property >  




8. gedit   mapred-site.xml,添加如下内容:

  • <property>  
  • <name>mapred.job.tracker</name>  
  • <value>namenode:9001</value>  
  • </property >  




9. gedit   master,加入如下配置内容:

  • namenode  




  10. gedit   slaves,加入如下配置内容:

  • datanode1  
  • datanode2  
  • datanode3   




11. 配置机器之间无密码登陆.在每台机器下建立相同目录 .ssh ,如

  • mkdir     /home/cloud/.ssh  




在namenode节点下,使用命令ssh-keygen –t rsa,然后一直回车(中间不用输入任何其他信息),直到结束,然后使用命令cd .ssh,

  • cp id_rsa.pub authorized.keys      




使用远程传输,把authorized.keys分别复制到其他机器的.ssh目录下面,命令如下:

  • scp authorized_keys  datanode1:/home/cloud/.ssh  
  • scp authorized_keys  datanode2:/home/cloud/.ssh  
  •        scp authorized_keys  datanode3:/home/cloud/.ssh         




  进入每台机器的.ssh目录下修改authorized_keys的权限,命令如下:

  • chmod 644 authorized_keys     




12.把配置好的hadoop分别拷贝到集群中其他机器上,命令如下:

  • scp –r hadoop-1.0.3  datanode1:/home/cloud/project  
  • scp –r hadoop-1.0.3  datanode2:/home/cloud/project  
  •      scp –r hadoop-1.0.3  datanode3:/home/cloud/project       




13.在namenode机器下,进入hadoop的安装目录,对文件系统进行格式化:

  • bin/hadoop namenode   –format    




14. 启动集群: bin/start-all.sh.      可以使用

  • bin/hadoop  dfsadmin  –report                  




查看文件系统的使用情况。      使用命令

  • jps  




查看节点服务启动情况,正常情况有:jobtracker、namenode、jps、secondnamenode.否则启动异常,重新检查安装步骤。

  二.安装zookeeper      

1.在namenode机器下,配置zookeeper,先解压安装包,使用命令:

  • tar -zxvf zookeeper-3.4.4.tar.gz       




2.进入zookeeper的配置目录,首先把zoo_sample.cfg重命名一下,可以重新复制一遍,使用命令:

  • cp zoo_sample.cfg zoo.cfg      




3.gedit    zoo.cfg ,添加如下内容:

  •                dataDir=/home/cloud/project/tmp/zookeeper/data  
  • server.1 = datanode1:7000:7001  
  • server.2 =datanode2:7000:7001  
  • server.3 =datanode3:7000:7001  




4.把zookeeper分别远程拷贝datanode1,datanode2,datenode3,使用如下命令:

  • scp –r zookeeper-3.4.4  datanode1:/home/cloud/project  
  • scp –r zookeeper-3.4.4  datanode2:/home/cloud/project  
  • scp –r zookeeper-3.4.4  datanode3:/home/cloud/project  




5.分别在刚才的datanode节点/home/cloud/project/tmp/zookeeper/data目录下,新建文件myid,然后使用命令

  • vim.tiny  myid  




   分别在datanode1,datanode2,datanode3的myid中写入对应的server.n中的n,即分别是1,2,3.

6.开启zookeeper服务,在三台datanode机器的zookeeper安装目录下使用命令:

  • bin/zkServer.sh start  




三.部署hbase

1.解压缩hbase的软件包,使用命令:

  • tar -zxvf hbase-0.94.2.tar.gz  




2.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:

  • JAVA_HOME=/usr/java/jdk1.7.0_09/    




加入变量:

  • export  HBASE_MANAGES_ZK=false  




3. 编辑hbase-site.xml ,添加配置文件:

  • <property>  
  • <name>hbase.rootdir</name>  
  • <value>hdfs://namenode:9000/hbase</value>  
  • </property>  
  • <property>  
  • <name>hbase.cluster.distributed</name>  
  • <value>true</value>  
  • </property>  
  • <property>  
  • <name>hbase.zookeeper.quorum</name>  
  • <value>datanode1,datanode2,datanode3</value>  
  • </property>  
  • <property>  
  • <name>hbase.zookeeper.property.dataDir</name>  
  • <value>/home/cloud/project/tmp/zookeeper/data</value>  
  • </property>  




4. 编辑配置目录下面的文件regionservers. 命令:

  • vim.tiny    regionservers    




加入如下内容:

  • datanode1  
  • datanode2  
  • datandoe3  




5. 把Hbase复制到其他机器,命令如下:

  • scp -r hbase-0.94.2   datanode1:/home/cloud/project  
  • scp -r hbase-0.94.2   datanode2:/home/cloud/project  
  • scp -r hbase-0.94.2   datanode3:/home/cloud/project  




6. 开启hbase服务。命令如下:

  • bin/start-hbase.sh     




可以使用bin/hbaseshell 进入hbase自带的shell环境,然后使用命令version等,进行查看hbase信息及建立表等操作。   

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop Core、HBase 、ZooKeeper 的相关文章

  • 云数据库MySQL的选择

    架构介绍 xff1a 云数据库MySQL支持四种架构 xff1a 高可用版 金融版 单节点高IO版 基础版 其中单节点高IO版的只用于只读 版本对比 xff1a 企业级别 xff0c 刚刚好公司没有自己的服务器机房的时候可以做对比选择 一般
  • Hadoop Core、HBase 、ZooKeeper

    adoop HBase ZooKeeper三者关系与安装配置 复制链接 qqjue 论坛徽章 18 电梯直达 1
  • Hypertable 快速安装,仅需上载一个RPM包,零编译

    Hypertable 快速安装 仅需上载一个RPM包 零编译 Hypertable 快速安装 仅需下载一个RPM包 零编译 本文采用 单机安装 1 Hypertable 安装 Hypertable 的几种安装方式 单机 安装于单机 采用本地
  • Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建

    Hadoop 2 4 0 zookeeper3 4 6 hbase0 98 3分布式集群搭建 博客分类 hadoop Ip 主机名 程序 进程 192 168 137 11 h1 Jdk Hadoop hbase Namenode DFSZ
  • 分布式系统一致性研究,paxos算法

    感谢eric的敦促 感谢shuai的感召 我尝试记录一点混乱的思考 什么是分布式系统 毋庸置疑 Internet和DNS是两个典型的成功的分布式系统 那么 分布式系统是不是就是计算机网络 1990年 Sun Microsystems 公司提
  • 开源大数据利器汇总

    所有分类 gt 服务器软件 gt 分布式 云计算 大数据 开源大数据利器汇总 开源 2015 05 21 21 00 00 发布 您的评价 0 0 收藏 0收藏 类别 名称 官
  • 阿里云数据库配置IP白名单操作方法(以MySQL为例)

    阿里云数据库RDS创建成功后 首次连接访问RDS需要配置IP白名单 在阿里云RDS控制台即可配置IP白名单 阿里云百科来详细说下阿里云服务器RDS配置白名单的方法 阿里云服务器配置IP白名单 阿里云百科以MySQL云数据库为例 RDS My
  • Hbase split的三种方式和split的过程

    Hbase split的三种方式和split的过程 在Hbase中split是一个很重要的功能 Hbase是通过把数据分配到一定数量的region来达到负载均衡的 一个table会被分配到一个或多个region中 这些region会被分配到
  • Spanner vs. F1:谷歌两大数据管理利器的整体对比及关联 2016-05-22 20:36 757人阅读 评论(0) 收藏 举报 目录(?)[+] http://www.csdn.net/a

    Spanner vs F1 谷歌两大数据管理利器的整体对比及关联 2016 05 22 20 36 757人阅读 评论 0 收藏 举报 目录 http www csdn net article 2013 10 10 2817138 f1 a
  • 分布式数据库资料

    Hadoop是很多组件的集合 主要包括但不限于MapReduce HDFS HBase ZooKeeper MapReduce模仿了Google MapReduce HDFS模仿了Google File System HBase模仿了Goo
  • Hash算法的使用

    Hash算法的使用 标签 默认分类 发表时间 2011 08 06 06 35 作者 GliderX khsing 分享到 出处 http hi baidu com gliderx 在对语料文本进行2 3元切分时 需要借助hash表来获得切
  • 分布式查找过程[HBase]Region location

    HBase的table是该region切分的 client操作一个row的时候 如何知道这个row对应的region是在哪台Region server上呢 这里有个region location过程 主要涉及到2张系统表 ROOT META
  • Hypertable sql

    First create a new namespace called Test CREATE NAMESPACE Test and make it the current namespace USE Test Now let s crea
  • HBase介绍(列存储)

    HBase介绍 列存储 2013 11 26 23 25 5871人阅读 评论 2 收藏 举报 分类 云存储 2 Hbase简介 started by chad walters and jim 2006 11 G release paper
  • Hypertable 简介 一个 C++ 的Bigtable开源实现

    1 Introduction 随着互联网技术的发展 尤其是云计算平台的出现 分布式应用程序需要处理大量的数据 PB级 在一个或多个云计算平台中 成千上万的计算主机 如何保证数据的有效存储和组织 为应用提供高效和可靠的访问接口 并且保持良好的
  • 分布式数据库需要考虑的(BigTable VS Dynamo)

    分布式数据库需要考虑的 BigTable VS Dynamo 在设计 评价分布式数据库的时候需要考虑一些最基本的特性 我想这些特性可能包括 1 存储系统 一种是类似BigTable将存储交给GFS去做 GFS会保证写入数据的完整 另外一种是
  • hadoop初级到资深

    hadoop初级到资深 2015 06 13 12 08 165人阅读 评论 0 收藏 举报 分类 hadoop 3 1 hadoop是什么 适合大数据的分布式存储与计算平台 2 hadoop版本有哪些 Apache 官方版本 1 1 2
  • 1.1.3 Hadoop生态系统

    1 1 3 Hadoop生态系统 2013 05 08 09 38 16 我来说两句 收藏 我要投稿 本文所属图书 gt Hadoop技术内幕 深入解析Hadoop Common和HDFS架构设计与实现原理 Hadoop技术内幕共两册 分别
  • 云数据库知识学习——概述

    一 云计算是云数据库兴起的基础 云计算是分布式计算 并行计算 效用计算 网络存储 虚拟化 负载均衡等计算机和网络技术发展融合的产物 云计算是由一系列可以动态升级和被虚拟化的资源组成的 用户无需掌握云计算的技术 只要通过网络就可以访问这些资源
  • hadoop使用(五)

    博客园 闪存 首页 新随笔 联系 管理 订阅 随笔 247 文章 122 评论 571 hadoop使用 五 第1章 引言 1 1 编写目的 对关于hadoop的文档及资料进行进一步的整理 1 2 相关网站 毋庸置疑 http hadoop

随机推荐

  • Linux嵌入式所有知识点-思维导图-【一口君吐血奉献】

    一 前言 很多粉丝问我 我的Linux和嵌入式当初是如何学习的 其实彭老师在最初学习的过程中 走了相当多的弯路 有些可以不学的花了太多的时间去啃 有些作为基础必须优先学习的 却忽略了 结果工作中用到这些知识时傻眼了 有些需要后面进阶阶段学习
  • opencv 识别矩形java_使用OpenCV进行矩形检测/跟踪

    HSV空间中的H通道是Hue 它对光线变化不敏感 红色范围约为 150 180 根据提到的信息 我做了以下工作 切换到HSV空间 拆分H通道 阈值并将其标准化 应用变形操作 打开 查找轮廓 按某些属性 宽度 高度 面积 比率等 进行过滤 P
  • #VCS# 常用UCLI 命令汇总

    以下 列出了常用的 UCLI 命令 均是synps 公司提供
  • 功率时延谱 matlab,改进的互功率谱时延估计算法

    前言 基于麦克风阵列的声源定位是利用麦克风阵列拾取多路声音信号 结合声源和阵列结构之间的几何关系 得到声源的位置信息 由于麦克风阵列在时域和频域的基础上增加了空域信息 因此对声音信息的处理能力明显增强 其优势主要体现于 具有空间选择性 能够
  • 病毒分析系列2

    前言 接上篇 进行病毒分析时 在进行具体的病毒行为分析前 需要或许可疑文件的基本信息 此时可以使用pe工具进行分析和获取 基本静态信息获取 一般需要获取的信息包括但不限于 程序哈希值 导入函数表 导出函数表 是否有壳 程序的位数 字符串 具
  • 数据结构--常用比较排序

    目录 一 冒泡排序 二 选择排序 三 插入排序 四 希尔排序 五 堆排序 六 快速排序 6 1 key位置选择 6 2 一趟排序的方法 hoare版本 挖坑法 前后指针法 6 3 完整排序 七 归并排序 一 冒泡排序 通过两两顺序比较 把大
  • openwrt排错实战

    1 openwrt不断重启 原因 1 没有连接外网 看门狗机制启动 解决 将外网插到WAN口即可 2 重新刷了固件后灭有授权 解决 设备联网后 访问一下这个网站 http 192 168 1 1 cgi bin auth cgi 福利 op
  • 【Chisel硬件源源语】

    Chisel硬件源源语 前言 多路选择器 优先编码器 仲裁器 队列 存储 ROM RAM 从文件向RAM写入 计数器 状态机 总结 前言 通过之前的学习 读者应当已经掌握Chisel的基本数据类型和操作符的知识 并且了解如何构建小型电路 而
  • Word如何修改目录页不显示页码, 页码从第二页开始算起

    在做毕业设计的时候或者工作过程中往往需要插入目录 但是一旦插入目录就会导致页码的第一页被目录页占用 这不是我们想要的结果 我也是网上查了好久才弄好 今天写个教程出来供大家分享 步骤一 先在目录页面的底部插入分节符 下一页 步骤二 进入可修改
  • 读取文件名,若文件名无效返回文件名并显示异常(实例)

    异常文件名 import java io FileInputStream import java io FileNotFoundException import java io IOException import java util Sc
  • VUE写后台管理(2)

    VUE写后台管理 2 1 环境 2 Element界面 3 Vue Router路由 后台 1 左导航栏 2 上面导航条 1 环境 1 下载管理node版本的工具nvm Node Version Manager 2 安装node vue工程
  • Ubuntu安装问题汇总

    1 开机提示acpi error 一般这个问题是因为显卡的原因造成的 系统没有带显卡驱动 所以会有电源管理方面的问题 解决方法 安装时在install ubuntu界面按e 在linux开头那行的末尾处加入 acpi off 然后保存进行安
  • 封装ReactBootstrap组件实现文字展开功能

    封装ReactBootstrap组件实现文字展开功能 ExpendableText js import React useRef useEffect useState from react import Container CardGrou
  • 使用anaconda配置pycharm解释器环境

    因为作业需要写python代码 需要选择一个合适的写python代码的软件 学长推荐我用anaconda的juypter来写 并且anaconda自己配置环境比较容易 所以我就下载了anaconda 但是我不喜欢网页的风格 所以下载了pyc
  • docker 通过Dockerfile安装jdk

    将自己下载好的jdk压缩包 我下载的是jdk 8u261 linux x64 tar gz 上传到服务器上 我是使用的ubuntu 将jdk 8u261 linux x64 tar gz 复制到你的docker目录下 之后创建一个Docke
  • Mac终端终止命令

    control c 结束进程 control z 结束进程
  • 【Unity】[入门tips与代码优化] 一些入门概念、技巧和优化程序的原则方法

    本文将持续间断更新 本文主要面向初级程序员 为了方便Unity开发 有些快捷键的方式和一些通用性的技巧tips等会在这篇博客内持续更新 欢迎点赞收藏 快捷键 Ctrl S 快捷保存 闲着没事就来两下 Ctrl Shift F 在hierar
  • element-ui 表格合并之后鼠标hover效果

    element ui 表格合并之后鼠标hover效果 这次主要介绍行合并后的hover效果处理 由于element ui合并行之后 鼠标经过时 默认只会高亮第一行 如下图 但实际我们想要的是 在鼠标经过这一合并行时 被合并的行都是高亮状态
  • 磁盘分区 fdisk,挂载

    1 磁盘的分区主要分为基本分区 primary partion 和扩充分区 extension partion 两种 基本分区和扩充分区的数目之和不能大于四个 且基本分区可以马上被使用但不能再分区 扩充分区必须再进行分区后才能使用 也就是说
  • Hadoop Core、HBase 、ZooKeeper

    adoop HBase ZooKeeper三者关系与安装配置 复制链接 qqjue 论坛徽章 18 电梯直达 1