Mapr 安装hadoop的组件(三)——安装hbase

来源:互联网 发布:男性睾酮低的危害 知乎 编辑:程序博客网 时间:2024/05/02 14:31

HBase的是Hadoop的数据库,它提供了随机,实时读/写访问非常大的数据。

  • 请参阅  安装HBase的  了解有关使用HBase的与MAPR
  • 请参阅  设置压缩与HBase的  信息有关压缩HFILE存储
  • 请参阅  运行MapReduce作业与HBase的  了解有关使用MapReduce的与HBase的
  • 见  HBase的最佳实践  为HBase的技巧和窍门

HBase的安装

哪些节点应该运行HBase的主人服务,以及哪些节点计划应运行HBase的RegionServer。至少一个节点(通常是三个节点)应该运行HBase的主,例如,在动物园管理员节点上安装HBase的主人。只有少数剩余节点或所有剩余的节点可以运行HBase的RegionServer。当你在也运行TaskTracker必须的节点上安装HBase的RegionServer,减少地图的数量,降低槽,以免超额预订机。以下过程使用的操作系统软件包管理器,从MAPR存储库下载安装。要手动安装软件包,请参阅  准备包和存储库。

图标

使用Java 7与HBase的,设置的值JAVA_HOME属性中的/ opt / MAPR / conf /中env.sh到Java 7 JVM的位置。请注意,这一变化将导致所有其他Hadoop和MAPR Java的守护进程,并使用指定的JVM代码。

目前支持的版本的HBase

下表显示了HBase的版本和MAPR分布的Hadoop版本之间的兼容性。

HBase的版本
MAPR版本
0.90.x1.2.90.92.x1.2.x版本,2.x中,3.0.00.94.x1.2.x版本,2.x中,3.0.0,3.0.10.94.121.2.x版本,2.x中,3.x的

要在Ubuntu的群集上安装HBase的:

  1. 执行以下命令以    或使用  sudo的
  2. 此过程是将一个MAPR集群上执行。如果你还没有安装MAPR,看到  高级安装主题。
  3. 更新可用软件包列表:

    apt-get的更新
  4. 在每个计划HBase的主节点,安装  MAPR-HBase的主站

    apt-get的安装MAPR-HBase的主
  5. 在每个计划的HBase RegionServer节点,安装  MAPR-HBase的,regionserver

    apt-get的安装MAPR-HBase的,regionserver
  6. 在所有HBase的节点,执行  configure.sh  与CLDB节点和动物园管理员节点集群中的列表。
  7. 监狱长拿起新的配置,并自动启动新的服务。如果方便的话,请重新启动监狱长:

    #服务MAPR-监狱长站
    #服务MAPR-监狱长开始

到Red Hat或CentOS的群集上安装HBase的:

  1. 执行以下命令以    或使用  sudo的
  2. 在每个计划HBase的主节点,安装  MAPR-HBase的主站

    yum的安装MAPR-HBase的主
  3. 在每个计划的HBase RegionServer节点,安装  MAPR-HBase的,regionserver

    yum的安装MAPR-HBase的,regionserver
  4. 在所有的HBase的节点上,运行  configure.sh  与CLDB节点和节点的ZooKeeper集群中的列表脚本。
  5. 监狱长拿起新的配置,并自动启动新的服务。如果方便的话,请重新启动监狱长:

    #服务MAPR-监狱长站
    #服务MAPR-监狱长开始

在客户端上安装HBase的

若要从一台机器的集群外使用HBase的shell,你可以在运行MAPR客户端的计算机上安装HBase的。对于MAPR客户端安装说明,请参阅  设置客户。

前提条件:

  • 必须安装MAPR客户端
  • 你必须知道的群集上的动物园管理员节点的IP地址或主机名

要在客户端计算机上安装HBase的:

  1. 执行以下命令以    或使用  sudo的
  2. 在客户端计算机上,安装  MAPR-HBase的内部
    • 的CentOS或Red Hat:  yum的安装MAPR-HBase的内部
    • Ubuntu的:  apt-get的安装MAPR-HBase的内部
  3. 在所有HBase的节点,执行  configure.sh  与CLDB节点和动物园管理员节点集群中的列表。
  4. 编辑  的HBase-site.xml中,设置  hbase.zookeeper.quorum  属性包含一个逗号分隔的你将与工作在集群上的动物园管理员节点的IP地址或主机名列表。例如:

    的<p​​roperty>
        <NAME> hbase.zookeeper.quorum </名称>
        值<value> 10.10 25.10 10.10 25.11 10.10 25.13 </值>
    </财产>

 开始使用HBase的

在本教程中,我们将在群集上创建的HBase表,输入一些数据,查询该表,然后清理数据并退出。

HBase的表是由列组织的,而不是按行。此外,该列被安排在称为组列族。当创建一个HBase的表,则必须插入任何数据之前定义的列族。列族不应该经常改变,也不应该有太多了,所以要仔细想想列族将是有用的为您的特定数据是非常重要的。每一列的家庭,但是,可以包含一个非常大的列数。列所使用的格式命名预选赛:家庭

不同于列在关系数据库中,其中保留为没有值的列空,HBase的列根本就不是他们有没有值的行存在。这不仅节省了空间,而且意味着不同的行不必有相同的列,你可以使用任何列你需要在每一行的基础数据。

在HBase的创建一个表:

  1. 启动HBase的外壳通过键入以下命令:

    / opt/mapr/hbase/hbase- 0.94 12 /斌/ HBase的壳
  2. 创建一个名为表博客有一列家族命名的统计

    创建'博客' '统计'
  3. 检查表的创建,列出一切:

  4. 测试值添加到日常在列统计列家族的第1行:

    '博客' 'ROW1' '统计:每天' '测试日用值'
  5. 测试值添加到每周在列统计列家族的第1行:

    '博客' 'ROW1' '统计:周' '测试每周价值'
  6. 测试值添加到每周在列统计列家族的第2行:

    '博客' 'ROW2' '统计:周' '测试每周价值'
  7. 输入扫描“博客”,以显示表的内容。示例输出:

    行列+电池
     ROW1列=统计:每天,时间戳= 1321296699190 ,值=测试日用值
     ROW1列=统计:每周一次,时间戳记= 1321296715892 ,值=测试每周价值
     在row2列=统计:每周一次,时间戳记= 1321296787444 ,值=测试每周价值
    行中(S)0.0440 
  8. 类型得到'博客','ROW1'显示第1行的内容。示例输出:

    列单元格
     统计:每天时间戳= 1321296699190 ,值=测试日用值
     统计:每周时间戳= 1321296715892 ,值=测试每周价值
    行中(S)0.0330 
  9. 输入禁用'博客'禁用表。
  10. 键入降'博客'来删除该表并删除所有数据。
  11. 键入退出,退出HBase的外壳。

设置压缩与HBase的

使用压缩与HBase的减少通过网络传输并存储在磁盘上的字节数。这些好处往往大于压缩在每次写入数据,并在每一个读解压缩它的性能开销。

Gzip压缩

Gzip压缩包含在大多数Linux发行版,并与HBase的作品本身。使用gzip压缩,在每列族压缩标志指定它同时创造在HBase的壳表。例如:

创建'mytable的' ,{NAME => 'colfam:' ,压缩=> '广州' }

LZO压缩

基于Lempel-谢夫-Oberhumer(LZO)是一种无损数据压缩算法,包括在大多数的Linux发行版,这是专为解压速度。

设置LZO压缩与HBase的使用:

  1. 确保HBase的安装在您打算运行的节点上。请参阅  规划部署  和  安装MAPR软件  的更多信息。
  2. 在每个HBase的节点,请确保安装了本地LZO基库:
    • 在Ubuntu:  apt-get的安装liblzo2-dev的liblzo2
    • 在Red Hat或CentOS:  yum的安装LZO-发育LZO
  3. 退房的原生接口库从  http://svn.codespot.com/a/apache-extras.org/hadoop-gpl-compression/
    • 对于0.20.2检查出branches/branch-0.1

      SVN检出的http:/ / svn.codespot.com/a/apache-extras.org/hadoop-gpl-compression/branches/branch-0.1 /
  4. 设置编译器标志,并建立本地连接库:

    $出口CFLAGS = “-M64”
    $蚂蚁编译原生
    $蚂蚁罐子
  5. 创建的本地库(使用TAB键完成,填补了<VERSION>占位符)的目录:

    MKDIR-P / opt/mapr/hbase/hbase- <VERSION> / lib中/ 本地/ Linux的AMD64- 64 /
  6. 构建结果复制到HBase的每个节点上适当的HBase的目录。例如:

    $ CP构建/ 本地/ Linux的AMD64- 64 / lib中/ libgplcompression。* / opt/mapr/hbase/hbase- <VERSION> / lib中/ 本地/ Linux的AMD64- 64 /
  7. 从下载的hadoop-LZO压缩库  https://github.com/twitter/hadoop-lzo。
  8. 下创建一个符号链接  / opt/mapr/hbase/hbase- <VERSION> / lib/native/Linux-amd64-64 /  指向
    • 在Ubuntu:

      LN-S / usr/lib/x86_64-linux-gnu/liblzo2.so。/ opt/mapr/hbase/hbase- <VERSION> / lib中/ 本地/ Linux的AMD64- 64 /
    • 在Red Hat或CentOS:

      LN-S / usr/lib64/liblzo2.so。/ opt/mapr/hbase/hbase- <VERSION> / lib中/ 本地/ Linux的AMD64- 64 / liblzo2.so。2
  9. 重启RegionServer:

    maprcli节点服务,hbregionserver
    重新启动节点<HOSTNAME>

一旦LZO设置,你可以在每列族压缩标志指定它同时创造在HBase的壳表。例如:

创建'mytable的' ,{NAME => 'colfam:' ,压缩=> 'LZO' }

活泼的压缩

这个短小精悍的压缩算法进行了速度优化了压缩。活泼的,不包含在核心MAPR分布,而你将要兴建的清脆库使用这个压缩算法。

设置清脆的压缩与HBase的使用

  1. 在集群中的一个节点,下载,编译和安装从清脆  的项目页面:

    #wget的HTTP:/ / snappy.googlecode.com/files/snappy-1.1.1.tar.gz
    #焦油xvf命令清脆- 1.1 。tar.gz的
    #CD清脆- 1.1 1
    #。/配置
    #使
    #须藤使安装
  2. 复制文件从  在/ usr / local / lib目录/ libsnappy *  到  <HADOOP_HOME> / lib/native/Linux-amd64-64 /  在集群中的所有节点目录。
  3. 在已安装的TaskTracker必须服务的所有节点,重新启动TaskTracker必须与  maprcli  节点服务  nodes>的,TaskTracker必须重启节点<list  命令。

 运行MapReduce作业与HBase的

要运行MapReduce作业存储在HBase的数据,设置环境变量  HADOOP_CLASSPATH  到的输出  HBase的类路径  命令(使用TAB键完成,填补了  <VERSION>  占位符):

$出口HADOOP_CLASSPATH =`/ opt/mapr/hbase/hbase- <VERSION> /斌/ HBase的类路径`

注意反引号(`)。

例如:导出的表名为t1与MapReduce的

注:在上一个MAPR群集中的节点,输出目录/ hbase/export_t1将设在MAPR Hadoop的文件系统,所以要列出使用下面例子中的输出文件的从节点的命令行下的hadoop fs的命令:

#hadoop的FS-LS / hbase/export_t1

要查看输出:

#hadoop的FS-CAT / hbase/export_t1/part-m-00000

#CD / opt/mapr/hadoop/hadoop- 0.20 2
#出口HADOOP_CLASSPATH = '/ opt/mapr/hbase/hbase-0.94.12/bin/hbase类路径'
#。/ bin中/的hadoop的jar / opt/mapr/hbase/hbase- 0.94 12 / HBase的- 0.94 12 。罐出口的t1 / hbase/export_t1
11 09 28 09 35 11 信息mapreduce.Export:verisons = ,STARTTIME = 
结束时间= 9223372036854775807
11 09 28 09 35 11 信息fs.JobTrackerWatcher:当前运行的JobTracker的是:
嘉黎-ubuntu的/ 10.250 1.91 9001
11 09 28 09 35 12 信息mapred.JobClient:正在运行的作业:job_201109280920_0003
11 09 28 09 35 13 信息mapred.JobClient:地图%减少
11 09 28 09 35 19 信息mapred.JobClient:作业完成:job_201109280920_0003
11 09 28 09 35 19 信息mapred.JobClient:计数器:15
11 09 28 09 35 19 信息mapred.JobClient:招聘计数器
11 09 28 09 35 19 信息mapred.JobClient:的总执行时间
映射器(MS)= 3259
11 09 28 09 35 19 信息mapred.JobClient:所有花费的总时间减少
预留槽后等待(毫秒)= 0
11 09 28 09 35 19 信息mapred.JobClient:所有地图花费的总时间
预留槽后等待(毫秒)= 0
11 09 28 09 35 19 信息mapred.JobClient:推出map任务= 1
11 09 28 09 35 19 信息mapred.JobClient:数据本地地图任务= 1
11 09 28 09 35 19 信息mapred.JobClient:的总执行时间
减速器(毫秒)= 0
11 09 28 09 35 19 信息mapred.JobClient:FileSystemCounters
11 09 28 09 35 19 信息mapred.JobClient:FILE_BYTES_WRITTEN = 61319
11 09 28 09 35 19 信息mapred.JobClient:的Map-Reduce框架
11 09 28 09 35 19 信息mapred.JobClient:地图输入 ​​记录= 5
11 09 28 09 35 19 信息mapred.JobClient:PHYSICAL_MEMORY_BYTES = 107991040
11 09 28 09 35 19 信息mapred.JobClient:溢出的记录= 0
11 09 28 09 35 19 信息mapred.JobClient:CPU_MILLISECONDS = 780
11 09 28 09 35 19 信息mapred.JobClient:VIRTUAL_MEMORY_BYTES = 759836672
11 09 28 09 35 19 信息mapred.JobClient:地图输出记录= 5
11 09 28 09 35 19 信息mapred.JobClient:SPLIT_RAW_BYTES = 63
11 09 28 09 35 19 信息mapred.JobClient:GC经过的时间(毫秒)= 35

HBase的最佳实践

  • HBase的预写日志(WAL)写道许多微小的记录,并压缩它会导致大量的CPU负载。使用HBase的之前,请关闭MAPR压缩目录中的HBase的体积(通常安装在  / HBase的例子:

    hadoop的MFS-setcompression关闭/ HBase的
  • 您可以检查压缩是否被关闭在一个目录或安装的卷使用  Hadoop的MFS  列出该文件的内容。例如:

    hadoop的MFS-LS / HBase的

    信  Ž  在输出表示压缩被接通;信  ü  表示压缩是关 ​​闭的。看到  hadoop的MFS  获取更多信息。

  • 在计划同时运行HBase的和MapReduce,在文件服务器提供更多的内存比到RegionServer,这样的节点都可以处理高吞吐量的任何节点。例如,24 GB的物理内存的节点上,它可能是可取的RegionServer限制为4 GB,给予10 GB到MAPR-FS,给剩下的人TaskTracker必须。要更改分配给每个服务的存储,编辑 /选择/ MAPR / conf /中warden.conf  文件。见  调整您的MAPR安装  的更多信息。
  • 您可以启动和停止HBase的一样的MAPR其他服务。例如,使用下面的命令来关闭HBase的跨集群:

    RegionServer nodes>的maprcli节点服务 - hbregionserver停止节点<list
    HBase的主nodes>的maprcli节点服务 - hbmaster停止节点<list
0 0
原创粉丝点击