Hadoop
文章平均质量分 55
xiaohei.info
Talk is cheap,show me the code.
展开
-
Zookeeper概览
前言Zookeeper 是一个典型的 分布式数据一致性 的解决方案,是谷歌 Chubby 的开源实现,在分布式系统中有非常广泛的应用。分布式应用程序可以基于它来实现 数据发布/订阅、分布式协调/通知、集群管理、Master 选举、命名服务、分布式锁和分布式队列 等功能。在诸如 HDFS、Yarn、HBase、Kafka、Flink 等著名分布式系统中都使用 Zookeeper 来实现各自的 ...原创 2019-12-06 09:34:24 · 395 阅读 · 0 评论 -
个人信息安全管理条例解释
一、前言近年来,随着信息技术的快速发展和互联网应用的普及,越来越多的组织大量收集、使用个人信息。给人们生活带来便利的同时,也出现了对个人信息的 非法收集、滥用、泄露 等问题,个人信息安全面临严重威胁。为了保护公民个人隐私数据不被肆意收集、滥用、泄漏甚至非法售卖,各国政府纷纷出台相关法律政策文件,对公民个人隐私数据做出法律上的保护与行为规范。2018年5月25日起,欧盟正式施行新版数据安全保护...原创 2019-11-06 19:46:09 · 17623 阅读 · 0 评论 -
HBase最佳实践
本文致力于从架构原理、集群部署、性能优化与使用技巧等方面,阐述在如何基于HBase构建 容纳大规模数据、支撑高并发、毫秒响应、稳定高效的OLTP实时系统 。一、架构原理1.1 基本架构从上层往下可以看到HBase架构中的角色分配为:ClientZookeeperHMasterRegionServerHDFSClientClient是执行查询、写入等对HBase表数据进行增...原创 2019-10-11 22:42:53 · 770 阅读 · 0 评论 -
构架Hadoop集群
Hadoop的安装包可以从以下渠道获取: Apache tarballs:Hadoop官网提供的tar包,包括二进制和源码文件,使用这种方式部署Hadoop集群灵活性比较高,但是要自己进行很多额外的操作 Packages:Hadoop也提供RPM和Debian包,先对比tar包,rpm可以简化部署时候的配置路径等繁琐的操作,并且和Hadoop生态圈中的各个组件版本都兼容对应原创 2016-05-14 09:59:11 · 1089 阅读 · 0 评论 -
MapReduce中的分布式缓存使用
MapReduce中的分布式缓存使用@(Hadoop)简介DistributedCache是Hadoop为MapReduce框架提供的一种分布式缓存机制,它会将需要缓存的文件分发到各个执行任务的子节点的机器中,各个节点可以自行读取本地文件系统上的数据进行处理。符号链接可以同在原本HDFS文件路径上+”#somename”来设置符号连接(相当于一个快捷方式) 这样在MapReduce程序中可以直原创 2016-02-26 16:51:57 · 11004 阅读 · 3 评论 -
Hive配置与操作实践
Hive配置与操作实践@(Hadoop)安装hivehive的安装十分简单,只需要在一台服务器上部署即可。上传hive安装包,解压缩,将其配入环境变量。mysql的设置在要作为元数据库的mysql服务器上建立hive数据库:#建立数据库create database if not exists hive;#设置远程登录的权限GRANT ALL PRIVILEGES ON *.* TO 'root原创 2016-01-25 16:12:40 · 2075 阅读 · 0 评论 -
MapReduce性能调优记录
MapReduce原理要知道怎么对MapReduce作业进行调优前提条件是需要对Map-Reduce的过程了然于胸。 Map-Reduce运行原理图: Map Side1.从磁盘读取数据并分片默认每个block对应一个分片,一个map task2.进行map处理运行自定义的map业务过程3.输出数据到缓冲区中map输出的数据并不是直接写入磁盘的,而是会先存储在一个预定义的buffer中4、分区、原创 2016-03-18 13:54:22 · 14091 阅读 · 0 评论 -
大数据平台生产环境部署指南
总结一下在生产环境部署Hadoop+Spark+HBase+Hue等产品遇到的问题、提高效率的方法和相关的配置。集群规划假设现在生产环境的信息如下: 服务器数量:6 操作系统:Centos7 Master节点数:2 Zookeeper节点数:3 Slave节点数:4 划分各个机器的角色如下: 主机名 角色 运行进程 hadoop1 Master原创 2016-03-18 13:44:04 · 8642 阅读 · 3 评论 -
多个Mapper和Reducer的Job
多个Mapper和Reducer的Job@(Hadoop)对于复杂的mr任务来说,只有一个map和reduce往往是不能够满足任务需求的,有可能是需要n个map之后进行reduce,reduce之后又要进行m个map。在hadoop的mr编程中可以使用ChainMapper和ChainReducer来实现链式的Map-Reduce任务。ChainMapper以下为官方API文档翻译: ChainM原创 2016-02-22 21:21:49 · 4379 阅读 · 1 评论 -
MapReduce开发技巧
数据类型的选择自定义数据类型参考:Hadoop提交作业自定义排序和分组MapWritable/SortedMapWritableHadoop中可传输的Map集合,和Java中的Map用法差不多,但是可以用与mapper和reducer之间的数据传输Map输出不同类型的Value使用自定义的数据类型继承自GenericWritable可以实现在mapper中输出多个不同类型的value//使用这个数据原创 2016-03-18 13:53:18 · 975 阅读 · 0 评论 -
mr程序无法输出日志进行调试的解决方法
mr程序无法输出日志进行调试的解决方法@(Hadoop)yarn开启日志输出设置在yarn-site.xml文件中添加如下配置:<property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.nodemanager.remote-app-log-dir<原创 2016-01-14 16:57:00 · 1759 阅读 · 0 评论 -
MapReduce高级特性
计数器因为计数器的查看往往比查看集群日志来的方便快捷 所以有些情况下计数器信息比集群日志更加有效用户自定义的计数器关于Hadoop的内置计数器的介绍可以参考Hadoop权威指南第九章MapReduce Features中的Build-in Counts小节 这里限于篇幅不再说明MapReduce允许用户在程序中使用枚举或者字符串的格式类自定义计数器 一个作业可以定义的计数器不限,使用枚举类型时原创 2016-05-10 20:35:43 · 2879 阅读 · 1 评论 -
Hadoop核心组件之HDFS
Namenode和Datanode的关系Namenode 维护树状目录结构(NameSpace) 分配并记录每个文件由哪些块组成,以及每个块的信息(大小、时间戳等) 将HDFS的文件和目录元数据存储在一个叫fsimage的文件中, 每次保存fsimage之后到下次保存之间的所有hdfs操作,将会记 录在editlog文件中 被动接受DataNode的HeartBeat,记录Da原创 2016-03-20 10:56:01 · 2566 阅读 · 0 评论 -
Hadoop核心组件之Yarn
程序在Yarn上的运行流程如图所示,Yarn上的应用程序运行会经过如下步骤: 1.客户端提交应用程序 2.RM找到一个NM启动第一个container来运行AM 3.AM会向RM请求资源的分配并通过心跳机制来汇报作业的运行状态 4.AM在分配的NM上启动container来运行作业Yarn和MRv.1的对比MRv.1中由两个进程控制作业的执行:JobTracker和TaskT原创 2016-05-02 11:10:50 · 2008 阅读 · 0 评论 -
Spark最佳实践
前言本文主要分为四个部分:分布式计算概览:第一章将会从基础的 分布式计算理论 开始,讨论一个分布式计算系统需要实现哪些 主要的功能,以及业界通用的解决方案,并在最后简单扩展了下分布式计算系统的发展历程。这部分主要为开发人员 奠定分布式计算系统的重要理论概念。Spark技术细节:基于第一章讨论的理论知识,在第二章中我们将会深入讨论Spark是如何 通过从逻辑执行图转化为物理执行图 来实现分布...原创 2019-10-11 10:34:48 · 13847 阅读 · 0 评论 -
HBase生产环境配置与使用优化
https://yq.aliyun.com/articles/665520?spm=a2c4e.11155435.0.0.407c3312acd7tdHBase上线至今,承载了线上所有实时交易量,虽然大部分请求都能够保证服务稳定(99.56%响应时间毫秒级),但是一旦HBase出现问题就是鸡飞狗跳的灾难。从老机器到新集群,从老机房到新机房,期间经历过各种问题和生产故障,总结一番以备不时之需。...原创 2018-11-12 10:16:19 · 4500 阅读 · 1 评论 -
CDH5.3配置Kerberos+LDAP+Sentry记录
系统环境说明操作系统:Centos6.5CDH版本:5.3JDK版本:1.7操作用户:rootKerberos版本:1.10.3 LDAP版本:2.4.40 Sentry版本:1.4 集群配置机器数量:5 内存:64G 硬盘:10T CPU核心数:24 运行的服务:HDFS、Yarn、HBase、Hive、Sqoop2、Impala、Zookeep原创 2016-09-06 11:35:55 · 21626 阅读 · 12 评论 -
Hadoop集群管理
HDFS进程目录结构对于一个集群管理员来说,理解HDFS各个进程存储在磁盘上的数据含义是十分有用的,可以帮助你诊断和排查一些集群问题Namenode的目录结构HDFS进行初次格式化之后将会在$dfs.namenode.name.dir/current目录下生成一些列文件: ${dfs.namenode.name.dir}/├── current │ ├── VERSION │ ├──原创 2016-05-22 11:30:14 · 2034 阅读 · 0 评论 -
ItermCF的MR并行实现
ItermCF的MR并行实现@(Hadoop)ItermCF的基本思想基于物品相似度的协同过滤推荐的思想大致可分为两部分: 1.计算物与物之前的相似度 2.根据用户的行为历史,给出和历史列表中的物品相似度最高的推荐通俗的来讲就是:对于物品 A,根据所有用户的历史偏好,喜欢物品 A 的用户都 喜欢物品 C,得出物品 A 和物品 C 比较相似,而用户 C 喜欢物品 A,那么可以推断出 用户原创 2016-02-26 17:42:21 · 4456 阅读 · 6 评论 -
MapReduce的类型与格式
输入格式输入分片与记录之前讨论过,输入数据的每个分片对应一个map任务来处理 在MapReduce中输入分片被表示为InputSplit类,原型如下:public abstract class InputSplit{ //该分片的长度,用于排序分片,有限处理大分片 public abstract long getLength() throw IOException,Interrup原创 2016-05-08 17:48:47 · 3119 阅读 · 0 评论 -
MapReduce工作机制
运行流程当你在MapReduce程序中调用了Job实例的Submit()或者waitForCompletion()方法,该程序将会被提交到Yarn中运行 其中的过程大部分被Hadoop隐藏起来了,对开发者来说是透明的 程序运行的过程涉及到个概念: 1.Client:提交程序的客户端 2.ResourceManager:集群中的资源分配管理 3.NodeManager:启动和监管各原创 2016-05-07 12:54:34 · 8892 阅读 · 2 评论 -
MapReduce程序开发
通过API操作之前要先了解几个基本知识基本数据类型Hadoop的基本数据类型和Java的基本数据类型是不一样的,但是都存在对应的关系如下图 如果需要定义自己的数据类型,则必须实现Writable hadoop的数据类型可以通过get方法获得对应的java数据类型 而java的数据类型可以通过hadoop数据类名的构造函数,或者set方法转换关于Hadoop的Writable接口,详情请看Had原创 2016-05-05 19:56:53 · 8959 阅读 · 0 评论 -
Hadoop I/O
HDFS中的数据完整性HDFSZ在写入数据的时候会计算数据的校验和,针对每个由dfs.bytes.per.checksum指定字节的数据计算校验和,默认为512个字节 当客户端读取数据的时候,会对数据的校验和进行检查,如果发现数据出现损坏,则会执行以下步骤: 1.向Namenode报告其正在读取的数据块和所在的Datanode,之后会抛出ChecksumException异常 2.Nam原创 2016-05-04 21:50:10 · 5269 阅读 · 0 评论 -
自定义分片策略解决大量小文件问题
自定义分片策略解决大量小文件问题@(Hadoop)默认的TextInputFormat应该都知道默认的TextInputFormat是一行行的读取文件内容,这对于一个或几个超大型的文件来说并没有什么问题,但是在实验读取大量小文件的时候,性能及其低下。实验过程分别有5个文件夹,每个文件夹下有不同数量(1-2千个)的小文件(10+k大小),总量大概有8k+个文件,使用CLI命令上传到HDFS就花费了一个原创 2016-03-01 11:41:25 · 4263 阅读 · 10 评论 -
Hadoop端口一览表
Hadoop端口一览表@(Hadoop) 端口名 用途 50070 Hadoop Namenode UI端口 50075 Hadoop Datanode UI端口 50090 Hadoop SecondaryNamenode 端口 50030 JobTracker监控端口 50060 TaskTrackers端口 8088 Yarn任务监控端口原创 2016-01-12 17:21:43 · 7265 阅读 · 1 评论 -
Hadoop Maven pom文件示例
Hadoop Maven pom文件示例@(Hadoop)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema原创 2016-01-12 16:17:29 · 5136 阅读 · 0 评论 -
使用hadoop平台进行小型网站日志分析
0.上传日志文件到linux中,通过flume将文件收集到hdfs中。执行命令/home/cloud/flume/bin/flume-ng agent -n a4 -c conf -f /home/cloud/flume/conf/a4.conf -Dflume.root.logger=DEBUG,console1.建立hive表create external table bb原创 2015-03-28 00:35:30 · 1355 阅读 · 0 评论 -
hadoop伪分布式安装
首先需要有一台linux的虚拟机,什么版本的都差不多这里以redhat为例下载hadoop(只是为了学习使用的是老版本的0.20.2)另外还需要jdk的linux版原创 2015-02-03 11:58:24 · 1191 阅读 · 0 评论 -
hadoop2.2.0伪分布式安装
修改主机名和IP的映射关系vi /etc/hosts 192.168.61.44 hadoop关闭防火墙#查看防火墙状态service iptables status#关闭防火墙service iptables stop#查看防火墙开机启动状态chkconfig iptables --list#关闭防火墙开机启动chkconfig iptab原创 2015-03-12 21:52:23 · 673 阅读 · 0 评论 -
mapreduce实现搜索引擎简单的倒排索引
使用hadoop版本为2.2.0倒排索引简单的可以理解为全文检索某个词例如:在a.txt 和b.txt两篇文章分别中查找统计hello这个单词出现的次数,出现次数越多,和关键词的吻合度就越高现有a.txt内容如下:hello tomhello jerryhello kittyhello worldhello tomb.txt内容如下:hello jerry原创 2015-03-19 15:41:09 · 2377 阅读 · 0 评论 -
sqoop操作与使用
sqoop只要安装到集群中的一台节点就可以了1.上传sqoop到节点中2.安装和配置在添加sqoop到环境变量到/etc/profile中将数据库连接驱动拷贝到$SQOOP_HOME/lib里3.使用第一类:数据库中的数据导入到HDFS上sqoop import --connect jdbc:mysql://192.168.1.10:3306/dbTes原创 2015-03-22 22:27:51 · 1041 阅读 · 0 评论 -
flume分布式日志收集系统操作
1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去。2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。3.agent里面包含3个核心组件:source、channel、sink。3.1 source组件是专用于收集日志的,可以处理各种类型各种格式的日志数据,包括avro、thrift、exec、jms、spoo原创 2015-03-27 19:40:23 · 1018 阅读 · 0 评论 -
通过java api提交自定义hadoop 作业
通过API操作之前要先了解几个基本知识一、hadoop的基本数据类型和java的基本数据类型是不一样的,但是都存在对应的关系如下图如果需要定义自己的数据类型,则必须实现Writablehadoop的数据类型可以通过get方法获得对应的java数据类型而java的数据类型可以通过hadoop数据类名的构造函数,或者set方法转换二、hadoop提交作业的的步骤分为八个原创 2015-02-11 15:52:03 · 1953 阅读 · 0 评论 -
完全分布式安装hadoop
以三个节点为例的服务器集群来安装和配置hadoop以下是各服务器ip地址和对应所做的节点192.168.61.128 master192.168.61.129 slave1192.168.61.133 slave2首先修改每个服务器上的hosts文件使用命令vi /etc/hosts编辑在最后追加192.168.61.128 master原创 2015-02-04 22:49:32 · 797 阅读 · 0 评论 -
hadoop错误总结
1.hadoop3: mkdir: cannot create directory `/usr/local/hadoop/bin/../logs': Permission denied把所有Datanode节点执行下面命令[hadoop@hadoop3 local]$ chown -R hadoop:hadoop hadoop-0.20.2/原创 2015-02-08 12:32:06 · 609 阅读 · 0 评论 -
使用老版本的java api提交hadoop作业
还是使用之前的单词计数的例子自定义Mapper类import java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred.MapReduceBase;import org.apache.原创 2015-02-11 16:32:13 · 884 阅读 · 0 评论 -
map-reduce任务的执行流程
(1).客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar ...)(2).JobClient通过RPC和JobTracker进行通信,返回一个存放jar包的地址(HDFS)和jobId(3).client将jar包写入到HDFS当中(path = hdfs上的地址 + jobId)(4).开始提交任务(任务的描述信息,不是jar, 包括jobid,jar原创 2015-03-26 22:29:21 · 959 阅读 · 0 评论 -
pig笔记
1.安装Pig将pig添加到环境变量当中2.pig使用首先将数据库中的数据导入到HDFS上sqoop import --connect jdbc:mysql://192.168.1.10:3306/cloud --username root --password JChubby123 --table trade_detail --target-dir '/sqoo原创 2015-03-26 22:03:21 · 587 阅读 · 0 评论 -
Sqoop操作实践
Sqoop操作实践@(Hadoop)Sqoop常用参命令 序号 命令/command 类 说明 1 impor ImportTool 从关系型数据库中导入数据(来自表或者查询语句)到HDFS中 2 export ExportTool 将HDFS中的数据导入到关系型数据库中 3 codegen CodeGenTool 获取数据库中某张表数据原创 2016-01-12 16:12:58 · 6184 阅读 · 1 评论 -
关于Web界面查看日志的权限问题
关于Web界面查看日志的权限问题@(Hadoop)<!--author: 小黑date: 2016-01-20title: 关于Web界面查看日志的权限问题tags: Hadoopcategory: Hadoopstatus: publishsummary: 关于Web界面查看日志的权限问题-->访问集群的8088端口,通过web ui查看作业日志时,发现没有权限查原创 2016-01-21 10:16:13 · 2464 阅读 · 0 评论