栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Centos7(linux)下hbase的伪分布式搭建以及eclipse远程连接

Centos7(linux)下hbase的伪分布式搭建以及eclipse远程连接

本博客是在VMware15.5pro、hadoop-2.7.5、jdk1.8.0、hbase-1.2.10,下进行的

hbase-1.2.10-bin.tar.gz下载地址:Index of /dist/hbase

怎样下载,同志们可以百度,这里不加以赘述。(这里不懂一些基础命令的可以参考之前的博客,这个与hadoop伪分布式的搭建类似)

(12条消息) hadoop的伪分布环境搭建(hadoop-2.7.5)_qq_45672631的博客-CSDN博客

下载好hbase-1.2.10-bin.tar.gz,利用Xftp(或其他文件传送工具),将其传送至/usr/local/tmp(tmp是我自己创建的一个临时文件夹,用来存放这些压缩包,与临时文件)

在当前目录下通过命令

tar -zxf hbase-1.2.10-bin.tar.gz

进行解压

然后通过命令(../后面可以跟已有文件夹名,如果没有认为是重命名)

mv hbase-1.2.10  ../hbase

移动到/usr/local 下

配置环境变量

vim /etc/profile

Hbase_HOME后面跟hbase的安装路径

 重启配置服务

source /etc/profile

然后查看版本号

hbase version

 开始配置hbase伪分布式(这里只需要配置两个文件(在conf下),然后将hadoop/etc/hadoop下的core-site.xml与hdfs-site.xml复制到conf下)

cp core-site.xml ../../../hbase/conf

cp hdfs-site.cml ../../../hbase/conf

这里../,表示当前主体文件所要复制到目的地的层数(我这里的hadoop,与hbase是在同一路径下的(/usr/local)core-site.xml与hdfs-site.xml文件是在hadoop/etc/hadoop下的所以这里先回到local下,然后找hbase下的conf),在GUI版的可以直接鼠标操作,不在赘述。

 编辑hbase-env.sh

vim hbase-env.sh

按i进入编辑模式,用方向键下移到26行,将27行修改,并添加(按下图,第一个声明jdk路径,第二个声明使用hbase内置的zookeeper)ESC退出编辑模式

:wq保存并退出。

2.编辑hbase-site.xml文件

命令

vim hbase-site.xml

第一个标签按照你的hadoop的core-site.xml 文件来配置(端口号后面加上/hbase)。

第二个标签指定hbase是否为伪分布式。

配置完成退出

 启动hadoop、hbase(这里不需要yarn,在hadoop配置过免密登录的这里就不用配置)

命令

start-dfs.sh

start-hbase.sh

通过主机名(ip):16010访问hbase

lcy-1:16010

 Hbase的安装、配置与实践 - 顾北清歌寒。 - 博客园 (cnblogs.com)

根据上面的博客熟悉hbase shell命令(这里不在演示,而是运行该博客的一个实例) 

1.linux上的eclipse本地连接hbase

这个hbase依附于hadoop,只要之前hadoop,在eclipse上创建的连接没问题就行(hdfs中会多一个hbase的文件夹)。

 创建一个Java Project(java的项目)File->New->Project(选择Java Project)点击Next

Java Project (Project name(随便创),选择JRE旁的J2SE-1.5(点击那个倒三角符号选择J2SE-1.5))。

 外部导入jar包(右击工程,Build Path->configure Build Path)

 将hbase的lib下的jar全部导入Liberaries。

 点击上图右边的 Add Extermal JARs...。(注意是全部的jar)

 点击Apply and Colse

在src下创建一个java包 (右击Project,New->Package,名字任取),然后在Java包下创建一个java类(右击java包,New->Class,名字任取)。

将上述博客中的代码copy一下(注意主类名与包名,建议分开复制(避免修改主类名,与java包名))。

同样,也需要将log4j.properties搞到src下。

 在代码没问题后,需要修改源代码中创建连接的一个地方(修改成自己的主机名(ip),按照hbase-site.xml文件)。

 然后按照主类中的注释开始运行代码

 a.创建一个表,表名为Score,列族为sname,course

b.在Score表中插入一条数据,其行键为95001,sname为Mary(因为sname列族下没有子列所以第四个参数为空) 

c.在Score表中插入一条数据,其行键为95001,course:Math为88(course为列族,Math为course下的子列)

d.在Score表中插入一条数据,其行键为95001,course:English为85(course为列族,English为course下的子列)

 e.删除Score表中指定列数据,其行键为95001,列族为course,列为Math

f.删除Score表中指定列族数据,其行键为95001,列族为course(95001的Math和English的值都会被删除)

g .删除Score表

 这里删除就将指定的内容删掉了(原博客也只是介绍不同的写法),这个实例遇到的问题则是在连接上。

 2.windows上的eclipse远程连接hbase

 同理,在windows上建立远程连接,将有可能遇到一个问题(这里,老方法,将linux上的hbase拷到windows上,导入jar包时就能(也可以试试自己将lib解压使用,因为之前一直报错,我以为是,hbase不完整,后面发现在windows上创建连接需要修改原博客中的代码(创建连接哪里)))

 按照下图添加(如果仔细观察代码运行时控制台会先连接zookeeper端口就是2181)

 之前我以为是用户(ASUS)的问题(在GUI上的这里显示的root用户,所以我感觉是不是hbase不完整(因为之前导入jar时我只解压了lib,当时直接百度这个问题,当时说修改conf.set(一时没反应过来,我以为是hbase中的配置文件,没找到就忽略了,害!)))

 这个问题代码运行时会一直去连接zookeeper,时间也挺长,代码运行时很快的。(看到create table success)

 这里的是配置了一个基于服务开发的linux(centos)

 

 后面的就不再操作了。本篇博客中,有些命令的操作并没有加以强调(到这里,其实也差不多了,也挺详细的,毕竟都到这步了,那些什么ls这类的也没必要),GUI的配置也和这个一样。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号