Hadoop
学习中....
新的一天加油!
展开
-
Unable to determine input streams from QJM to [192.168.98.166:8485, 192.168.98.167:8485, 192.168.98.
2021-03-11 21:16:30,478 WARN org.apache.hadoop.hdfs.server.namenode.FSEditLog: Unable to determine input streams from QJM to [192.168.98.166:8485, 192.168.98.167:8485, 192.168.98.168:8485]. Skipping.java.io.IOException: Timed out waiting 20000ms for a qu.原创 2021-03-12 20:44:06 · 1095 阅读 · 0 评论 -
使用外网访问hdfs时遇到的坑
问题,在使用外网访问hdfs时,只能获取到目录信息,在读取文件的内容时,一直处于阻塞状态。开始以为是用户名的问题,于是配置了:System.setProperty("HADOOP_USER_NAME","hadoop");但是还是不行,于是百度了好多地方:https://blog.csdn.net/weixin_41350766/article/details/811113091.可以在hdfs-site.xml中配置,但是不建议,因为仅仅是测试使用。2.在使用时,添加如下代码..转载 2020-07-23 17:40:23 · 548 阅读 · 0 评论 -
如何租用多台便宜的云服务器用来学习大数据?(腾讯云为例)
最近在腾讯云会有很多的活动,如果不是学生党或者对配置无要求的学生党可以租用一核1GB套餐,资金不足并且对配置没什么要求可以选择这个套餐:如果是未满25周岁的用户,可以租用1核2GB的校园套餐,无需进行学生认证,每月仅需10元如果仅需要一台机器,那么注册购买即可使用,如果需要多个机器可以注册多个新用户进行购买比如需要三台便宜机器,可以注册三个新用户,注册购买。多账号购买,节...原创 2019-10-14 10:00:49 · 2061 阅读 · 2 评论 -
定长格式(IntWritbale和LongWritable)和变长格式(VIntWritable 和 VLongWritable)
对于定长格式和变长格式:对整数进行编码时,有两种选择,即定长格式(IntWritbale和LongWritable)和变长格式(VIntWritable 和 VLongWritable).需要编码的数值如果想当小(在127和-127之间,包括-127和127之间 ),变长格式就是只用一个字节进行编码;否则使用第一个字节便是数值的正负和后跟多少个字节。如何选择?定长格式编码很适合数值...原创 2019-07-21 11:17:25 · 3755 阅读 · 0 评论 -
Linux普通用户安装JDK
1.首先将文件下载到家目录:解压:tar -xzvf记录好安装路径,在~/.bash_profile中配置jdk路径2.配置环境vim ~/.bash_profile3.保存退出,之后加载环境source ~/.bash_profile4.查看安装是否成功java -version...原创 2019-07-30 18:38:24 · 1400 阅读 · 0 评论 -
windows中配置Hadoop环境
1.首先解压在liunx中安装的hadoop的包2.解压完成之后,将以下两个文件放入解压后handoop中的bin路径下,可以从网上搜索下载这两个文件https://github.com/SweetInk/hadoop-common-2.7.3-bin3.配置环境变量4.然后win+R测试hadoop version命令是否配置成功此时可能会出现以下错误:...原创 2019-08-03 11:00:54 · 576 阅读 · 0 评论 -
利用流读取Hadoop集群中文件的信息
pom中的配置如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org...原创 2019-08-03 13:48:37 · 368 阅读 · 0 评论 -
Hadoop中的一致模型
文件系统的一致模型描述了文件数据读写的可见性。新建一个文件时,在文件系统中立即可见,例如:fs.creat(/test.txt),当程序运行到此,文件系统中就可以看到这个文件,但是在写入数据时,不会立即可见。前提:在程序运行未完成时,查看被创建的文件中的数据是否存在①向文件系统中写入数据,使用flush()方法时,查看文件中数据的可见性package hadoop002;im...原创 2019-08-04 00:40:45 · 218 阅读 · 0 评论 -
SequnceFile中数据的写入和读取
Writer:Squence.Writer对象的获取方法有很多种重载方法:对于:这个方法的使用。参数分别为: FileSystem Configuration 文件的输出路径 key 和value类型的.class文件。此处键值对的处处类型不强制使用Writable类,只要能被Serializable序列化和反序列化即可。获取Writer对象和配置好参数之后,就可以根据自己的...原创 2019-07-27 10:09:50 · 425 阅读 · 0 评论 -
Hadoop中log4j.properties配置
log4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [...原创 2019-08-18 11:01:13 · 1806 阅读 · 0 评论 -
Fsimage和Edits解析
1.概念2.oiv查看Fsimage文件(1)查看oiv和oev命令oiv apply the offline fsimage viewer to an fsimageoev apply the offline edits viewer to an edits file(2)基本语法hdfs oiv -p 文件类型 -i...翻译 2019-08-18 12:02:56 · 624 阅读 · 0 评论 -
NameNode故障处理
NameNode故障后,可以采用如下两种方法恢复数据。方法一:将SecondaryNameNode中数据拷贝到NameNode存储数据的目录;1. kill-9 NameNode进程2.删除NameNode存储的数据(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)rm -rf /opt/module/hadoop-2.7.2/data...翻译 2019-08-18 12:15:38 · 306 阅读 · 0 评论 -
在运行mr时遇到的一个大坑
卡在如下状态不动:19/08/31 14:22:59 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy t...原创 2019-08-31 14:45:51 · 919 阅读 · 0 评论 -
在使用sqoop向mysql导出数据时,map运行100%,但是reduce一直不动
19/08/31 14:49:26 INFO mapreduce.Job: map 100% reduce 0%在使用sqoop向mysql导出数据时,map运行100%,但是reduce一直不动,此时成旭也不报错,在查看map的log时发现是由于mysql中设置字符长度不够导致的错误,但是错误只能在日志中看到。2019-08-31 14:49:19,803 ERROR [Thread...原创 2019-08-31 14:58:48 · 1564 阅读 · 1 评论 -
对于Mapreduce作业的输出
使用方法:1.在作业配置过程中将mapreduce.output.fileoutput.compress属性设置为true,将mapre-duce.output.fileoutputformat.copress.codec属性设置为打算使用的压缩codec的类名。另一种方案为在FileOutputFormat中使用:FileOutputFormat.setCompressOutput(...原创 2019-07-21 09:10:10 · 341 阅读 · 0 评论 -
压缩从标准流输入读取的数据,然后将其写道标准输出
从控制台输入数据,然后对其进行压缩输出到控制台:package Demo5;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.io.IOUtils;import org.apache.hadoop.io.compress.CompressionCodec;import org.apache...原创 2019-07-20 17:29:46 · 213 阅读 · 0 评论 -
HDFS的数据完整性
1.上传数据时,客户端会负责将数据和校验和发送给datanode,最后一个datanode负责对数据进行校验,如果存在错误,则客户端会抛出异常:2.下载数据时,客户端会从datanode下载校验和,然后对数据进行校验,如果存在错误,client会将数据报告给namenode,然后如果不存在错误,客户端会将数据报告给datanode,datanode会由此更新日志(datanode持久保存...原创 2019-07-20 14:46:01 · 591 阅读 · 0 评论 -
Java操控集群
1.创建一个maven项目:配置pom.xml文件如下:<dependencies> <!-- 配置缺少的toold.jar --> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId&...原创 2019-07-03 18:30:00 · 179 阅读 · 0 评论 -
开发Mapreduce
模拟hadoop中的wordcount示例1.首先创建一个Maven项目2.导入配置:<dependencies> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <versi...原创 2019-07-03 21:15:17 · 86 阅读 · 0 评论 -
java连接集群,并获取文件系统的信息
1.Maven中的配置如下:关于Hadoop,如果只配置haddop-client也可,所有的如下依赖包都会被下载。<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</versi...原创 2019-07-13 10:34:45 · 336 阅读 · 0 评论 -
Hadoop中简单序列化(实现Writable)
统计数据1.需要实现的方法有: write(DataOutput out) readfields(DataInput in)Word.javapackage test;import java.io.DataInput;import java.io.DataOutput;import java.io.IOE...原创 2019-07-10 09:49:15 · 421 阅读 · 0 评论 -
JDK和Hadoop的序列化比较
1.什么是序列化和反序列化序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换成 内存中的对象。2.2.JDK序列化和反序列化Serialization(序列化)是一种将对象转换为字节流;反序列化deserialization是一种将这些字节流生成一个对象。序列...转载 2019-07-10 13:11:59 · 141 阅读 · 0 评论 -
Hadoop自定义开发输入类
目的将map输入的longWritable转化为按照行数读取,即key1代表第几行。文件中数据如下:package combiner;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;imp...原创 2019-07-11 09:09:56 · 103 阅读 · 0 评论 -
Combiner的使用(转载)
package combiner;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Te...转载 2019-07-15 17:55:13 · 501 阅读 · 0 评论 -
PositionedReadable接口
FSDataInputStream也实现了Positionreadable接口,指从指定偏移量处读取数据。hdfs中文件数据为:首先对第一个方法进行测试:package test01;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.ha...原创 2019-07-18 10:03:55 · 259 阅读 · 0 评论 -
Hadoop配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:1. 配置mapred-site.xmlvi mapred-site.xml在该文件里面增加如下配置。<!-- 历史服务器端地址 --><property> <name>mapreduce.jobhistory.address</name>...原创 2019-07-16 20:19:32 · 260 阅读 · 0 评论 -
配置日志的聚集
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。开启日志聚集功能具体步骤如下:1.配置yarn-site.xml在该文件里面增加如下配置。<!-- 日志聚集功...转载 2019-07-16 20:25:00 · 428 阅读 · 1 评论 -
Hadoop中hdfs dfs 下的命令
命令大全[-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-R] GROUP PATH...] [-chmod [-R] <...原创 2019-07-16 21:10:23 · 265 阅读 · 0 评论 -
Hadoop URL读取数据
URL.setURLStreamHandlerFactory(),每个虚拟机只能调用一次这个方法,因此通常在静态中调用这个方法!这个限制以为着如果程序其他的组件已经声明一个实例,则将无法使用这个方法读取。1.在Eclipse中配置好相关环境<!-- https://mvnrepository.com/artifact/junit/junit --><dependen...原创 2019-07-17 15:52:38 · 374 阅读 · 0 评论 -
FSDataInputStream中的seek()方法
FSDataInputStream实现了Seekable接口实现方法:其中的seek(long pos)方法可以,对任意位置进行重新定位,与java.io.inputstream中的skip()不同。举个例子对,hdfs中的一个文件进行两次输出:文件中内容如下:在Eclipse中创建一个类对数据进行读取:package test01;import ...原创 2019-07-17 17:27:22 · 2793 阅读 · 2 评论 -
利用mapreduce简单统计信息
利用mapreduce对一下文本进行处理,对每个用户的上行流量,下行流量 还有宗总流量进行分析,输出手机号、上行流量、下行流量 1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 138265...原创 2018-09-27 20:18:20 · 1892 阅读 · 0 评论