hadoop和hbase分布式配置及整合eclipse开发

合集下载

Hadoop搭建与Eclipse开发环境设置

Hadoop搭建与Eclipse开发环境设置

hadoop搭建与eclipse开发环境设置――邵岩飞1.Ubuntu 安装安装ubuntu11.04 desktop系统。

如果是虚拟机的话,这个无所谓了,一般只需要配置两个分区就可以。

一个是\另一个是\HOME 文件格式就用ext4就行了。

如果是实机的话建议在分配出一个\SWAP分区。

如果嫌麻烦建议用wubi安装方式安装。

这个比较傻瓜一点。

2.Hadoop 安装hadoop下载到阿帕奇的官方网站下载就行,版本随意,不需要安装,只要解压到适当位置就行,我这里建议解压到$HOME\yourname里。

3.1 下载安装jdk1.6如果是Ubuntu10.10或以上版本是不需要装jdk的,因为这个系统内置openjdk63.2 下载解压hadoop不管是kubuntu还是ubuntu或者其他linux版本都可以通过图形化界面进行解压。

建议放到$HOME/youraccountname下并命名为hadoop.如果是刚从windows系统或者其它系统拷贝过来可能会遇到权限问题(不能写入)那么这就需要用以下命令来赋予权限。

sudo chown –R yourname:yourname [hadoop]例如我的就是:sudo chown –R dreamy:dreamy hadoop之后就要给它赋予修改权限,这就需要用到:sudo chmod +X hadoop3.3 修改系统环境配置文件切换为根用户。

●修改环境配置文件/etc/profile,加入:你的JAVA路径的说明:这里需要你找到JAVA的安装路径,如果是Ubuntu10.10或10.10以上版本,则应该在/usr/bin/java这个路径里,这个路径可能需要sudo加权限。

3.4 修改hadoop的配置文件●修改hadoop目录下的conf/hadoop-env.sh文件加入java的安装根路径:●把hadoop目录下的conf/core-site.xml文件修改成如下:<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property><name>hadoop.tmp.dir</name><value>/hadoop</value></property><property><name></name><value>hdfs://ubuntu:9000</value></property><property><name>dfs.hosts.exclude</name><value>excludes</value></property><property>●把hadoop目录下的conf/ hdfs-site.xml文件修改成如下:<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property><name>dfs.data.dir</name><value>/hadoop/data</value></property><property><name>dfs.replication</name><value>3</value></property></configuration>●把hadoop目录下的conf/ mapred-site.xml文件修改成如下:注意:别忘了hadoop.tmp.dir,.dir,dfs.data.dir参数,hadoop存放数据文件,名字空间等的目录,格式化分布式文件系统时会格式化这个目录。

eclipse hadoop开发环境配置

eclipse hadoop开发环境配置

eclipse hadoop开发环境配置win7下安装hadoop完成后,接下来就是eclipse hadoop开发环境配置了。

具体的操作如下:一、在eclipse下安装开发hadoop程序的插件安装这个插件很简单,haoop-0.20.2自带一个eclipse的插件,在hadoop目录下的contrib\eclipse-plugin\hadoop-0.20.2-eclipse-plugin.jar,把这个文件copy到eclipse的eclipse\plugins目录下,然后启动eclipse就算完成安装了。

这里说明一下,haoop-0.20.2自带的eclipse的插件只能安装在eclipse 3.3上才有反应,而在eclipse 3.7上运行hadoop程序是没有反应的,所以要针对eclipse 3.7重新编译插件。

另外简单的解决办法是下载第三方编译的eclipse插件,下载地址为:/p/hadoop-eclipse-plugin/downloads/list由于我用的是Hadoop-0.20.2,所以下载hadoop-0.20.3-dev-eclipse-plugin.jar.然后将hadoop-0.20.3-dev-eclipse-plugin.jar重命名为hadoop-0.20.2-eclipse-plugin.jar,把它copy到eclipse的eclipse\plugins目录下,然后启动eclipse完成安装。

安装成功之后的标志如图:1、在左边的project explorer 上头会有一个DFS locations的标志2、在windows -> preferences里面会多一个hadoop map/reduce的选项,选中这个选项,然后右边,把下载的hadoop根目录选中如果能看到以上两点说明安装成功了。

二、插件安装后,配置连接参数插件装完了,启动hadoop,然后就可以建一个hadoop连接了,就相当于eclipse里配置一个weblogic的连接。

Hadoop云计算基础架构的搭建和hbase和hive的整合应用

Hadoop云计算基础架构的搭建和hbase和hive的整合应用

Hadoop云计算基础架构的搭建和hbase和hive的整合应用谭洁清;毛锡军【摘要】本论文介绍一种常见的云计算分布式hadoop架构及其子项目分布式的hbase数据库和hive数据仓库,真实搭建一个hadoop云计算实验平台,并整合hbase和hive,通过创建数据表并验证实现了两数据库之间的访问,为以后的大规模的数据的存储,计算和应用创造基础.【期刊名称】《贵州科学》【年(卷),期】2013(031)005【总页数】4页(P32-35)【关键词】hadoop;云计算;hbase;hive【作者】谭洁清;毛锡军【作者单位】贵州省新技术研究所,贵阳550025;贵州省新技术研究所,贵阳550025【正文语种】中文【中图分类】TP3011 Hadoop,hbase和hive的简介Hadoop是一个分布式系统基础架构,由Apache基金会开发。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。

充分利用集群的威力高速运算和存储。

简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。

HDFS有着高容错性的特点。

Hadoop有许多元素构成。

其最底部是Hadoop Distributed File System(HDFS),它存储Hadoop集群中所有存储节点上的文件。

HDFS(对于本文)的上一层是MapReduce引擎,是一个并行计算框架,该引擎由 JobTrackers和 TaskTrackers组成(Tom White,2010)。

在Hadoop的安装之前,先介绍一下Hadoop对各个节点的角色定义。

Hadoop分别从3个角度将主机划分为2种角色。

第一,划分为master和slave;第二,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中,目录的管理很重要,管理目录的就相当于主人,而NameNode就是目录管理者);第三,从MapReduce的角度,将主机划分为 JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。

HADOOP(4)eclipse开发整合

HADOOP(4)eclipse开发整合

Eclipse开发整合WINDOWS下:1编译eclipse-hadoop-pluin插件先下载当前版本hadoop的源文件/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz保存到d:盘并解压保存在:d:\hadoop-1.2.1由于编译eclipse插件需要用到ant,所以我们要安装ant下载ANT:/apache//ant/binaries/apache-ant-1.9.6-bin.zip将ant解压到d:盘:d\apache-ant-1.9.6然后配置ANT的环境变量,与配置JA V A_HOME类似,不具体介绍配置完成后在cmd里验证:ant -version然后进入hadoop源码包的eclips插件目录下:D:\hadoop-1.2.1\src\contrib\eclipse-plugin修改build.properties文件,追加eclips的安装目录和生成插件的版本号(注意路径用\\号)然后修改build.xml配置(红色处):<?xml version="1.0" encoding="UTF-8" standalone="no"?><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License. You may obtain a copy of the License at/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.--><project default="jar" name="eclipse-plugin"><import file="../build-contrib.xml"/><path id="eclipse-sdk-jars"><fileset dir="${eclipse.home}/plugins/"><include name="org.eclipse.ui*.jar"/><include name="org.eclipse.jdt*.jar"/><include name="org.eclipse.core*.jar"/><include name="org.eclipse.equinox*.jar"/><include name="org.eclipse.debug*.jar"/><include name="org.eclipse.osgi*.jar"/><include name="org.eclipse.swt*.jar"/><include name="org.eclipse.jface*.jar"/><include name="org.eclipse.team.cvs.ssh2*.jar"/><include name="com.jcraft.jsch*.jar"/></fileset><fileset dir="D:/hadoop-1.2.1"><include name="hadoop*.jar"/></fileset></path><!-- Override classpath to include Eclipse SDK jars --><path id="classpath"><pathelement location="${build.classes}"/><pathelement location="${hadoop.root}/build/classes"/><path refid="eclipse-sdk-jars"/></path><!-- Skip building if eclipse.home is unset. --><target name="check-contrib" unless="eclipse.home"><property name="skip.contrib" value="yes"/><echo message="eclipse.home unset: skipping eclipse plugin"/></target><target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib"><echo message="contrib: ${name}"/><javacencoding="${build.encoding}"srcdir="${src.dir}"includes="**/*.java"destdir="${build.classes}"debug="${javac.debug}"deprecation="${javac.deprecation}"><classpath refid="classpath"/></javac></target><!-- Override jar target to specify manifest --><target name="jar" depends="compile" unless="skip.contrib"><mkdir dir="${build.dir}/lib"/><copy file="D:/hadoop-1.2.1/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="D:/hadoop-1.2.1/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="D:/hadoop-1.2.1/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/><copy file="D:/hadoop-1.2.1/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/><copy file="D:/hadoop-1.2.1/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/><copy file="D:/hadoop-1.2.1/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/><copy file="D:/hadoop-1.2.1/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/><jarjarfile="${build.dir}/hadoop-${name}-${version}.jar"manifest="${root}/META-INF/MANIFEST.MF"><fileset dir="${build.dir}" includes="classes/ lib/"/><fileset dir="${root}" includes="resources/ plugin.xml"/></jar></target></project>修改D:\hadoop-1.2.1\src\contrib\eclipse-plugin\META-INF文件夹下的MANIFEST.MF文件(红色部分):Manifest-Version: 1.0Bundle-ManifestVersion: 2Bundle-Name: MapReduce Tools for EclipseBundle-SymbolicName: org.apache.hadoop.eclipse;singleton:=trueBundle-Version: 0.18Bundle-Activator: org.apache.hadoop.eclipse.ActivatorBundle-Localization: pluginRequire-Bundle: org.eclipse.ui,org.eclipse.core.runtime,unching,org.eclipse.debug.core,org.eclipse.jdt,org.eclipse.jdt.core,org.eclipse.core.resources,org.eclipse.ui.ide,org.eclipse.jdt.ui,org.eclipse.debug.ui,org.eclipse.jdt.debug.ui,org.eclipse.core.expressions,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.navigator,org.eclipse.core.filesystem,mons.loggingEclipse-LazyStart: trueBundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-configuration-1.6.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-lang-2.4.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jarBundle-Vendor: Apache Hadoop然后在cmd下进入到D:\hadoop-1.2.1\src\contrib\eclipse-plugin目录,运行ant:cd D:\hadoop-1.2.1\src\contrib\eclipse-pluginant jar完成后提示:然后在D:\hadoop-1.2.1\build\contrib\eclipse-plugin下会看到生成了文件hadoop-eclipse-plugin-1.2.1.jar,将其拷贝到eclipse安装目录下的plugins 的文件夹下(D:\eclipse-jee-luna-SR2-win32-x86_64\eclipse\plugins)然后启动eclipse可以看到插件已经有了然后配置我们的hadoop:Window-->Preferences-->Hadoop Map/Reduce填入hadoop本机上hadoop源码包解压所放的目录配置Hdfs位置:Windows -->Show View -->Other-->MapReduce Tools-->Map/Reduce Location然后在在Map/Reduce Location视图下New Hadoop Location填入hdfs地址及jobTracker端口和NameNode端口(很可惜的是这里的User name填hadoop或者其他说明值如果是window系统都不起作用,很是坑爹。

hadoop搭建与eclipse开发环境设置--已验证通过

hadoop搭建与eclipse开发环境设置--已验证通过

hadoop搭建与eclipse开发环境设置――刘刚1.Windows下eclipse开发环境配置1.1 安装开发hadoop插件将hadoop安装包hadoop\contrib\eclipse-plugin\hadoop-0.20.2-eclipse-plugin.jar拷贝到eclipse的插件目录plugins下。

需要注意的是插件版本(及后面开发导入的所有jar包)与运行的hadoop一致,否则可能会出现EOFException异常。

重启eclipse,打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图。

1.2 设置连接参数打开windows->show view->other-> map/reduce Locations视图,在点击大象后弹出的对话框(General tab)进行参数的添加:参数说明如下:Location name:任意map/reduce master:与mapred-site.xml里面mapred.job.tracker设置一致。

DFS master:与core-site.xml里设置一致。

User name: 服务器上运行hadoop服务的用户名。

然后是打开“Advanced parameters”设置面板,修改相应参数。

上面的参数填写以后,也会反映到这里相应的参数:主要关注下面几个参数::与core-site.xml里设置一致。

mapred.job.tracker:与mapred-site.xml里面mapred.job.tracker设置一致。

dfs.replication:与hdfs-site.xml里面的dfs.replication一致。

hadoop.tmp.dir:与core-site.xml里hadoop.tmp.dir设置一致。

hadoop.job.ugi:并不是设置用户名与密码。

一个hivehbasehdoop+eclipse的实例

一个hivehbasehdoop+eclipse的实例

hbase,hive,hadoop一个演示的例子。

1. 在终端上创建表;(hive)CREATE EXTERNAL TABLE MYRELATION(key INT, name STRING,telphone1 STRING,telphone2 STRING,telphone3 STRING,groups STRING,valid BOOLEAN)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,fullname:name,tel:office,tel:home,tel:mobile,belo ngto:groups,isserved:valid")TBLPROPERTIES(""="relationship");CREATE TABLE RELATIONSHIP(key INT, name STRING,telphone1 STRING,telphone2 STRING,telphone3 STRING,groups STRING,valid BOOLEAN)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,fullname:name,tel:office,tel:home,tel:mobile,belo ngto:groups,isserved:valid")TBLPROPERTIES(""="relationship");hive> CREATE TABLE RELATIONSHIP(> key INT, name STRING,telphone1 STRING,telphone2 STRING,telphone3 STRING,groups STRING,valid BOOLEAN)> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'> WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,fullname:name,tel:office,tel:home,tel:mobile,belongto:groups,isserved:valid")> TBLPROPERTIES(""="relationship");OKTime taken: 1.579 seconds///////////////////////////////////2. 在hbase 显示创建表hbase(main):012:0> describe 'relationship'DESCRIPTION ENABLEDTRUE{NAME => 'relationship', FAMILIES => [{NAME => 'belongto', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',COMPRESSION => 'NONE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE =>'true'},{NAME => 'fullname', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',COMPRESSION => 'NONE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE =>'65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'},{NAME => 'isserved', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',COMPRESSION => 'NONE', VERSIONS => '3',TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE =>'true'},{NAME => 'tel', BLOOMFILTER =>'NONE', REPLICATION_SCOPE => '0', COMPRESSION =>'NONE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE =>'true'}]}1 row(s) in 0.0330 seconds3. 写入数据(hbase)put 'relationship','002','fullname:name','fung'put 'relationship','002','tel:home','1234'put 'relationship','002','tel:office','22222'put 'relationship','002','tel:mobile','22222'put 'relationship','002','belongto:groups','students'put 'relationship','002','isserved:valid','true'4. (hbase)显示写入的结果hbase(main):022:0> get 'relationship','002'COLUMN CELLbelongto:groups timestamp=1351644542319, value=studentsfullname:name timestamp=1351644194862, value=fungisserved:valid timestamp=1351644710533, value=truetel:home timestamp=1351644515829, value=1234tel:mobile timestamp=1351644640471, value=22222tel:office timestamp=1351644523975, value=222226 row(s) in 0.0280 seconds5. (hive)显示写入的数据hive> select * from relationship;OK2 fung 22222 1234 22222 students trueTime taken: 0.229 seconds6. 程序(eclipse)/*** 显示所有数据*/public static void getAllData (String tablename) throws Exception{ Configuration hcfg = HBaseConfiguration.create();HTable table = new HTable(hcfg, tablename);Scan s = new Scan();ResultScanner ss = table.getScanner(s);for(Result r:ss){for(KeyValue kv:r.raw()){System.out.print(new String(kv.getFamily()));// System.out.print(new String(r.));System.out.println(new String(kv.getValue()));}}}问题:ng.NoClassDefFoundError: org/apache/zookeeper/KeeperException 原因:没有zookerper包,引入即可。

Linux环境下Hadoop+HBase在Eclipse中的编译打包步骤

Linux环境下Hadoop+HBase在Eclipse中的编译打包步骤

Linux环境下Hadoop+HBase在Eclipse中的编译打包步骤2014.09.19第一步:建立工程,导入jar,调试代码首先在Eclipse下建立工程,如果工程中需要加入Hadoop或者HBase的目录lib下jar,,在工程上右键,选择Properties选项,之后选择Java Build Path,在右边点击Libraries,点击 Add External Jars即可到按路径加入你需要的jar。

如图所示:第二步:建立MANIFEST.MF文件之后开始编写代码,并进行调试,假设代码调试通过。

因为引入了第三方的jar,我们需要在工程根目录下手动创建MANIFEST.MF文件,打开该文件以后按格式编辑,示例格式如下图:格式说明如下:●在MANIFEST.MF中,一般设置Manifest-Version: 1.0。

●其中Main-Class根据你的工程源码主类位置而定,比如在工程中,src下的package为readdata,代码中主类为ReadData,那么在Main-Class下就应该为Main-Class: readdata.ReadData。

●对于Class-Path,因为引用的jar很多,不可能一一手动输入,此时可以再全选这些jar,然后右键点击,弹出如下菜单,选择Copy Qualified Name之后复制到MANIFEST.MF文件的Class-Path下。

注意:在每个冒号后都要加一个空格,格式不对的话会报错invalid header field。

并且,如果Class-Path引入了过多的jar打包时会报错line too long,此时,在Class-Path的第二行开始,行首改为两个空格,第一行冒号后面仍为一个空格。

MANIFEST.MF编辑完毕后,在工程上右键,选择Refresh刷新一下,就能看到已经编辑完成的MANIFEST.MF 文件。

第三步:开始Export之后在左侧工程上右键,选择Export选项,弹出如下窗口:选择Java下的JAR file选项:点击Next下一步继续:勾选Export generated class files and resources以及Export Java source files and resources。

基于Eclipse的Hadoop应用开发环境配置

基于Eclipse的Hadoop应用开发环境配置

基于Eclipse的Hadoop应用开发环境配置我的开发环境:操作系统fedora 14 一个namenode 两个datanodeHadoop版本:hadoop-0.20.205.0Eclipse版本:eclipse-SDK-3.7.1-linux-gtk.tar.gz第一步:先启动hadoop守护进程第二步:在eclipse上安装hadoop插件1.复制 hadoop安装目录/contrib/eclipse-plugin/hadoop-eclipse-plugin-0.20.205.0.jar 到eclipse安装目录/plugins/ 下。

2.重启eclipse,配置hadoop installation directory。

如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce 选项,在这个选项里你需要配置Hadoop installation directory。

配置完成后退出。

3.配置Map/Reduce Locations。

在Window-->Show View中打开Map/Reduce Locations。

在Map/Reduce Locations中新建一个Hadoop Location。

在这个View中,右键-->New Hadoop Location。

在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFS Master。

这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。

如:Map/Reduce Master192.168.1.1019001DFS Master192.168.1.1019000配置完后退出。

点击DFS Locations-->Hadoop如果能显示文件夹(2)说明配置正确,如果显示"拒绝连接",请检查你的配置。

hadoop搭建与eclipse开发环境设置

hadoop搭建与eclipse开发环境设置

hadoop搭建与eclipse开发环境设置――罗利辉1.前言1.1 目标目的很简单,为进行研究与学习,部署一个hadoop运行环境,并搭建一个hadoop开发与测试环境。

具体目标是:✓在ubuntu系统上部署hadoop✓在windows 上能够使用eclipse连接ubuntu系统上部署的hadoop进行开发与测试1.2 软硬件要求注意:Hadoop版本和Eclipse版本请严格按照要求。

现在的hadoop最新版本是hadoop-0.20.203,我在windows上使用eclipse(包括3.6版本和3.3.2版本)连接ubuntu上的hadoop-0.20.203环境一直没有成功。

但是开发测试程序是没有问题的,不过需要注意权限问题。

如果要减少权限问题的发生,可以这样做:ubuntu上运行hadoop的用户与windows 上的用户一样。

1.3 环境拓扑图ubuntu 192.168.69.231ubuntu2192.168.69.233 ubuntu1192.168.69.2322.Ubuntu 安装安装ubuntu11.04 server系统,具体略。

我是先在虚拟机上安装一个操作系统,然后把hadoop也安装配置好了,再克隆二份,然后把主机名与IP修改,再进行主机之间的SSH配置。

如果仅作为hadoop的运行与开发环境,不需要安装太多的系统与网络服务,或者在需要的时候通过apt-get install进行安装。

不过SSH服务是必须的。

3.Hadoop 安装以下的hadoop安装以主机ubuntu下进行安装为例。

3.1 下载安装jdk1.6安装版本是:jdk-6u26-linux-i586.bin,我把它安装拷贝到:/opt/jdk1.6.0_263.2 下载解压hadoop安装包是:hadoop-0.20.2.tar.gz。

3.3 修改系统环境配置文件切换为根用户。

●修改地址解析文件/etc/hosts,加入3.4 修改hadoop的配置文件切换为hadoop用户。

hadoop和hbase伪分布式安装实验总结

hadoop和hbase伪分布式安装实验总结

hadoop和hbase伪分布式安装实验总结Hadoop和HBase伪分布式安装实验总结一、实验目标本次实验的目标是掌握Hadoop和HBase的伪分布式安装与配置,了解其在大数据处理中的应用。

通过实验,我们将深入了解Hadoop和HBase的基本概念、架构和工作原理,并亲自动手进行系统安装和配置。

二、实验步骤与过程1. 准备环境:确保实验环境满足Hadoop和HBase的最低硬件和软件要求,包括足够的内存、磁盘空间和网络带宽。

2. 安装Java:由于Hadoop和HBase都依赖于Java,因此需要先安装Java开发工具包(JDK)。

3. 下载Hadoop和HBase:从Apache官网下载Hadoop和HBase的稳定版本。

4. 配置Hadoop:编辑Hadoop的配置文件,包括、等,设置NameNode、SecondaryNameNode、DataNode的地址。

5. 格式化HDFS:使用Hadoop的命令行工具初始化HDFS文件系统。

6. 启动Hadoop:启动NameNode、SecondaryNameNode和DataNode,使HDFS进入运行状态。

7. 安装HBase:解压下载的HBase压缩包到指定目录。

8. 配置HBase:编辑HBase的配置文件,包括、等,设置ZooKeeper的地址、HBase master和regionserver的地址。

9. 启动HBase:启动ZooKeeper和HBase master,然后启动regionserver。

10. 验证安装:通过Web浏览器访问HBase的管理界面,以及使用HBase shell命令进行基本操作,验证安装是否成功。

三、实验结果与分析通过本次实验,我们成功地在实验环境中安装了Hadoop和HBase,并验证了其基本功能。

在安装过程中,我们遇到了一些问题,如环境变量配置错误、端口冲突等,但通过查阅文档和在线求助,最终都得到了解决。

伪分布式hadoop的安装方法和eclipse开发环境的安装与使用方法。

伪分布式hadoop的安装方法和eclipse开发环境的安装与使用方法。

伪分布式hadoop的安装方法和eclipse开发环境的安装与使用方法。

一、引言在当今大数据时代,Hadoop和Eclipse作为开源技术和开发工具,受到了越来越多开发者的关注。

本文将详细介绍如何安装和使用伪分布式Hadoop 以及Eclipse开发环境。

二、伪分布式Hadoop的安装方法1.准备环境在开始安装伪分布式Hadoop之前,请确保您的计算机满足以下要求:- 操作系统:Windows、Linux或Mac OS- 64位处理器- 至少4GB内存2.下载并安装JDK访问Oracle官网下载最新版本的JDK,然后按照官方文档安装并配置JDK环境变量。

3.下载Hadoop访问Hadoop官网下载适用于您操作系统的Hadoop版本。

下载完成后,将Hadoop解压缩到一个合适的位置。

4.配置Hadoop环境变量在Windows系统上,设置系统环境变量,将Hadoop的bin目录添加到Path中;在Linux或Mac OS系统上,编辑~/.bashrc或~/.bash_profile文件,添加以下内容:```export HADOOP_HOME=/path/to/your/hadoopexport PATH=$HADOOP_HOME/bin:$PATH```5.配置Hadoop的核心配置文件在Hadoop的conf目录下,找到core-site.xml、hdfs-site.xml和mapred-site.xml三个配置文件,根据官方文档进行相应的配置。

6.启动Hadoop在命令行中执行以下命令启动Hadoop:```hdfs namenode -formathdfs dfs -mkdir /tmpmapreduce job -submit -jobclass com.example.MyJob -arguments "arg1 arg2"```三、Eclipse开发环境的安装与使用方法1.下载并安装Eclipse访问Eclipse官网,根据您的操作系统下载相应版本的Eclipse。

基于Eclipse的Hadoop开发环境配置方法

基于Eclipse的Hadoop开发环境配置方法

基于Eclipse的Hadoop开发环境配置方法(1)启动hadoop守护进程在Terminal中输入如下命令:$ bin/hadoop namenode -format$ bin/start-all.sh(2)在Eclipse上安装Hadoop插件找到hadoop的安装路径,我的是hadoop-0.20.2,将/home/wenqisun/hadoop-0.20.2/contrib/eclipse-plugin/下的hadoop-0.20.2-eclipse-plugin.jar拷贝到eclipse安装目录下的plugins里,我的是在/home/wenqisun/eclipse /plugins/下。

然后重启eclipse,点击主菜单上的window-->preferences,在左边栏中找到Hadoop Map/Reduce,点击后在右边对话框里设置hadoop的安装路径即主目录,我的是/home/wenqisun/hadoop-0.20.2。

(3)配置Map/Reduce Locations在Window-->Show View中打开Map/Reduce Locations。

在Map/Reduce Locations中New一个Hadoop Location。

在打开的对话框中配置Location name(为任意的名字)。

配置Map/Reduce Master和DFS Master,这里的Host和Port要和已经配置的mapred-site.xml 和core-site.xml相一致。

一般情况下为Map/Reduce MasterHost:localhostPort:9001DFS MasterHost:localhostPort:9000配置完成后,点击Finish。

如配置成功,在DFS Locations中将显示出新配置的文件夹。

(4)新建项目创建一个MapReduce Project,点击eclipse主菜单上的File-->New-->Project,在弹出的对话框中选择Map/Reduce Project,之后输入Project的名,例如Q1,确定即可。

Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册

Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册

Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装⼿册Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装⼿册前⾔: (3)⼀. Hadoop安装(伪分布式) (4)1. 操作系统 (4)2. 安装JDK (4)1> 下载并解压JDK (4)2> 配置环境变量 (4)3> 检测JDK环境 (5)3. 安装SSH (5)1> 检验ssh是否已经安装 (5)2> 安装ssh (5)3> 配置ssh免密码登录 (5)4. 安装Hadoop (6)1> 下载并解压 (6)2> 配置环境变量 (6)3> 配置Hadoop (6)4> 启动并验证 (8)前⾔:⽹络上充斥着⼤量Hadoop1的教程,版本⽼旧,Hadoop2的中⽂资料相对较少,本教程的宗旨在于从Hadoop2出发,结合作者在实际⼯作中的经验,提供⼀套最新版本的Hadoop2相关教程。

为什么是Hadoop2.2.0,⽽不是Hadoop2.4.0本⽂写作时,Hadoop的最新版本已经是2.4.0,但是最新版本的Hbase0.98.1仅⽀持到Hadoop2.2.0,且Hadoop2.2.0已经相对稳定,所以我们依然采⽤2.2.0版本。

⼀. Hadoop安装(伪分布式)1. 操作系统Hadoop⼀定要运⾏在Linux系统环境下,⽹上有windows下模拟linux环境部署的教程,放弃这个吧,莫名其妙的问题多如⽜⽑。

2. 安装JDK1> 下载并解压JDK我的⽬录为:/home/apple/jdk1.82> 配置环境变量打开/etc/profile,添加以下内容:export JAVA_HOME=/home/apple/jdk1.8export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 执⾏source /etc/profile ,使更改后的profile⽣效。

搭建eclipse的hadoop开发环境知识点

搭建eclipse的hadoop开发环境知识点

搭建eclipse的hadoop开发环境知识点一、概述在大数据领域,Hadoop是一个非常重要的框架,它提供了分布式存储和处理海量数据的能力。

而Eclipse作为一款强大的集成开发环境,为我们提供了便利的开发工具和调试环境。

搭建Eclipse的Hadoop 开发环境对于开发人员来说是必不可少的。

本文将从安装Hadoop插件、配置Hadoop环境、创建Hadoop项目等方面来详细介绍搭建Eclipse的Hadoop开发环境的知识点。

二、安装Hadoop插件1. 下载并安装Eclipse我们需要在全球信息湾上下载最新版本的Eclipse,并按照提示进行安装。

2. 下载Hadoop插件在Eclipse安装完成后,我们需要下载Hadoop插件。

可以在Eclipse 的Marketplace中搜索Hadoop,并进行安装。

3. 配置Hadoop插件安装完成后,在Eclipse的偏好设置中找到Hadoop插件,并按照提示进行配置。

在配置过程中,需要指定Hadoop的安装目录,并设置一些基本的环境变量。

三、配置Hadoop环境1. 配置Hadoop安装目录在Eclipse中配置Hadoop的安装目录非常重要,因为Eclipse需要通过这个路径来找到Hadoop的相关文件和库。

2. 配置Hadoop环境变量除了配置安装目录,还需要在Eclipse中配置Hadoop的环境变量。

这些环境变量包括HADOOP_HOME、HADOOP_COMMON_HOME、HADOOP_HDFS_HOME等,它们指向了Hadoop的各个组件所在的目录。

3. 配置Hadoop项目在Eclipse中创建一个新的Java项目,然后在项目的属性中配置Hadoop库,以及其它一些必要的依赖。

四、创建Hadoop项目1. 导入Hadoop库在新建的Java项目中,我们需要导入Hadoop的相关库,比如hadoopmon、hadoop-hdfs、hadoop-mapreduce等。

Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署

Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署

Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署Hadoop安装部署基本步骤:1、安装jdk,配置环境变量。

jdk可以去⽹上⾃⾏下载,环境变量如下:编辑 vim /etc/profile ⽂件,添加如下内容:export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(填写⾃⼰的jdk安装路径)export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin输⼊命令,source /etc/profile 使配置⽣效分别输⼊命令,java 、 javac 、 java -version,查看jdk环境变量是否配置成功2、linux环境下,⾄少需要3台机⼦,⼀台作为master,2台(以上)作为slave。

这⾥我以3台机器为例,linux⽤的是CentOS 6.5 x64为机器。

master 192.168.172.71slave1 192.168.172.72slave2 192.168.172.733、配置所有机器的hostname和hosts。

(1)更改hostname,可以编辑 vim /etc/sysconfig/network 更改master的HOSTNAME,这⾥改为HOSTNAME=master 其它slave为HOSTNAME=slave1、HOSTNAME=slave2 ,重启后⽣效。

或者直接输: hostname 名字,更改成功,这种⽅式⽆需重启即可⽣效, 但是重启系统后更改的名字会失效,仍是原来的名字 (2)更改host,可以编辑 vim /etc/hosts,增加如下内容: 192.168.172.71 master 192.168.172.72 slave1 192.168.172.73 slave2 hosts可以和hostname不⼀致,这⾥为了好记就写⼀致了。

hadoop + zookeeper +hive + hbase安装学习共12页word资料

hadoop + zookeeper +hive + hbase安装学习共12页word资料

伪分布式安装Hadoop+zookeeper+hive+hbase安装配置1.安装JDK,配置环境JAVA环境变量export JAVA_HOME=/usr/lib/java-1.6.0/jdk1.6.0_37export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport HADOOP_INSTALL=/usr/hadoop/hadoop-1.0.3export PATH=$PATH:$HADOOP_INSTALL/binexport JAVA_HOME=/user/local/jdk1.6.0_27export JRE_HOME=/user/local/jdk1.6.0_27/jreexport ANT_HOME=/user/local/apache-ant-1.8.2export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH2.安装Hadoop-1.0.32.1.下载hadoop文件,地址为:/coases.html,下载完成后解压hadoop-1.0.3.tar.gzsudo tar -xzf hadoop-1.0.3.tar.gz2.2.配置Hadoop环境变量export HADOOP_INSTALL=/user/local/hadoop-1.0.3export PATH=$PATH:$HADOOP_INSTALL/bin激活profile文件:[root@localhost etc]# chmod +x profile[root@localhost etc]# source profile[root@localhost etc]# hadoop version2.3.查看hadoop版本[root@localhost ~]# hadoop versionHadoop 1.0.3Subversionhttps:///repos/asf/hadoop/common/branches/branch-1.0 -r 1335192Compiled by hortonfo on Tue May 8 20:31:25 UTC 2012From source with checksum e6b0c1e23dcf76907c5fecb4b832f3be输入 hadoop version命令后输入下图,则安装hadoop成功2.4.修改配置文件a)解压hadoop-1.0.3/hadoop-core-1.0.3.jarb)去解压后的hadoop-core-1.0.3文件夹下,复制文件core-default.xml,hdfs-default.xml,mapred-default.xml三个文件到hadoop-1.0.3/conf/下,删除hadoop-1.0.3/conf/文件夹下的core-site.xml,hdfs-site.xml,mapred-site.xml,将复制过来的三个文件的文件名中的default修改为sitec)在hadoop-1.0.3文件夹同级创建文件夹hadoop,打开core-site.xml文件,修改属性节点下的name节点为hadoop.tmp.dir对应的value节点,修改为/user/local/${}/hadoop/hadoop-${},这样hadoop生成的文件会放入这个文件夹下.修改name节点为对应的value节点,修改为hdfs://localhost:9000/打开mapred-site.xml文件,修改property节点下name为mapred.job.tracker对应的的value,改为:localhost:90013.安装ssh1.执行命令安装ssh:sudo apt-get install ssh2.基于空口令创建一个新SSH密钥,以启用无密码登陆a)ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa执行结果:b)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys3.测试ssh localhost测试结果:输入yes再次输入ssh localhost:成功之后,就不需要密钥4.格式化HDFS文件系统输入指令:hadoop namenode –format[root@localhost ~]# hadoop namenode –format13/07/17 14:26:41 INFO Node: STARTUP_MSG:STARTUP_MSG: Starting NameNodeSTARTUP_MSG: host = localhost.localdomain/127.0.0.1STARTUP_MSG: args = [–format]STARTUP_MSG: version = 1.0.3STARTUP_MSG: build =https:///repos/asf/hadoop/common/branches/branch-1.0 -r 1335192; compiled by 'hortonfo' on Tue May 8 20:31:25 UTC 2012Usage: java NameNode [-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]13/07/17 14:26:41 INFO Node: SHUTDOWN_MSG:SHUTDOWN_MSG: Shutting down NameNode at localhost.localdomain/127.0.0.15.启动和终止守护进程启动和终止HDFS和MapReduce守护进程,键入如下指令启动start-all.sh(start-dfs.sh,start-mapred.sh)出错了,JAVA_HOME is not set需要修改文件,打开hadoop-1.0.3/conf/ hadoop-env.sh将红线以内部分注释解开,修改为本机JAVA_HOME再次执行启动命令start-all.sh停止stop-all.sh(stop-dfs.sh,stop-mapred.sh)到此,hadoop就已经安装完成了6.Hadoop文件系统6.1.查看hadoop所有块文件执行命令:hadoop fsck / -files –blocks执行结果:此结果显示,hadoop文件系统中,还没有文件可以显示本机出错,出错原因:datanode没有启动,具体见evernote笔记。

Eclipse+hbase本地开发配置

Eclipse+hbase本地开发配置

Eclipse+hbase本地开发配置1.把集群上配置的Hadoop、Hbase目录下载到本地2.新建一个Java Project,添加并引用以下几个jar包以及lib目录下commons-logging-1.1.1.jarlog4j-1.2.16.jarslf4j-api-1.5.8.jarslf4j-log4j12-1.5.8.jarzookeeper-3.3.2.jarcommons-logging-1.1.1.jar3.创建删除表,增删改查表记录操作类源码import java.util.ArrayList;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeyValue;import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Row;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.io.*;import org.apache.hadoop.hbase.util.Bytes;@SuppressWarnings("deprecation")public class tableopr {static HBaseConfiguration cfg = null;static {Configuration HBASE_CONFIG = new Configuration();HBASE_CONFIG.set("hbase.zookeeper.quorum","192.168.254.251,192.168.254.252,192.168.254.25");HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "2181");cfg = new HBaseConfiguration(HBASE_CONFIG);}/*** 创建一张表*/public static void creatTable(String tablename) throws Exception {HBaseAdmin admin = new HBaseAdmin(cfg);if (admin.tableExists(tablename)) {System.out.println("table Exists!!!");}else{HTableDescriptor tableDesc = new HTableDescriptor(tablename);tableDesc.addFamily(newHColumnDescriptor("article"));admin.createTable(tableDesc);System.out.println("create table ok .");}}/*** 添加一条数据*/public static void addData (String tablename,Integer count)throws Exception{HTable table = new HTable(cfg, tablename);Put put = new Put(Bytes.toBytes("hwrdfs"+Integer.toString(count) ));put.add(Bytes.toBytes("article"),Bytes.toBytes("title"), Bytes.toBytes("Head First HBase"));put.add(Bytes.toBytes("article"),Bytes.toBytes("content"), Bytes.toBytes("HBase is the Hadoop database. Use it when you need random, realtime read/write access to your Big Data."));put.add(Bytes.toBytes("article"),Bytes.toBytes("tags"), Bytes.toBytes("Hadoop,HBase,NoSQL"));// put.add(Bytes.toBytes("author"), Bytes.toBytes("name"), Bytes.toBytes("hujinjun"));// put.add(Bytes.toBytes("author"), Bytes.toBytes("nickname"), Bytes.toBytes("一叶渡江"));table.put(put);System.out.println("add data ok .");}/*** 显示所有数据*/public static void getAllData (String tablename) throws Exception{HTable table = new HTable(cfg, tablename);Scan s = new Scan();ResultScanner ss = table.getScanner(s);for(Result r:ss){for(KeyValue kv:r.raw()){System.out.print(new String(kv.getKey()));System.out.println(newString(kv.getValue() ));}}}public static void main (String [] agrs) {try {String tablename="article";tableopr.creatTable(tablename);long startTime=System.currentTimeMillis(); //获取开始时间for(int i=0;i<1000;i++){tableopr.addData(tablename,i); //测试的代码段}long endTime=System.currentTimeMillis(); //获取结束时间System.out.println("程序运行时间:"+(endTime-startTime)+"ms");// tableopr.getAllData(tablename);}catch (Exception e) {e.printStackTrace();}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hadoop和HBase分布式配置及整合My Eclipse开发Q:620734263说明:本文档主要侧重hadoop和hbase在windows下的开发.在linux上开发自行修改即可.一、下载安装包下载hadoop-0.20.2、hbase-0.90.3及cygwin软件二、安装cygwin和配置sshcygwin的安装google一下就行.三、在主机配置ssh无密码连接在这里找两台主机(仅供测试用),master(192.168.169.121)和slaver1(192.168.169.34)分别在两台主机C:\WINDOWS\system32\drivers\etc\hosts配置如下:至此在master上ssh slaver1就行,第一次要输入密码,系统将slaver1加入到know_hosts 中.以后就不用输入四、配置hadoop现在master上配置如下:在/hadoop-0.20.2/conf/masters、slavers文件中加入主机:配置完成后将此copy到slaver1上去.为了输入简单: 配置环境变量:HADOOP_HOME = e:/hadoop-0.20.2五、启动测试机器如有节点启动不起来的情况:可以先stop-all.sh再删除临时文件/tmp和日志文件logs.再从新格式化节点,重新启动(start-all.sh)主机.六、配置HBaseHBase是什么?官网WIKI,英文看不懂,google翻译…先配置环境变量吧.HBASE_HOME = e:/habse-0.90.3接着取消/cygwin/etc/pofile的注释修改<property><name>hbase.rootdir</name> //如果是在单机下只保留这一项即可<value>hdfs://master:9001/hbase</value> //与hadoop中的core-site.xml配置一直</property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.master</name><value>hdfs://master:60000</value></property><property><name>hbase.zookeeper.quorum</name><value>slaver1</value> //这里配置的主机说是单数,参考wiki </property><property><name>hbase.zookeeper.property.dataDir</name><value>/data/work/zookeeper</value></property>七、启动Hbase八、整合eclipse做开发将hadoop-0.20.2的/hadoop-0.20.2/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar插件以link的方式集成到my eclipise中,具体的操作自己查看.如果有问题,请将my eclipse升级到8.0以后的重启my eclipse将会在右上放工程模式中看到蓝色__ __/ \~~~/ \,----( .. )/ \__ __//| (\ |(^ \ /___\ /\ |新建工程新建map和reduce类,以及M/R驱动类:一个Map/Reduce例子import java.io.IOException;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.*;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class NewMaxTemperature {static class NewMaxTemperatureMapper extends Mapper<LongWritable, Text, Text, IntWritable> {// private static final int MISSING = 99;public void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException {String line = value.toString();String year = line.substring(2, 6);int airTemperature;int startIndex = line.indexOf("+");int endIndex = line.indexOf(".");airTemperature = Integer.parseInt(line.substring(startIndex+1, endIndex));// String quality = line.substring(0, 2);// if (airTemperature !=MISSING && quality.matches("[00]")){context.write(new Text(year), new IntWritable(airTemperature));//}}}static class NewMaxTemperatureReducer extends Reducer<Text, IntWritable, Text, IntWritable> {public void reduce(Text key, Iterable<IntWritable> values, Context context)throws IOException, InterruptedException {int maxValue = Integer.MIN_V ALUE;for (IntWritable value : values) {maxValue = Math.max(maxValue, value.get());}context.write(key, new IntWritable(maxValue));}}public static void main(String[] args) throws Exception {if (args.length != 2) {System.err.println("Usage: NewMaxTemperature <input path><output path>");System.exit(-1);}Job job = new Job();job.setJarByClass(NewMaxTemperature.class);FileInputFormat.addInputPath(job, new Path("/user/Administrator/input"));FileOutputFormat.setOutputPath(job, new Path("/user/Administrator/output"));job.setMapperClass(NewMaxTemperatureMapper.class);job.setReducerClass(NewMaxTemperatureReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);System.exit(job.waitForCompletion(true) ? 0 : 1);}}一个HBASE的例子:import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;import org.apache.hadoop.hbase.KeyValue;import org.apache.hadoop.hbase.MasterNotRunningException;import org.apache.hadoop.hbase.ZooKeeperConnectionException;import org.apache.hadoop.hbase.client.Delete;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.HBaseAdmin;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.util.Bytes;public class TestHbase {private static Configuration conf = HBaseConfiguration.create();public void putData(){try {HTable table = new HTable(conf,"test");Put put = new Put(Bytes.toBytes("rows1"));put.add(Bytes.toBytes("id"), Bytes.toBytes("0"), Bytes.toBytes("feng"));table.put(put);} catch (IOException e) {e.printStackTrace();}}public void putData1(){try {HTable table = new HTable(conf,"test");String[] columns = new String[]{"id","age","name"};for(int i=0;i<columns.length;i++){Put put = new Put(Bytes.toBytes("rows"+(i+1)));for(int j=0;j<3;j++){put.add(Bytes.toBytes(columns[j]), Bytes.toBytes(String.valueOf(i)), Bytes.toBytes("n_"+i));table.put(put);}}} catch (IOException e) {e.printStackTrace();}}public void createTable() throws IOException{String tablename = "test";String[] columns = new String[]{"id","age","name"};HBaseAdmin admin = new HBaseAdmin(conf);if (admin.tableExists(tablename)) {System.out.println("表已存在");}else{HTableDescriptor tableDesc = new HTableDescriptor(tablename);for(int i=0;i<columns.length;i++){tableDesc.addFamily(new HColumnDescriptor(columns[i]));}admin.createTable(tableDesc);System.out.println("创建表成功!.");}}public void delete() throws IOException{try {HBaseAdmin admin = new HBaseAdmin(conf);admin.disableTable("scores");admin.deleteTable("scores");System.out.println("表删除成功!");} catch (MasterNotRunningException e) {e.printStackTrace();} catch (ZooKeeperConnectionException e) {e.printStackTrace();}}public void scaner(){try {HTable table = new HTable(conf, "test");Scan s = new Scan();ResultScanner rs = table.getScanner(s);for(Result r:rs){// System.out.println(new String(r.getRow()));// byte[] b = r.getValue(Bytes.toBytes("cf"), Bytes.toBytes("c")); // if(b!=null){// System.out.println(new String(b));// }KeyValue[] kv = r.raw();for(int i=0;i<kv.length;i++){System.out.print(new String(kv[i].getRow())+" ");System.out.print(new String(kv[i].getFamily())+":");System.out.print(new String(kv[i].getQualifier())+" ");System.out.print(kv[i].getTimestamp()+" ");System.out.println(new String(kv[i].getValue()));}}} catch (IOException e) {e.printStackTrace();}}//scan 'test', {COLUMNS => ['id'], CACHE_BLOCKS => false}public void getFamily(){try {HTable table = new HTable(conf, "test");Get get = new Get(Bytes.toBytes("rows1"));Result r = table.get(get);byte[] b = r.getValue(Bytes.toBytes("id"), Bytes.toBytes(1));if(b==null){System.out.println("值不存在!检查簇是不是存在");return;}else{System.out.println(new String(b));}} catch (IOException e) {e.printStackTrace();}}/** 删除某一行数据* */public void deleteRow() throws IOException{HTable table = new HTable(conf, "test");List<Delete> list = new ArrayList<Delete>();Delete d1 = new Delete("rows2".getBytes());list.add(d1);table.delete(list);控制台输出:11/06/26 15:30:16 DEBUG catalog.CatalogTracker: Stopping catalog trackerorg.apache.hadoop.hbase.catalog.CatalogTracker@178460d11/06/26 15:30:16 DEBUG client.HConnectionManager$HConnectionImplementation: Lookedup root region location,connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImpl ementation@2bd3a; hsa=slaver1:6002011/06/26 15:30:16 DEBUG client.HConnectionManager$HConnectionImplementation: Cached location for .META.,,1.1028785192 is slaver1:6002011/06/26 15:30:16 DEBUG client.MetaScanner: Scanning .META. starting atrow=test,,00000000000000 for max=10 rows11/06/26 15:30:16 DEBUG client.HConnectionManager$HConnectionImplementation: Cached location for test,,1309073416281.9e47124da6d9845efd91385ba73c18ee. is slaver1:60020创建表成功!11/06/26 15:30:16 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.169.34:2181 sessionTimeout=180000 watcher=hconnection11/06/26 15:30:16 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.169.34:218111/06/26 15:30:16 INFO zookeeper.ClientCnxn: Socket connection established to slaver1/192.168.169.34:2181, initiating session11/06/26 15:30:16 INFO zookeeper.ClientCnxn: Session establishment complete on server slaver1/192.168.169.34:2181, sessionid = 0x1314670b4d70005, negotiated timeout = 18000011/06/26 15:30:16 DEBUG client.HConnectionManager$HConnectionImplementation: Lookedup root region location,connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImpl ementation@b1aebf; hsa=slaver1:6002011/06/26 15:30:16 DEBUG client.HConnectionManager$HConnectionImplementation: Cached location for .META.,,1.1028785192 is slaver1:6002011/06/26 15:30:16 DEBUG client.MetaScanner: Scanning .META. starting at。

相关文档
最新文档