Hadoop + MongoDB运行环境搭建

2019-03-28 13:22|来源: 网络

首先要下载mongo-Hadoop adapter

git clone https://github.com/mongodb/mongo-hadoop.git

git checkout release-1.0

然后进入mongo-hadoop目录,找到build.sbt将 hadoopRelease in ThisBuild 修改成如下所示:

hadoopRelease in ThisBuild := "0.20"

然后运行 ./sbt package(关于sbt https://github.com/harrah/xsbt/wiki)

运行时需要翻&墙才行。

运行结束之后会再core/target目录下生成一个jar文件mongo-hadoop-core_0.20.205.0-1.0.1.jar,然后下载mongodb的驱动包。

wget --no-check-certificate https://github.com/downloads/mongodb/mongo-java-driver/mongo-2.7.3.jar  下载完之后就可以开始开发mongo-hadoop的程序了。

运行自带示例: 首先将数据导入到mongodb中,命令如下。 

./sbt load-sample-data

然后再eclipe中新建一个项目,例如treasury,将mongo-hadoop/example/treasury_field中的源文件和资源文件复制到新建的项目下。

如图所示:

然后修改mongo-treasury_yield.xml文件中mongodb的url和存放collection

< property >
<!--  If you are reading from mongo, the URI  -->
< name >mongo.input.uri </ name >
< value >mongodb://127.0.0.1/mongo_hadoop.yield_historical.in </ value >
</ property >
< property >
<!--  If you are writing to mongo, the URI  -->
< name >mongo.output.uri </ name >
< value >mongodb://127.0.0.1/mongo_hadoop.yield_historical.out </ value >
</ property >

然后修改TreasuryYieldXMLConfig.java如下:

Configuration.addDefaultResource( "resources/mongo-treasury_yield.xml");
Configuration.addDefaultResource( "resources/mongo-defaults.xml" );

后将项目打包成jar文件。

运行 hadoop jar treasury.jar com.mongodb.hadoop.treasury.TreasuryXMLConfig 即可运行hadoop程序。运行结果如下图:mongodb中的数据。

相关问答

更多
  • java是执行文件,不是目录 java path默认是java_home/bin/目录 这个目录底下应该 java和javac等文件
  • 1、hadoop是一种分布式系统的平台,通过它可以很轻松的搭建一个高效、高质量的分布系统,而且它还有许多其它的相关子项目,也就是对它的功能的极大扩充,包括Zookeeper,Hive,Hbase等。 2、MapReduce是hadoop的核心组件之一
  • 1.关闭hdfs权限:hdfs-site.xml中 dfs.permissions false 2.检查eclipse插件是否设置了hadoop安装目录:将与linux下安装的hadoop相同版本的hadoop解压到windows下一个文件夹,然后指定hadoop插件目录,插件目录在preferences的map/reduce的hadoop installation location 3.在windows的hosts文件中添加hadoop所有节点的ip和主机名 4.关闭linux系统防火墙 5.把hadoo ...
  • 1、下载安装JDK,以及Eclipse 具体看此链接:http://blog.csdn.net/weixuehao/article/details/17715793 2、新建JAVA Project 3、去cloudera网站下载hadoop的CDH3u6版本。将起解压到win7的某个目录 4、选中OperateHDFS,右击,选择“property”,弹出右侧的窗口; 选择“Java Build Path” —— “Libraries” —— Add External Jars 5、到上面的画面后,下面就 ...
  • 我不是高手,但我可以告诉你我怎么学习。①选择一个Hadoop的版本,然后阅读文档了解Hadoop:What's Hadoop, Why Hadoop exists;②安装Hadoop,三种方式都试下;③在Hadoop文档里面有Hadoop Command的资料,I.hdfs command,II.job command,尽量试试这两方面的命令;④Hadoop Files,看看Hadoop文件的概念,关注它的分布式特点,然后看看Reduce函数输出的文件;⑤自己写WordCount与Advanced Word ...
  • namenode节点配置 conf/core-site.xml: fs.default.name hdfs:// localhost:9000 hdfs测试环境配置 conf/hdfs-site.xml: 数据块不需要冗余 dfs.replication 1 job-tracker配置 conf/mapred-site.xml: mapred.job.tracker localhost:9001 免密码ssh登录配置 $ ssh localhost # 若不行, 则进行以下配置 $ ssh-keygen - ...
  • 你肯定可以把你的宿主机的ip固定下来 而且使用bridge 你的虚拟机也能设置成固定的ip
  • 我不是高手,但我可以告诉你我怎么学习。①选择一个Hadoop的版本,然后阅读文档了解Hadoop:What's Hadoop, Why Hadoop exists;②安装Hadoop,三种方式都试下;③在Hadoop文档里面有Hadoop Command的资料,I.hdfs command,II.job command,尽量试试这两方面的命令;④Hadoop Files,看看Hadoop文件的概念,关注它的分布式特点,然后看看Reduce函数输出的文件;⑤自己写WordCount与Advanced Word ...
  • 单节点localhost. 否则就是各节点的hostname,另外要区分你用的是哪个版本的hadoop,最新版本不需要在配置文件里指定哪个是master,只需配置namenode的hostname即可
  • centOs6,redhat,Ubuntu都行,我个人感觉centOs比较好用,我自己也在用。