- 浏览: 74347 次
- 性别:
- 来自: 深圳
最新评论
-
aqi915:
aqi915 写道可以发下代码么,你的其它类没有呢929228 ...
用MapReduce操作mongodb与hdfs的读写例子 -
aqi915:
可以发下代码么,你的其它类没有呢
用MapReduce操作mongodb与hdfs的读写例子 -
linux_yao:
你好,可以贡献一下你的这个程序么?我是初学Hadoop,正想了 ...
用MapReduce操作mongodb与hdfs的读写例子
文章列表
1. 内存
hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。
大部分情况下,这个统一设置的值可能并不适合。例如对于namenode节点,1000M的 ...
需要引入的类包:mongo-java-driver-2.11.2.jar、mongo-hadoop-core_1.0.4-1.1.0.jar
一、从MongoDB上读数据,进行MapReduce后,把结果在在HDFS上。
1、Job的配置启动类:
package com.test.similarity.dataimport;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import ...
HDFS和MapReduce是Hadoop的两大核心。Hadoop的体系结构主要是通过HDFS来实现分布式存储的底层支持的,通过MapReduce来实现分布式并行任务处理的程序支持。
一、HDFS的体系结构。
HDFS采用了主从(Master/Slave
Yarn基本组成结构
一、ResourceManager:
是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationMaster)
1)调度器(Scheduler):将系统中的资源分配给各个正在运行的应用程序;
应用程序管理器(ApplicationMaster):负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源,以及启动ApplicationMaster、监控2)ApplicationMaster运行状态,并在失败时重新启动等;
二、ApplicationMaster:
用户提交的每个 ...
MapReduce 1.0基本组成结构介绍
一、JobTracker:
JobTracker是整个MapReduce计算框架中的主服务,相当于集群的管理者,负责整个集群的作业控制和资源管理。
1)作业控制模块,负责作业的分解和状态的监控。
其中,最重要的是状态的监控,主要包括TaskTracker状态监控、作业状态监控、任务状态监控等。其最主要的作用有两个:容错和为任务调度提供决策依据。
2)资源管理模块,是通过一定的策略,将各个节点上的计算资源分配给集群中的任务。
二、TaskTracker:
TaskTracker是HADOOP集群中运行于各个节点上的服务。负责任务的执行和汇报心跳;
1) ...
2 Task运行过程分析
Map Task分解成Read、Map、Collect、Spill、Combine五个阶段,Reduce Task分解成Shuffle、Merge、Sort、Reduce、Write五个阶段。
2.1 Map Task整体流程
1) Read阶段:Map Task通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value;
2) Map:将解析出的key/value交给用户编写的map()函数处理,并产生一系列新的key/value;
3) Collect:当Map处理完数据后,一般会调用OutputCollector.colle ...
1 MapReduce编程模型
根据运行顺序,主要由以下五部分组成:
1.1 InputFormat
主要用于描述输入数据的格式。
提供以下两个功能:
1) 数据切分:按照某个策略将输入数据切分成若干个split,以便确定Map Task个数以及对应的split;
2) 为Mapper提供输入数据:给定某个split,能将其解析成一个个key/value对。
包含算法:
1) 文件切分算法:用于确定InputSplit的个数,以及每个InputSplit对应的数据段;
2) Host选择算法:确定每个InputSplit的元数据信息;
1.2 Map
1) 初始化:对Map的运行,进行初始化处理 ...
一、普通Java project:
1、Eclipse下的系统参数设置:
在VM arguments下,设置以下值:-DcrawlerHome=E:\crawler
2、LINUX下的运行设置:
用脚本启动时,启动的命令参数如下:
${JAVA_HOME}/bin/java -DcrawlerHome=/usr/local/crawler -Xms512m -Xmx512m
二、Web Project:
1、Eclipse下的系统参数设置:
2、LINUX下的Tomcat的系统参数设置:
打开文件:${TOMCAT_HOME}/bin/startup.sh,在文件的倒数第二行添加:
JA ...
安装过程中,需要注意运行命令的用户。比如,以用户root运行本该用mysql用户运行的命令时,可能会造成后面的启动报错。
1、下载源码包
去 http://dev.mysql.com/downloads/mysql/6.0.html 里下载到 mysql-6.0.0-alpha.tar.gz
2、创建mysql的用户组和用户
[root@T5037 ~]# groupadd mysql
[root@T5037 ~]# useradd -g mysql mysql
3、编译安装 mysql
[root@T5037 ~]# cp mysql-6.0.0-alpha.tar.gz /opt/an ...
一、背景
HADOOP的配置优化,涉及到多方面,本部分主要针对HADOOP集群的配置优化进行汇总,以供参考。
二、配置
1、hdfs-site.xml配置文件
1)、dfs.block.size:块大小的设置,也就是说文件按照多大的size 来切分块。
一般来说,块的 ...
一、背景
本篇主要针对Decommission状态的数据节点重用的处理方法。
如果是完全新增一个服务器作为新增节点,可参考本博客:http://szjian.iteye.com/admin/blogs/1221163
二、操作
1、在$HADOOP_HOME目录下,新建一个slaves.include文件(此文件名 ...
一、系统环境:
Hadoop 0.20.2、JDK 1.6、Linux操作系统
二、使用背景
网上关于hadoop的集群配置,很多情况下,都是把namenode和secondnamenode部署在同一服务器上。为了降低风险,一个大的集群环境,最好是把这两个配置到不同的服务器上。
三、操作
要达到这要求,需要对conf/master、conf/hdfs-site.xml和conf/core-site.xml这三个配置文件进行设置。
1、conf/master文件:
hadoop的官网和大多网上的安装手册,都要求此文件配置namenode机器的IP或是名称。其实,master文件不决定哪个是n ...
一、停止数据节点的方法:
向名称节点通知希望停止的节点,使其能在数据节点关闭之前,将数据块复制到其他数据节点中。
二、操作步骤:
1、必须先确认集群是在运行中。并且已经退出的安全模式。安全模式状态的查看:
- ...
通过JAVA编程,使用余弦定理,相似度算法的实现
/**
* 计算带有权重的相似度
* @param dict1:Map<String,Integer>:Map<特征词,权重值>
* @param dict2:Map<String,Integer>:Map<特征词,权重值>
* @return
*/
public double similarity(Map<String,Integer> dict1,Map<String,Integer> dict2){
double similarity = ...
一、创建用户
groupadd analyzer -f
useradd analyzer -d /opt/analyzer -g analyzer -p searchanalyzer
二、处理/etc/hosts文件
三、设置免密码登录(多台机器的id_rsa.pub,相互拷贝)
生成公钥、密钥:
ssh-keygen -t rsa
复制本地id_rsa.pub到远程服务器,使远程服务器登录本地可以免密码
scp
scp analyzer@10.1.4.34:/opt/analyzer/.ssh/id_rsa.pub id_rsa_pub_dir/id_rsa_xxx.pub
生成auth ...