摘要: 一、 配置ssh 1. 命令 ssh-keygen [选项] 2. 说明 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥 3. 选项 -C:添加注释 -f:指定用来保存密钥的文件名 -l:显示公钥文件的指纹数据 -q:静默模式 -t:指定要创建的密钥类型,密钥类型包括rs 阅读全文
posted @ 2016-07-16 15:16 刘超★ljc 阅读(942) 评论(0) 推荐(1) 编辑
摘要: kafka(官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统 在Flume中的KafkaChannel支持Flume与Kafka整合,可以将Kafka当做channel使用,其主要配置项如下 阅读全文
posted @ 2016-07-16 14:41 刘超★ljc 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)中数据 在Flume中的netcat支持Flume与NetCat整合,flume可以使用netcat读取网络中的数据,其主要配置项如下 启动flume(./flume-ng agent 阅读全文
posted @ 2016-07-16 14:08 刘超★ljc 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可 阅读全文
posted @ 2016-07-16 11:19 刘超★ljc 阅读(3410) 评论(0) 推荐(0) 编辑
摘要: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k1、-Xmx3550m:设置JVM最大可用内存为3550M。2、-Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。3、-Xmn2g:设置年轻代大小 阅读全文
posted @ 2016-07-16 10:40 刘超★ljc 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 1、节点规划 在master、backup节点上添加eth0、eth1两网卡,具体添加过程,参考“基于VMware为CentOS 6.5配置两个网卡” 2、IP规划 master backup eth0 192.168.46.128 192.168.46.130 eth1 192.168.46.12 阅读全文
posted @ 2016-07-05 19:15 刘超★ljc 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: 1、进去http://fedoraproject.org/wiki/EPEL 2、因为系统是centos 6.5,所以获取epel-release-latest-6.noarch.rpm的地址(https://dl.fedoraproject.org/pub/epel/epel-release-la 阅读全文
posted @ 2016-07-04 10:26 刘超★ljc 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 为CentOS 6.5配置两块网卡,一块是eth0,一块是eth1,下面以master为例 1、选择“master”-->“编辑虚拟机设置”,如下所示 2、单击“添加”,如下 3、选择“网络适配器”,单击“下一步”,如下 4、我配置的网络就是NAT模式,这里默认,单击“完成” 5、单击“确定”,完成 阅读全文
posted @ 2016-07-03 21:22 刘超★ljc 阅读(1934) 评论(0) 推荐(1) 编辑
摘要: 1、下载Zookeeper http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/ 2、创建/usr/app/zookeeper目录,并切换到该目录,如下所示 3、使用rz命令上传zookeeper-3.4.6.tar.gz 4、解压(ta 阅读全文
posted @ 2016-06-24 17:15 刘超★ljc 阅读(1541) 评论(0) 推荐(2) 编辑
摘要: 1、HBase概述 HBase是hadoop生态系统中的重要组成部分,是一个开源的、面向列、适合存储海量非结构化数据或半结构化数据,具备高可靠性、高性能、可灵活扩展伸缩、支持实时数据读写的分布式存储系统 存储在Hbase中的表的特征 1、大:一个表可以有上亿行,上百万列 2、任意模式:每行都有一个可 阅读全文
posted @ 2016-06-21 11:10 刘超★ljc 阅读(991) 评论(0) 推荐(3) 编辑
摘要: 在hadoop2.6.0分布式集群上搭建hbase ha分布式集群。搭建hadoop2.6.0分布式集群,请参考“基于hadoop2.6.0搭建5个节点的分布式集群”。下面我们开始啦 1、规划 1、主机规划 Node Name Master Zookeeper RegionServer hadoop 阅读全文
posted @ 2016-06-19 23:03 刘超★ljc 阅读(1091) 评论(0) 推荐(4) 编辑
摘要: 一、获取当前目录下的文件个数 1、命令 ls -l | grep "^-" | wc -l 2、说明 ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等);grep “^-“ 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是^d; 阅读全文
posted @ 2016-06-16 22:18 刘超★ljc 阅读(684) 评论(0) 推荐(1) 编辑
摘要: 对于简单的分析程序,我们只需一个MapReduce就能搞定,然而对于比较复杂的分析程序,我们可能需要多个Job或者多个Map或者Reduce进行计算。下面我们来说说多个Job或者多个MapReduce的编程形式 MapReduce的主要有以下几种编程形式 1、迭代式MapReduce MapRedu 阅读全文
posted @ 2016-06-11 12:09 刘超★ljc 阅读(1185) 评论(2) 推荐(2) 编辑
摘要: 默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。下面我们来说说二次排序 1、二次排序原理 我们把二次排序分为以下几个阶段 Map起始阶段 在Map阶段,使用job.setInputFormatClass()定 阅读全文
posted @ 2016-06-08 00:56 刘超★ljc 阅读(11655) 评论(3) 推荐(10) 编辑
摘要: 前面我们介绍了MapReduce中的Join算法,我们提到了可以通过map端连接或reduce端连接实现join算法,在文章中,我们只给出了reduce端连接的例子,下面我们说说使用map端连接结合分布式缓存机制实现Join算法 1、介绍 我们使用频道类型数据集和机顶盒用户数据集,进行连接,统计出每 阅读全文
posted @ 2016-06-02 20:21 刘超★ljc 阅读(1285) 评论(0) 推荐(2) 编辑
摘要: 在用于查找子字符串的算法中,BM(Boyer-Moore)算法是当前有效且应用比较广泛的一种算法,各种文本编辑器的“查找”功能(Ctrl+F),大多采用Boyer-Moore算法。比我们学习的KMP算法快3~5倍。 在1977年,Boyer-Moore算法由德克萨斯大学的Robert S. Boye 阅读全文
posted @ 2016-05-31 21:52 刘超★ljc 阅读(2090) 评论(1) 推荐(1) 编辑
摘要: 前面我们学习了如何使用MapReduce计数器,那么我们通过下面这个项目巩固我们所学 1、介绍 本项目我们使用电视机顶盒数据,统计出无效用户数据记录,并解析出有效的用户数据以压缩格式输出 2、数据集 数据来源于“hadoop小文件合并”处理后的结果 3、分析 基于需求,我们通过以下几步完成: 1、首 阅读全文
posted @ 2016-05-29 10:31 刘超★ljc 阅读(1044) 评论(0) 推荐(2) 编辑
摘要: 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 在上面这个例子中,字符串"BBC ABCDAB ABCDABCDABDE"称为主串,字符串"ABCDABD"称为模式串 许多算法可以完成这个任务,Knuth-Morris 阅读全文
posted @ 2016-05-27 22:46 刘超★ljc 阅读(476) 评论(0) 推荐(1) 编辑
摘要: 在关系型数据库中Join是非常常见的操作,各种优化手段已经到了极致。在海量数据的环境下,不可避免的也会碰到这种类型的需求,例如在数据分析时需要从不同的数据源中获取数据。不同于传统的单机模式,在分布式存储下采用MapReduce编程模型,也有相应的处理措施和优化方法。 我们先简要地描述待解决的问题。假 阅读全文
posted @ 2016-05-26 09:27 刘超★ljc 阅读(2852) 评论(3) 推荐(2) 编辑
摘要: 1、MapReduce计数器是什么? 计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况。 2、MapReduce计数器能做什么? MapReduce 计数器(Counter)为我们提供一个窗口,用于观察 MapReduc 阅读全文
posted @ 2016-05-23 22:12 刘超★ljc 阅读(9991) 评论(0) 推荐(3) 编辑
摘要: 1、前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA、ResourceManager+HA,并使用zookeeper来管理Hadoop集群 2、规划 1、主机规划 hadoop1/ 192.168.56.131 hadoop2/ 192.168.56.13 阅读全文
posted @ 2016-05-20 16:37 刘超★ljc 阅读(5308) 评论(1) 推荐(1) 编辑
摘要: 1、YARN 是什么? 从业界使用分布式系统的变化趋势和 hadoop 框架的长远发展来看,MapReduce的 JobTracker/TaskTracker 机制需要大规模的调整来修复它在可扩展性,内存消耗,线程模型,可靠性和性能上的缺陷。在过去的几年中,hadoop 开发团队做了一些 bug 的 阅读全文
posted @ 2016-05-15 09:16 刘超★ljc 阅读(9273) 评论(0) 推荐(1) 编辑
摘要: 我们继续通过项目强化掌握Combiner和Partitioner优化Hadoop性能 1、项目介绍 本项目我们使用明星搜索指数数据,分别统计出搜索指数最高的男明星和女明星。 2、数据集 3、分析 基于项目的需求,我们通过以下几步完成: 1、编写Mapper类,按需求将数据集解析为key=gender 阅读全文
posted @ 2016-05-14 16:14 刘超★ljc 阅读(1434) 评论(0) 推荐(2) 编辑
摘要: 上一篇文章我们了解了MapReduce优化方面的知识,现在我们通过简单的项目,学会如何优化MapReduce性能 1、项目介绍 我们使用简单的成绩数据集,统计出0~20、20~50、50~100这三个年龄段的男、女学生的最高分数 2、数据集 姓名 年龄 性别 成绩 Alice 23 female 4 阅读全文
posted @ 2016-05-12 23:00 刘超★ljc 阅读(3189) 评论(2) 推荐(5) 编辑
摘要: Combiner和Partitioner是用来优化MapReduce的,可以提高MapReduce的运行效率。下面我们来具体学习这两个组件 Combiner 我们以WordCount为例,首先通过下面的示意图直观的了解一下Combiner的位置和作用 从上图可以看出,Combiner介于 Mappe 阅读全文
posted @ 2016-05-09 09:30 刘超★ljc 阅读(1626) 评论(0) 推荐(2) 编辑
摘要: 互联网时代的到来,使得名人的形象变得更加鲜活,也拉近了明星和粉丝之间的距离。歌星、影星、体育明星、作家等名人通过互联网能够轻易实现和粉丝的互动,赚钱也变得前所未有的简单。同时,互联网的飞速发展本身也造就了一批互联网明星,这些人借助新的手段,最大程度发挥了粉丝经济的能量和作用,在互联网时代赚得盆满钵满 阅读全文
posted @ 2016-05-07 15:17 刘超★ljc 阅读(2165) 评论(0) 推荐(3) 编辑
摘要: 针对前面介绍的输入格式,MapReduce也有相应的输出格式。默认情况下只有一个 Reduce,输出只有一个文件,默认文件名为 part-r-00000,输出文件的个数与 Reduce 的个数一致。 如果有两个Reduce,输出结果就有两个文件,第一个为part-r-00000,第二个为part-r 阅读全文
posted @ 2016-05-07 08:59 刘超★ljc 阅读(3159) 评论(0) 推荐(1) 编辑
摘要: 数据在HDFS和关系型数据库之间的迁移,主要有以下两种方式 1、按照数据库要求的文件格式生成文件,然后由数据库提供的导入工具进行导入 2、采用JDBC的方式进行导入 MapReduce默认提供了DBInputFormat和DBOutputFormat,分别用于数据库的读取和数据库的写入 1、需求 下 阅读全文
posted @ 2016-05-06 10:44 刘超★ljc 阅读(4590) 评论(0) 推荐(2) 编辑
摘要: 常见的排序算法有冒泡排序、选择排序、插入排序、堆排序、归并排序、快速排序、希尔排序、基数排序、计数排序,下面通过Java实现这些排序 1、冒泡排序 2、选择排序 3、插入排序 4、堆排序 5、归并排序 6、快速排序 7、希尔排序 8、基数排序 9、计数排序 如果,您认为阅读这篇博客让您有些收获,不妨 阅读全文
posted @ 2016-05-04 10:49 刘超★ljc 阅读(403) 评论(0) 推荐(1) 编辑
摘要: MultipleOutputs 类可以将数据写到多个文件,这些文件的名称源于输出的键和值或者任意字符串。这允许每个 reducer(或者只有 map 作业的 mapper)创建多个文件。 采用name-m-nnnnn 形式的文件名用于 map 输出,name-r-nnnnn 形式的文件名用于 red 阅读全文
posted @ 2016-05-02 19:46 刘超★ljc 阅读(5422) 评论(1) 推荐(6) 编辑
摘要: 1、需求 按学生的年龄段,将数据输出到不同的文件。这里我们分为三个年龄段:小于等于20岁、大于20岁小于等于50岁和大于50岁 2、实现 1、编写Partitioner,代码如下 2、编写mapper 3、编写reducer 4、一些运行代码 3、总结 Partitioner适用于事先知道分区数的情 阅读全文
posted @ 2016-05-02 11:16 刘超★ljc 阅读(877) 评论(0) 推荐(2) 编辑
摘要: 前面我们所写mr程序的输入都是文本文件,但真正工作中我们难免会碰到需要处理其它格式的情况,下面以处理excel数据为例 1、项目需求 有刘超与家庭成员之间的通话记录一份,存储在Excel文件中,如下面的数据集所示。我们需要基于这份数据,统计每个月每个家庭成员给自己打电话的次数,并按月份输出到不同文件 阅读全文
posted @ 2016-04-28 19:40 刘超★ljc 阅读(2023) 评论(1) 推荐(2) 编辑
摘要: 文件是 MapReduce 任务数据的初始存储地。正常情况下,输入文件一般是存储在 HDFS 里面。这些文件的格式可以是任意的:我们可以使用基于行的日志文件, 也可以使用二进制格式,多行输入记录或者其它一些格式。这些文件一般会很大,达到数十GB,甚至更大。那么 MapReduce 是如何读取这些数据 阅读全文
posted @ 2016-04-22 21:52 刘超★ljc 阅读(1567) 评论(0) 推荐(2) 编辑
摘要: 随着 MapReduce 的流行,其开源实现 Hadoop 也变得越来越受推崇。在 Hadoop 系统中,有一个组件非常重要,那就是调度器。调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器 1、调度器基本作用 Hadoop调度器的基本作用就是根据节点资源(slot)使用情况和作业的 阅读全文
posted @ 2016-04-21 20:07 刘超★ljc 阅读(6001) 评论(1) 推荐(2) 编辑
摘要: Hadoop中的MapReduce是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个机器组成的大型集群上,并且以一种可靠容错并行处理TB级别的数据集。 一个MapReduce作业(job)通常会把输入的数据集切分为若干独立的数据块,由Map任务并行处理它们。框架会对map函数的输出先 阅读全文
posted @ 2016-04-20 14:21 刘超★ljc 阅读(2011) 评论(0) 推荐(1) 编辑
摘要: 目录 1、MapReduce定义 2、MapReduce来源 3、MapReduce特点 4、MapReduce实例 5、MapReduce编程模型 6、MapReduce 内部逻辑 7、MapReduce架构 8、MapReduce框架的容错性 9、MapReduce资源组织方式 1、MapRed 阅读全文
posted @ 2016-04-19 22:40 刘超★ljc 阅读(12270) 评论(0) 推荐(4) 编辑
摘要: 1、背景 在实际项目中,输入数据往往是由许多小文件组成,这里的小文件是指小于HDFS系统Block大小的文件(默认128M), 然而每一个存储在HDFS中的文件、目录和块都映射为一个对象,存储在NameNode服务器内存中,通常占用150个字节。 如果有1千万个文件,就需要消耗大约3G的内存空间。如 阅读全文
posted @ 2016-04-18 22:30 刘超★ljc 阅读(4900) 评论(0) 推荐(3) 编辑
摘要: Hadoop 中,并没有使用Java自带的基本类型类(Integer、Float等),而是使用自己开发的类。Hadoop 自带有很多序列化类型,大致分为以下两种: 实现了WritableComparable接口的类 实现了WritableComparable接口的类 基础:BooleanWritab 阅读全文
posted @ 2016-04-17 10:36 刘超★ljc 阅读(2141) 评论(0) 推荐(1) 编辑
摘要: 目录 1、为什么要序列化? 2、什么是序列化? 3、为什么不用Java的序列化? 4、为什么序列化对Hadoop很重要? 5、Hadoop中定义哪些序列化相关的接口呢? 6、Hadoop 自定义Writable 接口 1、为什么要序列化? 一般来说,"活的"对象只存在内存里,关机断电就没有了。而且" 阅读全文
posted @ 2016-04-17 10:01 刘超★ljc 阅读(1714) 评论(0) 推荐(2) 编辑
摘要: 在本地文件上传至HDFS过程中,很多情况下一个目录包含很多个文件,而我们需要对这些文件进行筛选,选出符合我们要求的文件,上传至HDFS。这时就需要我们用到文件模式。 在项目开始前,我们先掌握文件模式 1、文件模式 在某个单一操作中处理一系列文件是很常见的。例如一个日志处理的MapReduce作业可能 阅读全文
posted @ 2016-04-16 10:18 刘超★ljc 阅读(3159) 评论(3) 推荐(1) 编辑