mac系统上的Hadoop+Eclipse+HBase单机配置

1.首先是安装Hadoop

从apache的官网上下载hadoop压缩包,最好是下载稳定版本的,我使用的是hadoop-1.2.0,下载之后解压。配置系统的环境变量,在我的mac上就是修改~/.bash_profile文件,添加

export JAVA_HOME="/System/Library/Framework/JavaVM.framework/Versions/1.6.0/Home"

由于Hadoop系列的工具依赖的是java1.6所以这里取1.6.0,对应的在Ubuntu或者其他系统上也应该选用1.6版本的Java,并且最好是Sun公司的版本,以免出现意想不到的麻烦。

另外为了方便起见,在~/.bash_profile中设置Hadoop的安装路径

export HADOOP_BASE="****/hadoop-1.2.0"(后边****均表示我自己的某个路径)

export PATH="${HADOOP_BASE}/bin:${PATH}"

按理说这样就能够运行Hadoop了,但是这样的话在运行hadoop namenode -format指令的时候会报错说没有设置JAVA_HOME,所以还是在HADOOP_BASE/conf/hadoop-env.sh中设置一下JAVA_HOME吧,方法跟上边提到的是一样的。

接着就可以运行start-all.sh来启动所有的守护进程,输入jps命令观察你的所有该有的节点是否都起来了(包括namenode,datanode.secondnamenode,jobtracker和tasktracker),如果有没起来的要到日志里看一下原因。

另外,针对mac版本还会存在的一个问题是在 执行hadoop fs等命令时会报错“Uable to load realm info from ....”这个是所有mac上装载的一个共有问题,按照http://stackoverflow.com/questions/7134723/hadoop-on-osx-unable-to-load-realm-info-from-scdynamicstore里边的方法即可解决。

下边给出关于hdfs伪随机分布的配置

要修改的部分主要有三个:

<!--core-site.xml-->

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

默认的端口是8020,我这里用的是9000。

<!--hdfs-site.xml-->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

这里因为是伪随机分布,只能起1个备份。

<!--mapred-site.xml>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

这个的默认端口是8021

之后你可以试一下hadoop fs -copyFromLocal命令看看还有没有什么问题

2. 安装Eclipse

自己从网上下载个eclipse,我用的版本是3.7,不知道最新的4.2在装插件的时候有没有问题

然后就是编译插件了,网上又很多提供的编译好之后的jar包,但是由于我的是mac,可能平台兼容性的问题,这些jar包都不能使用,所以不得不自己编译。我也建议大家自己编译,不是很费事。

参照这个就OK http://www.cnblogs.com/chenying99/archive/2013/05/31/3109566.html 

之后把生成的jar包放入eclipse的plugin中,然后重新打开eclipse,在你新建工程的时候就会发现有个新的选项就是mapreduce project,从window>open perspective>other中打开MapReduce,会发现IDE下边中出现了Map/Reduce Location界面,右键点击新建一个Location,这里注意端口的设置要和你之前的配置文件里一致,然后在左侧project explore里点击DFS Location就能一直打开到你的HDFS文件系统。

然后你就新建个MapReduce工程,用wordcount.java测试一下吧,这个文件可以从hadoop包里的example中找到。

其余的不细说了,网上都有

3 .HBase的安装

跟Hadoop一样,下载jar包解压,在~/.bash_profile里设置环境变量和安装路径等,同样的也要修改hbase-env.sh这个文件,配置JAVA_HOME和

export HBASE_OPTS="-XX:+UseConcMarkSweepGC -Djava.net.preferIPv4Stack=true -    Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kd    c1.ox.ac.uk"

以避免提到的出现在Hadoop中的问题。

start-hbase.sh启动hbase,用jps看看是否所有进程都起来了,参照hbase官方文档中关于伪分布式的配置。另外要注意的将hbase的lib文件夹下的hadoop-core-jar用自己的hadoop版本的jar包替换掉,否则HMaster会起不来。

hbase shell命令,用list和create 'test,'cf'等命令测试一下。OK!

4。如何在Eclipse里编写HBase工程

将你的HBase目录下的两个jar包和lib文件目录下的所有jar包引用到工程里,就可以像普通的Jar包使用了。

其他的注意事项

1. 个人暂时配置的是伪分布环境,在这个环境下使用start-hbase.sh命令启动的时候必要容易出现的问题是HMaster起来了之后就又关闭了,可能是zookeeper理应比HBase早启动的原因,所以最好使用hbase-demeaon什么的那条命令按顺序启动。(不知道这种方式是否管用,或者上述问题的造成原因是否有其他)。

2.如果Hadoop的rootdir的配置的端口不是默认的8020的时候,要注意在访问HDFS文件的时候如果写绝对路径的话是hdfs://localhost:9000(就是你自己配的端口号),否则会出现60020端口访问不到的问题。

暂时就这样!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值