热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iServer集成HBase操作说明

HBase是一款建立在Hadoop文件系统之上的开源的分布式面向列的数据库,采用横向扩展架构。HBase是一个数据模型,类似于谷歌的大表设计࿰

       HBase是一款建立在Hadoop文件系统之上的开源的分布式面向列的数据库,采用横向扩展架构。HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据,并利用了Hadoop的文件系统(HDFS)提供的容错能力。HBase作为Hadoop文件系统的一部分,提供了对数据的随机实时读/写访问。人们可以通过HBase对大数据进行随机,实时读/写访问。
       本文将带领您搭建一个HBase集群系统,并将已搭建好的HBase集群注册到iServer中。

目录

  • 1 搭建HBase集群
    • 1.1.配置设备
    • 1.2.安装JDK
    • 1.3.配置SSH及免密码登陆
    • 1.4.安装Hadoop
    • 1.5.安装zookeeper
    • 1.6.安装HBase
  • 2 iServer如何使用HBase集群


1 搭建HBase集群

1.1.配置设备

准备3台虚拟机,安装ubuntu-15.10操作系统,一台作为集群的主节点(master),其余两台作为工作节点(worker),本例使用的三台设备的IP分别为:
       master:192.168.13.105
       worker1:192.168.13.52
       worker2:192.168.13.199
依照上述内容在三台虚拟机上分别配置hosts:
       192.168.13.105 master
       192.168.13.52 worker1
       192.168.13.199 worker2

1.2.安装JDK

在每台设备中安装JDK,下载地址为https://www.oracle.com/technetwork/java/javase/downloads/index.html。本文将带领您安装jdk-8u111-linux-x64.tar.gz,步骤如下:

  1. 解压tar -zxvf jdk-8u111-linux-x64.tar.gz
  2. 移动到指定目录(可选):
    mkdir /usr/lib/jdk
    mv jdk1.8.0_111 /usr/lib/jdk/jdk1.8
  3. 设置环境变量:
    方法一:修改全局配置文件,可作用于所有用户,输入如下命令打开全局配置文件:
    vi /etc/profile
    输入以下内容:
    export JAVA_HOME=/usr/lib/jdk/jdk1.8
    export CLASSPATH=.: $ {JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=.: $ {JAVA_HOME}/bin:$PATH
    方法二:修改当前用户配置文件,只作用于当前用户,输入如下命令开始编辑:
    vi ~/.bashrc
    输入的内容同上。
  4. 使修改的配置立刻生效:
    source /etc/profile

    source ~/.bashrc
  5. 输入版本查看命令,即可检查是否安装成功:
    java -version

1.3.配置SSH及免密码登陆


  1. 在etc/hostname中配置各节点自己的hostname,并将各节点的IP和hostname添加到各节点的etc/hosts文件中。
  2. 配置免密登录
    分别在master和worker上执行:
    ssh-keygen -t rsa -P
    其中,-P表示密码,选填,默认需要三次回车。
    执行完命令后,在/home/hdfs/.ssh目录下生成如下两个文件:
    id_rsa:私钥文件
    id_rsa.pub:公钥文件
    分别在master和worker上执行以下命令
    ssh-copy-id -i /home/hdfs/.ssh/id_rsa.pub [ip] (自己的ip)
    其中,当在master节点上还需执行
    ssh-copy-id -i /home/hdfs/.ssh/id_rsa.pub ip(worker的ip)
    在master和worker上执行如下命令,验证配置是否成功:
    ssh worker/master

1.4.安装Hadoop


  1. 在master节点中安装Hadoop。获取Hadoop的地址:http://archive.apache.org/dist/hadoop/core/ 解压。本文将Hadoop解压至/home/Hbase/hadoop-2.7.3,接下来用./代替根目录,您可根据实际情况进行调整。

  2. 在hadoop-2.7.3文件夹里面新建4个文件夹,分别为:
    ./nfs
    ./tmp
    ./nfs/name
    ./nfs/data

  3. 配置 hadoop
    先进入配置文件的路径,例如:./etc/hadoop
    输入ls命令查看该路径下的文件列表
    在这里插入图片描述
    红框中的文件是需要配置的文件。
    a) 首先配置core-site.xml文件。输入如下命令开始编辑:
    vi core-site.xml
    编辑内容如图:
    在这里插入图片描述
    注意:hadoop.tmp.dir属性中的value和步骤1中创建的./tmp路径要一致。
    b) 配置 hadoop-env.sh文件,输入如下命令开始编辑:
    vi hadoop-env .sh
    在这里插入图片描述
    将JAVA_HOME文件配置为本机JAVA_HOME路径
    c) 配置 yarn-env .sh,输入如下命令开始编辑:
    vi yarn-env .sh
    在这里插入图片描述
    将其中的JAVA_HOME修改为本机JAVA_HOME路径(先把这一行的#去掉)
    d) 配置hdfs-site.xml,输入如下命令开始编辑:
    vi hdfs-site.xml
    在configuration标签中加入以下代码
    在这里插入图片描述
    注意:其中dfs.namenode.name.dir和dfs.datanode.data.dir的value和步骤1创建的./nfs/name和./nfs/data需一致;因为这里只有两个子节点,所以dfs.replication设置为2

  4. 复制mapred-site.xml.template文件,并命名为mapred-site.xml:
    cp mapred-site.xml.template mapred-site.xml

  5. 编辑mapred-site.xml:
    vi mapred-site.xml
    在标签configuration标签中添加以下代码
    在这里插入图片描述

  6. 配置yarn-site.xml:
    vi yarn-site.xml
    在configuration标签中添加以下代码
    在这里插入图片描述

  7. 配置slaves文件:
    vi slaves
    在这里插入图片描述
    把原本的localhost删掉,改为两个子节点的主机名

  8. 配置masters文件:
    vi masters
    在这里插入图片描述
    改为主节点的主机名

  9. 配置hadoop的环境变量,同JDK类似。首先编辑配置文件:
    vi /etc/profile
    在这里插入图片描述
    键入命令 source /etc/profile 使配置立即生效

  10. 接下来,将hadoop传到worker1和worker2节点中的相同目录中:
    scp -r hadoop-2.7.3 root@worker1: /home/hbase/hadoop-2.7.3
    scp -r hadoop-2.7.3 root@worker1: /home/hbase/ hadoop-2.7.3
    注意:root是虚拟机的用户名,创建worker1和worker2时设定的
    传过去后,在worker1和worker2上面同样对hadoop进行路径配置,和步骤10一样

  11. 初始化hadoop
    [root@master bin]$ ./hadoop namenode –format

  12. 开启hadoop
    [root@master sbin]$ ./start-dfs.sh
    [root@master sbin]$ ./start-yarn.sh

  13. 验证集群是否搭建成功
    在mater上面键入jps后,显示如下:
    在这里插入图片描述
    在worker1和worker2节点中键入jps后,显示如下:
    在这里插入图片描述
    则说明集群搭建成功。
    最后,通过访问主节点的IP:http://192.168.13.105:50070,出现以下界面,hadoop集群搭建成功:
    在这里插入图片描述

  14. 创建HBase目录
    在hadoop集群下新建/hbase目录(用于Hbase集群创建)
    hadoop fs –mkdir /hbase
    通过点击Browse the file system查看
    在这里插入图片描述
    如果不能创建,报连接失败,请仔细检查./conf/hdfs-site.xml和/etc/hosts文件是否有配置多余的连接路径。


1.5.安装zookeeper

ZooKeeper是一个为分布式应用提供一致性服务的软件,是Hadoop和Hbase的重要组件。其架构图如下:
在这里插入图片描述
其中,follower负责响应读请求,leader负责提交写请求
Zookeeper安装步骤如下:

  1. 下载zookeeper并解压,本文解压目录:/home/hbase
    tar -zxvf zookeeper-3.4.10.tar.gz
    增加文件权限:
    chmod +wxr zookeeper-3.4.10

  2. 修改zookeeper的配置文件,并建立数据目录和日志目录(根目录:/home/hbase)
    cd zookeeper-3.4.10
    mkdir data
    mkdir logs
    注意:在./ zookeeper-3.4.10/conf/目录下将zoo_sample.cfg重命名为zoo.cfg(只能存在一个)
    a) 编辑重命名后的zoo.cfg文件
    vi conf/zoo.cfg
    编辑内容如下:
    在这里插入图片描述
    b) 进入data目录,编辑myid
    cd data
    vi myid
    在这里插入图片描述
    与zoo.cfg文件保持一致(server.1)

  3. 复制master的zookeeper-3.4.10到worker1和worker2上:
    scp -r zookeeper-3.4.10 root@worker1:/home/hbase/zookeeper-3.4.10
    scp -r zookeeper-3.4.10 root@worker2:/home/hbase/zookeeper-3.4.10

  4. 分别修改worker1和worker2上myid的值为2和3
    vi myid

  5. 分别启动master、worker1和worker2上的zookeeper
    [root@master zookeeper-3.4.10]$ bin/zkServer.sh start
    [root@worker1 zookeeper-3.4.10]$ bin/zkServer.sh start
    [root@worker2 zookeeper-3.4.10]$ bin/zkServer.sh start

  6. 查看zookeeper的状态
    在这里插入图片描述

  7. 验证zookeeper集群
    [root@master zookeeper-3.4.10]$ bin/zkCli.sh -server c7003:2181
    当出现Welcome to ZooKeeper! 时,则表示zookeeper集群安装完毕!
    其他注意事项:
    文件权限保持一致
    关闭防火墙
    小心2181默认端口被占用问题
    zookeeper.out日志文件位置:安装路径根目录下
    重启服务之前清空./data目录下除myid外的其他文件


1.6.安装HBase


  1. 解压缩hbase的软件包,本文解压目录为:/home/hbase,使用命令:
    tar -zxvf hbase-1.3.0-bin.tar.gz
  2. 配置环境变量
    vi /etc/profile
    输入如下内容:
    在这里插入图片描述
    输入命令source /etc/profile,使之立即生效
  3. 进入hbase的配置目录,修改hbase-env.sh文件(路径:./hbase-1.3.1/conf)
    在这里插入图片描述
    在./hbase-1.3.1下新建pids目录
  4. 编辑hbase-site.xml ,添加配置文件:
    vi hbase-site.xml
    在这里插入图片描述
    其中:
    hbase.rootdir的value对应在hadoop集群创建的/hbase目录
    hbase.zookeeper.quorum的value对应zookeeper集群的三个节点ip/主机名
    hbase.zookeeper.property.dataDir的value对应zookeeper根目录下data目录(5小节步骤2)
  5. 编辑配置目录下面的文件regionservers. 命令:
    vi regionservers
    删除localhost,加入如下内容:
    worker1
    worker2
  6. 把HBase复制到其他机器,命令如下:(在/home/hbase目录下)
    scp -r hbase-1.3.1 root@worker1:/home/hbase/ hbase-1.3.1
    scp -r hbase-1.3.1 root@worker2:/home/hbase/ hbase-1.3.1
  7. 在master机器开启hbase服务。命令如下:
    [root@master hbase-1.3.1]$ bin/start-hbase.sh
    在master、worker1、worker2中的任意一台机器使用bin/hbase shell 进入hbase自带的shell环境,然后使用命令version等,进行查看hbase信息及建立表等操作。
    通过访问http://192.168.13.105:16010,出现以下界面,HBase集群搭建成功:
    在这里插入图片描述

2 iServer如何使用HBase集群
  1. 配置iServer所在机器的hosts文件,添加HBase集群主机的ip和端口,本例为:
    192.168.13.105 master
    192.168.13.52 worker1
    192.168.13.199 worker2

  2. 下载geomesa-hbase-distributed-runtime_2.11-2.0.2.jar,并部署到HBase集群安装目录./lib下,重启HBase集群,下载地址:
    https://mvnrepository.com/artifact/org.locationtech.geomesa/geomesa-hbase-distributed-runtime_2.11/2.0.2

  3. 解压iServer包,注册HBase数据库且所注册的hbase数据库允许编辑。注册成功后如下图所示:
    在这里插入图片描述

  4. 将数据导入到hbase中。首先,需要配置分布式分析(配置步骤参考https://blog.csdn.net/supermapsupport/article/details/81740689),使用数据拷贝功能,将数据导入到HBase中。导入成功后如下图所示:
    在这里插入图片描述
    同时导入成功后,可在数据目录服务的数据集列表中查看导入的数据集信息
    在这里插入图片描述

  5. 发布hbase中的数据为iServer 服务。选择快速发布->HBase服务->填写服务地址、数据库地址->下一步->选择要发布的服务
    在这里插入图片描述

  6. 如果发布hbase中的数据为地图服务,则还需配置地图style
    在这里插入图片描述
    a) iServer提供了默认的style.json文件。内置的风格文件为【iServer安装目录】/webapps/iserver/WEB-INF/config/mapboxstyles/defaultstyle.json文件。
    b) 您可以指定自定义的style.json文件。当前可以通过桌面生成相应的style文件。具体如下:在iDesktop打开工作空间,点击地图,选择需要配置style的图层,右键“生成地图瓦片(单任务)”,选择合适的地图比例尺,瓦片类型选择“矢量瓦片”,选择存储路径(本例F:\wangyd\data\2015su\),点击确定。完成后,在存储路径./styles下找到style.json文件
    在这里插入图片描述


推荐阅读
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 如何配置VisualSVN以确保提交时必须填写日志信息
    在软件开发团队中,成员们有时会忘记在提交代码时添加必要的备注信息。为了规范这一流程,可以通过配置VisualSVN来强制要求团队成员在提交文件时填写日志信息。本文将详细介绍如何设置这一功能。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
author-avatar
偏偏喜欢你_Jerry_207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有