- 浏览: 22818 次
- 性别:
- 来自: 武汉
最新评论
文章列表
有一个格式化的数据文件,用\t分割列,第2列为产品名称。现在需求把数据文件根据产品名切分为多个文件,使用MapReduce程序要如何实现?
原始文件:
[root@localhost opt]# cat aprData
1 a1 a111
2 a2 a211
3 a1 a112
4 a1 a112
5 a1 a112
6 a1 a112
7 a2 a112
8 a2 a112
9 ...
package kpi;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.ArrayWritable;
import org.apach ...
1.在mapred-site中配置<property> <name>mapreduce.jobhistory.address</name> <value>hadoop2-2:10020</value> <description>MapReduce JobHistory Server host:port. Default port is 10020.</description> </property> <property> ...
搭建yarn集群
========================================
修改配置文件 yarn-site.xml<property><name>yarn.resourcemanager.hostname</name><value>crxy1</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</ ...
搭建自动切换HA的HDFS集群(比手工切换ha集群,多了zookeeper集群)----------------------------------------------------------------------------------------------zookeeper:hadoop2-1、hadoop2-2、hadoop2-3namenode:hadoop2-1和hadoop2-2datanode:hadoop2-3、hadoop2-4、hadoop2-5、hadoop2-6journalnode:hadoop2-1、hadoop2-2、hadoop2-3
2.0 ...
-----------------------------1.搭建手工切换HA(high availibility)的HDFS集群-----------------------------namenode:hadoop1和hadoop2datanode:hadoop3、hadoop4、hadoop5、hadoop6journalnode:hadoop1、hadoop2、hadoop3
1.0 配置linux环境 1.0.1 确保虚拟机直接可以ping成功
1.0.2 设置hostname vi /etc/sysconfig/network
1.0.3 配置/etc ...
环境:
虚拟机的内存不低于2GB,硬盘空间不低于10GB。否则,执行maven时会出现空间不足。jdk安装1.7版本。
在linux编译hadoop2.5.1源码
首先安装google的protobuf
yum install glibc-headers
yum install gcc yum install gcc-c++ yum install make
yum install cmake yum install openssl-devel yum install ncurses-devel
tar zxvf protobuf-2.5.0.tar.gz
一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环 ...
行
行健
列
时间戳
列簇<family>
限定符<qualifier>
元素
HBase以表的形式存储数据,每个表由行和列组成,每个列属于一个特定的列族。
表中由行和列确定的存储单元称为一个元素,每个元素保存里同一份数据的多个版本,有时间戳来标识。
行健是数据行在表中的唯一标识,并作为检索记录的主键。
在HBase中访问表中的行只有三种方式:通过单个行健访问;给定行健的范围访问;全表扫描。
行健可以是任意字符串(最大长度64KB),并按照字典序进行存储。
时间戳对应着每条数据操作所关联的时间,可以由系统自动生成,也可以由用户显式地赋值 ...
启动hbase时错误信息如下:
发现是版本冲突的问题,但是我之前处理过冲突(已经做了hadoop-core-1.2.1.jar文件的覆盖),仔细看了下日志信息,原来上面还有错误信息,没有重视:
这里就估计应该是hbase-site.xml文件中配置问题了:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
< ...
hadoop安装成功,启动是会有如下的警告信息:
如何去掉改警告信息呢?先去看start-all.sh文件:
这里的一段if else 可以看出 如果 libexec/hadoop-config.sh文件不存在则执行 bin/hadoop-config.sh,继续看bin/hadoop-config.sh文件:
上图可以看出 当环境变量 HADOOP_HOME_WARN_SUPPRESS 为空 并且 HADOOP_HOME不为空时会打印警告信息,为了不打印警告信息,我们配置一下环境变量HADOOP_HOME_SUPPRESS即可:
vi /etc/p ...
rpc(remote procedure call)
不同java进程间的对象方法调用
一方称作服务端(server),一方称作客户端(client)。
server端提供对象,供客户端调用,被调用的对象的方法的执行发生在server端。
rpc是hadoop框架运行的基础。
下面是一个基于hadoop的rpc框架的例子:
服务端代码:
package rpc;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
import org.apach ...
使用Hadoop的java api 针对HDFS进行文件上传、创建、重命名、删除操作:
package hadoop.hdfs;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.F ...
继续axis1的实现,传递复杂类型javabean:
一、服务端:
服务端需要在server-config.wsdd文件中要发布的service 中加入 beanMapping 指定要 传递JavaBean的类型,
见红色部分:
<service name="MyServices" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<pa ...
上周由于工作需要,通过webservices发布服务,进行数据交换。于是果断找出09年在丽水开发时的学习笔记,webservice服务采用开源组件axis1的1.3版本实现:
一,新建web项目,并修改web.xml文件,将如下代码cope到web.xml文件中
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-c ...