本文主要是介绍iServer集成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,步骤如下:
- 解压tar -zxvf jdk-8u111-linux-x64.tar.gz
- 移动到指定目录(可选):
mkdir /usr/lib/jdk
mv jdk1.8.0_111 /usr/lib/jdk/jdk1.8 - 设置环境变量:
方法一:修改全局配置文件,可作用于所有用户,输入如下命令打开全局配置文件:
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
输入的内容同上。 - 使修改的配置立刻生效:
source /etc/profile
或
source ~/.bashrc - 输入版本查看命令,即可检查是否安装成功:
java -version
1.3.配置SSH及免密码登陆
- 在etc/hostname中配置各节点自己的hostname,并将各节点的IP和hostname添加到各节点的etc/hosts文件中。
- 配置免密登录
分别在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
-
在master节点中安装Hadoop。获取Hadoop的地址:http://archive.apache.org/dist/hadoop/core/ 解压。本文将Hadoop解压至/home/Hbase/hadoop-2.7.3,接下来用./代替根目录,您可根据实际情况进行调整。
-
在hadoop-2.7.3文件夹里面新建4个文件夹,分别为:
./nfs
./tmp
./nfs/name
./nfs/data -
配置 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 -
复制mapred-site.xml.template文件,并命名为mapred-site.xml:
cp mapred-site.xml.template mapred-site.xml -
编辑mapred-site.xml:
vi mapred-site.xml
在标签configuration标签中添加以下代码
-
配置yarn-site.xml:
vi yarn-site.xml
在configuration标签中添加以下代码
-
配置slaves文件:
vi slaves
把原本的localhost删掉,改为两个子节点的主机名 -
配置masters文件:
vi masters
改为主节点的主机名 -
配置hadoop的环境变量,同JDK类似。首先编辑配置文件:
vi /etc/profile
键入命令 source /etc/profile 使配置立即生效 -
接下来,将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一样 -
初始化hadoop
[root@master bin]$ ./hadoop namenode –format -
开启hadoop
[root@master sbin]$ ./start-dfs.sh
[root@master sbin]$ ./start-yarn.sh -
验证集群是否搭建成功
在mater上面键入jps后,显示如下:
在worker1和worker2节点中键入jps后,显示如下:
则说明集群搭建成功。
最后,通过访问主节点的IP:http://192.168.13.105:50070,出现以下界面,hadoop集群搭建成功:
-
创建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安装步骤如下:
-
下载zookeeper并解压,本文解压目录:/home/hbase
tar -zxvf zookeeper-3.4.10.tar.gz
增加文件权限:
chmod +wxr zookeeper-3.4.10 -
修改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) -
复制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 -
分别修改worker1和worker2上myid的值为2和3
vi myid -
分别启动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 -
查看zookeeper的状态
-
验证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
- 解压缩hbase的软件包,本文解压目录为:/home/hbase,使用命令:
tar -zxvf hbase-1.3.0-bin.tar.gz - 配置环境变量
vi /etc/profile
输入如下内容:
输入命令source /etc/profile,使之立即生效 - 进入hbase的配置目录,修改hbase-env.sh文件(路径:./hbase-1.3.1/conf)
在./hbase-1.3.1下新建pids目录 - 编辑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) - 编辑配置目录下面的文件regionservers. 命令:
vi regionservers
删除localhost,加入如下内容:
worker1
worker2 - 把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 - 在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集群
-
配置iServer所在机器的hosts文件,添加HBase集群主机的ip和端口,本例为:
192.168.13.105 master
192.168.13.52 worker1
192.168.13.199 worker2 -
下载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 -
解压iServer包,注册HBase数据库且所注册的hbase数据库允许编辑。注册成功后如下图所示:
-
将数据导入到hbase中。首先,需要配置分布式分析(配置步骤参考https://blog.csdn.net/supermapsupport/article/details/81740689),使用数据拷贝功能,将数据导入到HBase中。导入成功后如下图所示:
同时导入成功后,可在数据目录服务的数据集列表中查看导入的数据集信息
-
发布hbase中的数据为iServer 服务。选择快速发布->HBase服务->填写服务地址、数据库地址->下一步->选择要发布的服务
-
如果发布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文件
这篇关于iServer集成HBase操作说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!