Hadoop
vincent_hahaha
haha ha
展开
-
hadoop删除DataNode节点
hadoop版本hadoop-2.6.0-cdh5.15.1删除ip为192.168.1.112的DataNode修改NameNode节点的hdfs-site.xml,添加内容:<property> <name>dfs.hosts.exclude</name> <value>/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/etc/hadoop/dfs_exclude</value></proper原创 2020-09-09 20:58:31 · 1481 阅读 · 0 评论 -
hadoop集群搭建过程中不适用hostname发现slave,而是通过ip
需求搭建hadoop集群时,默认使用hostname发现集群如果不配置hostname的话,报错日志:Unresolved datanode registration: hostname cannot be resolved (ip=192.168.1.109, hostname=192.168.1.109)解决办法在namenode的hdfs-site.xml 里面添加<property> <name>dfs.namenode.datanode.registrati原创 2020-07-29 20:18:46 · 785 阅读 · 0 评论 -
本地运行hadoop
本地开发使用windows Intellij,没有搭建hadoop,搭建教程使用:这个本地使用pom.xml添加依赖:<?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:schemaLocation="http原创 2020-05-20 11:35:17 · 163 阅读 · 0 评论 -
YARN 任务执行报错:Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
使用YARN运行一个wordcount时报错:20/03/25 00:10:45 INFO mapreduce.Job: Task Id : attempt_1585065643305_0001_r_000000_0, Status : FAILEDError: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: erro...原创 2020-03-25 00:25:21 · 1837 阅读 · 0 评论 -
Hadoop集群规划
hadoop集群规划HDFS中有NN和DNYARN中有RM和NM假设有三台机器:hadoop000 192.168.199.234 部署:NN DN RM NMhadoop001 192.168.199.235 部署:DN NMhadoop002 192.168.199.236 部署:DN NM首先在每台机器中修改/etc/hostname对应的hadoop000 hadoop0...原创 2019-11-14 17:55:04 · 1047 阅读 · 0 评论 -
Hive将查询结果保存到另一张表中
例如使用查询语句select province,count(1) from track_info where day='2013-07-21' group by province ;查询出的结果如下:我们想要将这个结果自动存储到另一张表中。创建一张表:create table track_info_province_stat (province string,cnt bigint) ...原创 2019-11-14 16:40:43 · 9546 阅读 · 0 评论 -
Hive 分区表
在hive中 创建一个表:create external table track_info(ip string,country string,province string,city string,url string,time string,page string) partitioned by (day string)row format delimited fields ...原创 2019-11-14 16:17:20 · 121 阅读 · 0 评论 -
Hive 内部表与外部表
首先查看当前的表:内部表查看emp表:查看这个emp表的详细信息:可以看到Table Type是一个MANAGED_TABLE,就是所谓的内部表内部表跟外部表有什么区别首先看一下mysql中的表:TBLS可以看到这个表TBL_TYPE是MANAGED_TABLE类型,查看hdfs上的数据:然后从hive中删除这个表emp删除成功之后查看HDFS中的数据emp:发现...原创 2019-11-14 11:13:55 · 279 阅读 · 0 评论 -
Hive DML操作
DDL(Data Manipulation Language)导入数据LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]LOCAL: 本地系统,如果没有local那么就是指的HDFS的路径OVERWRITE:是...原创 2019-11-13 15:57:37 · 110 阅读 · 0 评论 -
Hive DDL操作
DDL(Data Definition Language)create,delete,alterHive数据抽象/结构database(HDFS一个目录)->table(HDFS一个目录)->partition分区表(HDFS一个目录)->bucket桶(HDFS一个文件)数据库操作CREATECREATE (DATABASE|SCHEMA) [IF NOT EXIS...原创 2019-11-13 14:47:21 · 162 阅读 · 0 评论 -
Hive概述
Hive产生背景MapReduce编程的不便性传统RDBMS人员的需要HDFS上的文件并没有Schema的概念Hive是什么由FaceBook开源,用于解决海量结构化日志的数据统计问题。构建在Hadoop之上的数据仓库。Hive提供的SQL查询语言:HQL底层支持多种不同的执行引擎:MR/Tez/Spark为什么要使用Hive容易、简单上手为超大数据集设计的计算/扩展能力...原创 2019-11-11 17:13:18 · 433 阅读 · 0 评论 -
提交自己开发的MR作业到YARN上运行的步骤
mvn clean package -DskipTests把编译出来的jar包(项目目录/target/…jar)以及测试数据上传到服务器把数据上传到HDFShadoop fs -put xxx HDFSPATH执行作业hadoop jar xxx.jar 完整的类名 args…到YARN UI(8088)上去观察作业的运行情况到输出目录去查看对应的输出结果...原创 2019-11-08 10:34:57 · 635 阅读 · 0 评论 -
提交官方MapReduce作业到YARN
环境Hadoop使用版本:hadoop-2.6.0-cdh5.15.1使用官方提供的例子 PI在hadoop-2.6.0-cdh5.15.1/share/hadoop/mapreduce路径下有一个hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar文件运行命令:hadoop jar hadoop-mapreduce-examples-2.6.0-cd...原创 2019-11-07 16:29:37 · 321 阅读 · 0 评论 -
YARN执行作业报错Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
执行了一个简单的官方提供的作业:iie4bu@swarm-worker1:~/app/hadoop-2.6.0-cdh5.15.1/share/hadoop/mapreduce$ hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar pi 2 3报错信息如下:Error: org.apache.hadoop.mapreduce.ta...原创 2019-11-07 16:16:00 · 2296 阅读 · 0 评论 -
MapReduce 在Shuffle阶段 内存溢出原因分析及处理方法
在Reduce运行中,有时出现内存溢出错误,抛出的异常信息如下:Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#1 at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java...原创 2019-11-07 14:49:09 · 1392 阅读 · 0 评论 -
YARN环境部署
etc/hadoop/mapred-site.xml添加下面的配置:<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>&...原创 2019-11-07 11:41:04 · 500 阅读 · 0 评论 -
资源调度框架YARN
YARN产生背景MapReduce1.x存在的问题在1.x版本中,架构也是master/slave的,对应的角色是分别是JobTracker和TaskTracker,一个作业可以拆分成MapTask和ReduceTask,一个JobTracker跟踪多个TaskTracker。JobTracker负责资源的管理和状态的管理,TaskTracker定期向JobTracker汇报本节点的健康状...原创 2019-11-06 17:21:08 · 260 阅读 · 0 评论 -
MapReduce读取本地文件,而不是HDSF上的文件
MapReduce中如果想要处理HDFS中的文件,做法是: FileInputFormat.setInputPaths(job, new Path("/hdfs/iie4bu/fileDir/input")); FileOutputFormat.setOutputPath(job, new Path("/hdfs/iie4bu/fileDir/output"));...原创 2019-11-06 14:55:37 · 1596 阅读 · 0 评论 -
MapReduce自定义Partitioner
Shuffle过程是会按照Map中输出的key,把数据默认分到一个分区中,那么默认的是如何实现的?HashPartitioner是Partitioner默认的分区规则,其中numReduceTasks就是指定的Reducer的个数,决定了Reducer作业输出文件的个数。自定义Partitionerpackage com.imooc.bigdata.hadoop.mr.access;i...原创 2019-11-05 16:28:03 · 195 阅读 · 0 评论 -
Map端的聚合操作Combiner
需求词频统计,假设有一个文件,统计这个文件词频常见的解决办法例如原始文本是:交给两个Map去处理,map1处理hello is hello is,map2处理hadoop is hadoop is hadoop,输出结果map1为:(hello,1)(is, 1)(hello, 1)(is, 1),map2为(hadoop,1)(is, 1)(hadoop, 1)(is, 1)(hadoo...原创 2019-11-05 15:07:20 · 2185 阅读 · 0 评论 -
windows连接远程Hadoop/Spark
环境是Ubuntu,PC上使用Windows 10 ,在idea上连接Hadoop使用Mapreduce。Hadoop使用的版本是hadoop-2.6.0-cdh5.15.1报错:Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Wi首先使用wi...原创 2019-11-05 11:08:36 · 669 阅读 · 0 评论 -
MapReduce概述
MapReduce概述源自于Google的MapReduce论文,论文发表于2004年12月Hadoop的MapReduce是Google MapReduce的克隆版。与HDFS非常类似。MapReduce是分布式框架中的计算框架。分布式其实就是将一个作业在多个节点上运行,多个节点之间通信与高可靠性都是非常难以实现的。MapReduce的优点实现海量数据离线处理,易开发,易运行Map...原创 2019-11-04 18:08:56 · 319 阅读 · 0 评论 -
HDFS中的safemode
在启动HDFS的过程中,NameNode会先进入一个指定的状态,这个状态就叫safemode,在这个状态下数据无法进行副本的复制,也就无法进行数据的读写操作。NameNode会接收到DataNode上的心跳和块报告信息,例如DataNode是否alive,是通过心跳确定的。DataNode上的块报告包含了数据块的列表,每个数据块都有一个指定的最小副本系数。在NameNode中一旦检测到数据块的最小...原创 2019-11-04 16:15:13 · 685 阅读 · 0 评论 -
HDFS元数据管理
元数据HDFS的目录结构,包含哪些文件夹子文件夹,以及文件夹下面包含哪些文件,以及每个文件的Block信息(id,副本系数,Block存放在那个DataNode上)元数据存放在${hadoop.tmp.dir}/name路径下。在NameNode的内存中有一个树形结构,存放的就是元数据信息,对文件的任何修改都在内存中有体现,但是如果机器挂掉之后,内存中的数据就会丢失,因此NameNode会定...原创 2019-11-04 15:57:09 · 479 阅读 · 0 评论 -
客户端读写数据到HDFS的流程
客户端写数据到HDFS中的流程(1) 客户端发出写数据请求,hadoop fs –put ./localFile.txt /hdfsFile.txt 本地的localFile.txt文件大小是170MB,而HDFS默认的Block大小是128MB,因此这个文件将会被分成两个Block(2) NameNode首先检查这个文件在HDFS中是否存在,如果存在则报错,如果不存在返回OK(3) 请...原创 2019-11-04 10:58:07 · 540 阅读 · 0 评论 -
HDFS数据副本的摆放策略
数据副本的摆放策略副本的存放位置对于HDFS的性能和可靠性是非常重要的,如果副本的存放机制不好的话,在计算的过程中很大可能会产生数据传输,这样对于带宽和磁盘的IO影响非常巨大。因此对于优化副本的摆放来说,HDFS还是跟其他的分布式文件系统有所区别的。HDFS需要大量的优化以及经验,因此不同的HADOOP版本的副本的摆放策略可能是不一样的。rack-aware(机架感知),例如有100台机器,...原创 2019-11-04 08:48:36 · 416 阅读 · 0 评论 -
HDFS API编程之副本系数
Hadoop 版本:hadoop-2.6.0-cdh5.15.1虽然在hdfs-site.xml中设置了副本数量: <property> <name>dfs.replication</name> <value>1</value> </property>但是我们在Java A...原创 2019-11-01 16:22:47 · 535 阅读 · 0 评论 -
Hadoop报错AccessControlException: Permission denied: user=vincent, access=WRITE, inode="/":iie4bu:supe
尝试使用Java操作Hadoop,代码如下:/** * 使用Java API操作HDFS文件系统 */public class HDFSAPP { public static void main(String[] args) throws IOException, URISyntaxException { Configuration configuration =...原创 2019-11-01 11:39:42 · 585 阅读 · 0 评论 -
Java操作HDFS文件系统
对于操作HDFS文件系统,需要有一个入口,对于Hadoop来说,编程入口就是FileSystem。例如我们要使用API创建一个文件夹:/** * @author vincent * @time 2019-10-14 22:39 * 使用Java API操作HDFS文件系统 * 关键点: * 1. 创建Configuration * 2. 获取FileSystem * 3. HDF...原创 2019-10-14 23:47:41 · 134 阅读 · 0 评论 -
本地操作HDFS报错:java.net.ConnectException: Call From KevinWong/192.168.16.1 to hadoop000:9000
原因:hosts文件配置不正确,多加了一个 127.0.0.1 hadoop000的映射导致9000端口只能在本地访问,而不能远程访问。解决方案:可以通过netstat -tpnl查看的端口开放情况,如果显示127.0.0.1:9000,则表示9000端口不能远程访问。可以检查hosts文件,保留一个映射即可172.16.247.131 hadoop000或者配置成:0.0.0.0 had...原创 2019-10-14 23:43:10 · 1097 阅读 · 0 评论 -
HDFS文件存储
理论上HDFS中存储一个文件时会被分成多个Block,这些block应该会存放在不同的节点中。例如我们HDFS中有一个文件hdfs dfs -put flink-1.8.2-bin-scala_2.11.tgz /这个文件被分成了三个Block,分别是Block0、Block1、Block2:这三个Block的大小加起来总共就是283.81MB。其中Block0的id为:10737418...原创 2019-10-14 00:08:15 · 753 阅读 · 0 评论 -
HDFS上传文件报错java.lang.InterruptedException
使用hdfs上传文件时报错,java.lang.InterruptedException at java.lang.Object.wait(Native Method) at java.lang.Thread.join(Thread.java:1252) at java.lang.Thread.join(Thread.java:1326) at org.apache.hadoop.hdf...原创 2019-10-13 17:53:57 · 1166 阅读 · 0 评论 -
Hadoop环境搭建
Hadoop版本虽然CDH与社区版没有什么区别,但是推荐使用CDH版本,如果使用社区版,以后在生产环境中与其他框架整合时会有jar包冲突的问题。CDH相关软件包下载地址:http://archive.cloudera.com/cdh5/cdh/5/Hadoop使用版本:hadoop-2.6.0-cdh5.15.1这里hadoop版本与社区版的hadoop2.6.0并不是同一个版本,而是cd...原创 2019-10-12 00:09:52 · 169 阅读 · 0 评论 -
HDFS 文件系统NameSpace、副本机制
文件系统NameSpaceHDFS支持传统的层次型目录结构,用户或客户端可以创建目录,并且可以存储文件在这些目录中。HDFS的这种目录层次结构与其他的文件系统非常类似,可以进行创建文件、移动文件、删除文件等操作。还支持不同用户不同目录访问权限。NameNode维护的是文件系统的NameSpace,对文件系统的任何修改或者属性的修改都会被NameNode记录下来,应用程序可以指定文件的副本个数,...原创 2019-10-11 22:46:18 · 586 阅读 · 0 评论 -
HDFS(二)HDFS架构
NameNode and DataNodesmaster/slave架构原创 2019-10-09 00:08:05 · 84 阅读 · 0 评论 -
HDFS(一) HDFS设计目标
介绍HDFS(Hadoop Distributed File System)是一个分布式文件系统,可以运行在廉价的硬件上。与其他已有的分布式文件系统类似,但是最明显的区别就是HDFS时一个高容错、可以部署在廉价的机器上。HDFS对于读取数据具有高吞吐量,且适用于数据集大的场景。普通的文件系统:Linux、Windows、MacOS,这些文件系统都有目录结构,存放的是文件或者文件夹,并且可以对...原创 2019-10-08 23:16:05 · 975 阅读 · 0 评论 -
Hadoop核心组件以及发行版
Hadoop核心组件之分布式存储框架HDFS源于Google的GFS论文,论文发表与2003年10月HDFS时GFS的克隆版HDFS特点:扩展性很好、容错性很好、能够存储海量数据HDFS将文件切分成指定大小的数据块并以多副本的存储在多个机器上Hadoop核心组件之分布式计算框架MapReduce源于Google的MapReduce论文,论文发表于2004年12月Hadoop M...原创 2019-10-08 22:43:53 · 146 阅读 · 0 评论 -
hadoop(一) 基本介绍
hadoop包括如下几个模块:原创 2019-10-08 16:44:54 · 117 阅读 · 0 评论 -
HDFS常用命令
简洁NameNode负责响应客户端请求。负责管理元数据(文件名、副本数、Block存放的DN)。DataNode存储数据。向NameNode发送心跳,汇报本身及Block信息。默认block为128mb。Secondary NameNode监控HDFS状态的辅助后台程序,合并fsimage与edits。fsimage:元数据镜像文件,存储NameNode元数据信息(Second...转载 2019-09-26 15:49:43 · 180 阅读 · 0 评论 -
Exception in thread "main" java.io.IOException: (null) entry in command string: null chmod 0700 E:\t
在https://github.com/vincentduan/hadoop-common-2.7.1-bin.git中下载hadoop.dll,并拷贝到c:\windows\system32目录中。执行map reduce程序, 正常。原创 2017-06-08 17:44:00 · 2064 阅读 · 2 评论