自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 Diagnostics: Container is running beyond virtual memory limits 运行Tez时检查到用过多内存而被NodeManager杀死进程问题:

1)运行Tez时检查到用过多内存而被NodeManager杀死进程问题:Caused by: org.apache.tez.dag.api.SessionNotRunning: TezSession has already shutdown. Application application_1546781144082_0005 failed 2 times due to AM Container...

2019-11-04 21:05:20 557

原创 hadoop支持Lzo压缩配置及案例

hadoop支持Lzo压缩配置1)hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。2)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/[atguigu@hadoop102 common]$ pwd...

2019-11-01 20:59:41 759 2

原创 Hbase的API操作

理解好Put、Cell,Result等的概念package com.atguigu.hbase;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hba...

2019-10-26 09:17:00 173

原创 Hbase架构详解

1)StoreFile保存实际数据的物理文件,StoreFile以Hfile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个StoreFile中都是有序的。2)MemStore写缓存,由于HFile中的数据要求是有序的,所以数据是先存储在MemStore中,排好序后,等到达刷写时机才会刷写到HFile,每次刷写都会形成一个新的HFile。3...

2019-10-23 18:57:44 1443

原创 kafka高速读写数据

1)顺序写磁盘Kafka的producer生产数据,要写入到log文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能达到600M/s,而随机写只有100k/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。2)零拷贝技术传统的读取文件数据并发送到网络的步骤如下:(1)操作系统将数据从磁盘文件中读取到内核空间的页面缓存;(2)应...

2019-10-22 20:47:00 379

原创 kafka详细自定义生产者(Producer)、消费者(Consumer)、拦截器

自定义生产者package com.atguigu.kafka;import org.apache.kafka.clients.producer.*;import org.apache.kafka.common.serialization.StringSerializer;import java.util.Properties;import java.util.concurrent.E...

2019-10-22 20:37:26 1437

原创 kafka分区策略、ISR以及ack机制、故障处理机制、消费方式、分区分配策略

分区原因:1.分区的原因(1)方便在集群中扩展,每个partition可以通过调整以适应它所在的机器,而一个topic又可以有多个partition组成,因此整个集群就可以适应任意大小的数据了。(2)可以提高并发,因此可以以partition为单位读写2.partition的三种分区原则(1)指明partition的情况下,直接将指明的值直接作为partition的值(2)没有指明pa...

2019-10-21 20:08:48 3697 1

原创 kafka架构和文件存储

kafka基础架构1)Producer :消息生产者,就是向kafka broker发消息的客户端;2)Consumer :消息消费者,向kafka broker取消息的客户端;3)Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消...

2019-10-21 18:39:37 296

原创 hdfs服役新数据节点和退役旧节点步骤(白名单和黑名单)

1)节点上线操作:当要新上线数据节点的时候,需要把数据节点的名字追加在 dfs.hosts 文件中(1)关闭新增节点的防火墙(2)在 NameNode 节点的 hosts 文件中加入新增数据节点的 hostname(3)在每个新增数据节点的 hosts 文件中加入 NameNode 的 hostname(4)在 NameNode 节点上增加新增节点的 SSH 免密码登录的操作(5)在 ...

2019-10-17 14:47:19 528

原创 linux常用命令大全

1. vim和vi的快捷键的使用1.1 拷贝当前行 yy , 拷贝当前行向下的5行 5yy,并粘贴 p。【快捷键在正常模式下使用】1.2删除当前行 dd , 删除当前行向下的5行 5dd1.3在文件中查找某个单词 [命令模式下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ]1.4设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu...

2019-10-17 13:28:46 209

原创 zookeeper监听机制和选举原理

**zookeeper监听机制和选举原理监听机制:**选举机制1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。2)Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时,是有一个节点为Leader,其他则为Follower,Leader是通过内部的选举机制临时产生的。(1)服务器1启动,发起...

2019-10-17 10:57:23 206

原创 zookeeper内部原理

节点类型stat结构体1)czxid-创建节点的事务zxid每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID。事务ID是ZooKeeper中所有修改总的次序。每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。2)ctime - znode被创建的毫秒数(从1970年开始)3)mzxid - z...

2019-10-17 10:27:10 119

原创 linux的分发脚本

linux的分发脚本#!/bin/bash#1. 判断参数个数if [ $# -lt 1 ]then echo Not Enough Arguement! exit;fi#2. 遍历所有目录,挨个发送for file in $@do #4.5 判断文件是否存在 if [ -e $file ] then #3. 获取父目录 -...

2019-10-17 09:45:44 464

原创 zokeeper的分布式安装

1.集群规划在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。2.解压安装(1)解压Zookeeper安装包到/opt/module/目录下[atguigu@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/(2)同步/opt/module/zookee...

2019-10-17 09:41:42 223

原创 hive的详细优化

**hive的优化**1. Fetch 抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversio...

2019-10-16 21:29:56 198 2

原创 mapreduce序列化描述

什么是序列化:序列化是把内存中的对象,转换成字节序列(或者其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到的字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。为何不使用java的序列化机制:java的序列化是一个重量级的序列化框架,一个对象被序列化后,会附带二外多的信息(各种校验信息,Header,继承机制),不便于在网络中的高效传输,...

2019-09-28 19:17:55 164

原创 hadoop的小文件的处理

HDFS存储小文件的弊端:每个文件均按照块存储,每个块的元数据存储在Namenode的内存中,因此HDFS的内存中,因此HDFS存储小文件会非常低效。因为大量小文件会消耗NameNode中的大部分内存。在后期大量的小文件如果不做处理的话,在进行mr运算时会开启大量的mapTask任务,每个小文件会开启独立的mapTask任务,造成资源的浪费。但注意,存储小文件所需要的磁盘容量和数据块的大小无关...

2019-09-27 19:47:55 152

原创 NameNode和DataNode的多目录配置

NameNode多目录配置NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性具体配置如下(1)在hdfs-site.xml文件中增加如下内容<property> <name>dfs.namenode.name.dir</name><value>file:///${hadoop.tmp.dir}/dfs...

2019-09-27 19:33:51 805

原创 hadoop的block大小的原因以及其他的block大小

hadoop的block大小的原因HDFS中的文件在物理上是分块存储的,快的大小可以通过配置参数来规定,默认在hadoop2版本中是128M,老版本是64M。128M是由于大部分磁盘的传输速率决定的,一些大厂提高磁盘的传输速率从而将块的大小设置为256M的大小,目前普遍为128M;块的过大和过小带来的影响:1、块过小当一个问价较大时,此时就会产生数量巨多的块,则在程序执行时会大量增加寻...

2019-09-27 19:13:26 1984

原创 linux启动时间同步

时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。(以hadoop102 hadoop103 hadoop104 三台机器为集群 hadoop102为namenode节点)具体配置时间服务器的操作:1.检查是否安装ntp (必须root去操作)[root@hadoop102 桌面]# rpm -qa|g...

2019-09-24 20:07:27 501

原创 hadoop免密登录

原理图在用户的家目录下通过 ll -a 可以查看隐藏文件夹 在.ssh 文件夹下可以查看该节点的公钥和私钥 以及收到的其他节点的私钥文件authorized_keys 记录ssh访问过计算机的公钥(public key)id_rsa 存储此节点的私钥id_rsa.pub 存储此节点的公钥known_hosts 存放授权过得无密登录...

2019-09-24 19:47:49 731

原创 关于格式化NameNode的几点注意

格式化步骤 :先jps查看当前是否有hadoop相应的进程如果有则关闭相应的进程 ,如果还有残留进程 则用 kill -9 端口号 杀死进程原因: 如果在开启进程的时候去上出data和logs文件夹,因为进程仍然在运 行还是会产生相应的data和logs文件,所有并不能删除相应的记录结束相关的进程后,在hadoop的目录下删除data和logs文件夹原因 格式化...

2019-09-24 19:23:22 3560

原创 hadoop配置三个JAVA_HOME的环境变量的原因

hadoop是守护线程 读取不到 /etc/profile 里面配置的JAVA_HOME路径 ,所以在 hadoop-env.sh yarn-env.sh mapreduce-env.sh 配置 JAVA_HOME, 这样才能读取到JAVA_HOME

2019-09-24 10:46:24 4653 1

原创 Jvm原理

Jvm原理

2019-09-16 18:58:45 154

转载 redis集群模式添加主从节点

redis现有集群添加新的主从节点先添加主节点 获取此主节点的master-id然后在此主节点上添加新的从节点https://jingyan.baidu.com/article/ae97a646fd66f1bbfd461dd2.html...

2019-09-10 11:09:43 652

原创 利用辅助栈进行栈排序

利用辅助栈进行栈排序将要排序的栈记为stack,申请的辅助栈记为help。在stack上执行pop操作,弹出的元素记为cur。 如果cur小于或等于help的栈顶元素,则将cur直接压入help; 如果cur大于help的栈顶元素,则将help的元素逐一弹出,逐一压入stack,直到cur小于或等于help的 栈顶元素,再将cur压入help。 一直执行以上操作,直到stack中的全部元...

2019-08-31 10:48:31 800

原创 二叉树的实现

**二叉树的实现**节点类Node的声明//声明节点类public class Node { // 声明 value值 private int value //左子节点 private Node leftChild; //右节点 private Node rightChidl; public Node() { } ...

2019-08-30 21:02:56 133

原创 HDFS集群安全模式

**HDFS集群安全模式**集群处于安全模式,不能执行重要操作(写操作)。集群启动完成后,自动退出安全模式。(1)bin/hdfs dfsadmin -safemode get (功能描述:查看安全模式状态)(2)bin/hdfs dfsadmin -safemode enter (功能描述:进入安全模式状态)(3)bin/hdfs dfsadmin -safemode leav...

2019-08-20 20:19:48 280

原创 关于多线程一些概念的理解

关于多线程一些概念的理解*程序(programm)概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。进程(process)概念:程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread)概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。说明:线程作为调...

2019-08-20 20:17:22 154

原创 线程同步机制

**线程同步机制**1.背景例子:创建个窗口卖票,总票数为100张.使用实现Runnable接口的方式1.问题:卖票过程中,出现了重票、错票 -->出现了线程的安全问题2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。3.如何解决:当一个线程a在操作ticket的时候,其他线程不能参与进来。直到线程a操作完ticket时,其他线程才...

2019-08-19 08:05:41 277

原创 jdk5新增的创建线程方法

**jdk5新增的创建线程方法**新增方式一:实现Callable接口。 --- JDK 5.0新增//1.创建一个实现Callable的实现类class NumThread implements Callable{ //2.实现call方法,将此线程需要执行的操作声明在call()中 @Override public Object call() throws E...

2019-08-19 00:46:33 132

原创 String类的详细介绍

**String类的详细介绍****java.lang.String类的使用**1.概述String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] valu...

2019-08-18 23:55:35 265

原创 线程通信

**线程通信**1.线程通信涉及到的三个方法:wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。2.说明:1.wait(),notify(),notifyAll()三个方法必...

2019-08-18 23:40:36 128

原创 实现Runnable接口和继承Thread两者对比

方式一:继承Thread类的方式:创建一个继承于Thread类的子类重写Thread类的run() --> 将此线程执行的操作声明在run()中创建Thread类的子类的对象通过此对象调用start():①启动当前线程 ② 调用当前线程的run()说明两个问题:问题一:我们启动一个线程,必须调用start(),不能调用run()的方式启动线程。...

2019-08-18 23:33:38 314

原创 多线程(实现Runnable和继承Thread)

程序 : 保存在硬盘上的静态文件进程 : 在内存中处理运行状态的程序, 有生命周期, 一个程序可以启动多个进程(实例), 进程之间不可以直接通信线程 : 进程中的一个子任务, 线程也有生命周期, 一个线程对应一个运行栈, 线程之间通信方便使用Thread类来描述, 创建一个Thread对象, 就相当于创建线程对象, 一个线程对象内部包含一个栈.创建并启动线程的方式 1 : 实现的方式...

2019-08-17 09:04:15 137

原创 MapReduce工作机制和流程

**MapReduce工作机制和流程**上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:1)MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中2)从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件3)多个溢出文件会被合并成大的溢出文件4)在溢出过程及合并的过程中,都要调用Pa...

2019-08-09 20:09:52 356

原创 自定义实现FileInputFormate

主要实FileInputFormate类重写createRecordReader方法,然后自定义RecordReader重写读取机制;输出以SequenceFileOutputFormat;package com.atguigu.mapreduce.inputformat;import java.io.IOException;import org.apache.hadoop.fs.Path;...

2019-08-09 19:57:10 491

原创 MapReduce序列化举例

*MapReduce序列化举例**具体实现bean对象序列化步骤如下7步。(1)必须实现Writable接口(2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造根据需求添加set方法 以便在mapper或reduce中使用;public FlowBean() {super();}(3)重写序列化方法@Overridepublic void write(Da...

2019-08-09 19:41:28 417

原创 枚举类(enum)

枚举类的理解: 类的对象时有限个而且是确定的 ,我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类,如果枚举类只有一个对象时,则可以作为单例模式的实现方式如何定义枚举类: jdk5,0之前私有化构造器,并给对象的属性赋值声明对象的属性,private 和final修饰 私有...

2019-08-07 11:18:32 147

原创 接口和抽象类的区别

**接口和抽象类的区别**一个类可以有多个接口 但只能有继承一个父类抽象类可以有构造方法便于子类的实例化调用,接口中不能有构造方法。抽象类中可以有普通成员变量,但接口中没有普通成员变量,抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。...

2019-08-05 08:03:45 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除