- 博客(42)
- 收藏
- 关注
原创 Linux端日志处理常用命令
1、查看文件所在目录pwd2、显示当前目录下所有内容:ll,列出来的结果详细,有时间,是否可读写等信息ls,只列出文件名或目录名3、查看文件大小du -sh [filename]4、统计行数wc -l [filename]5、重命名:mv [修改前] [修改后]6、查看①、cat [将文件内容全部打印在控制台上],more [以一页一页的形式显示,更方便阅读]...
2019-10-11 17:24:31
646
原创 利用kettle实现hive数据直接导入到mysql
一直想利用kettle工具实现直接连接hive和mysql操作数据,在踩过很多坑后终于实现,故记录分享。软件环境:Hadoop-2.7.1(单机)、apache-hive-2.3.5-bin、MySQL-5.6.1、pdi-ce-7.1.0.0-12(kettle)一、首先需要配置hiveserver2并开启hive2客户端,kettle才能连接到hive。①、配置hive-site.xm...
2019-08-24 16:36:24
3352
1
原创 将hive数据库中的数据导入到MySQL中的方式
天气炎热,写篇文章降降温,防止中暑。大数据的数据转置过程中,经常需要将hive数据库中的数据迁移到MySQL等关系型数据库中。而目前市场上成熟的方案已经比比皆是,如利用sqoop的方式、kettle等中间工具。今天正好闲来无事,考虑在不利于以上2种方式的情况下,成功将hive数据库中的数据导入到了MySQL中。以下为实例。首先附上一张思路图:命题:在Hadoop的/file目录中,有一个...
2019-08-04 23:47:08
10533
原创 Oozie安装配置与实例运行
Oozie安装配置与实例运行目录Oozie安装配置与实例运行 1Maven安装 21.1. 官网下载 21.2. 解压安装 21.3. 其他依赖 3MySQL安装 32.1. 下载安装包:客户端与服务端。(个人版本为5.6.29) 32.2. 确认当前虚拟机上是否安装过mysql 32.3. 卸载mysql 32.4. 新增mysql用户组,并创建mysql用户 32.5...
2019-06-17 23:10:49
1020
原创 kafka如何保证数据的顺序消费
在对kafka的理解中,常常会被问及到kafka如何保证数据的顺序消费、kafka的数据重复消费怎么处理、如何保证kafka中数据不丢失?今天先说说数据的顺序消费问题。关于顺序消费的几点说明:①、kafka的顺序消息仅仅是通过partitionKey,将某类消息写入同一个partition,一个partition只能对应一个消费线程,以保证数据有序。②、除了发送消息需要指定partition...
2019-05-22 20:49:58
42810
14
原创 八、yarn简述
一、yarn是Hadoop提供的一共用于进行资源调度和任务管理的框架。注意:1、如果有多个Task,那么会scheduler中形成资源队列,队列中存储的是Container。2、如果资源队列已满,这个时候来的新任务会被阻塞3、如果多个任务同时申请资源,那么一般默认MapTask会优先申请一个节点中会有一个Nodemanager,意味着一个NodeManager将会执行不只一个Task...
2019-05-08 21:40:46
251
原创 MySQL查询语言中的部分优化方法
在实际开发与面试中,经常会遇到如何对MySQL数据查询脚本进行优化的问题。首先我们需要了解数据查询类语言DQL(Data QueryLanguage)的主要组成结构。A、一段最基本的查询:select x from table;B、常用的查询结构有:select ? from table where ? group by ? having ? order by ?;可以看出 select...
2019-05-04 18:55:45
166
原创 七、MapReduce应用
一、MapReduce的组成1、JobTracker/ResourceManager:管理任务2、TaskTracker/NodeManager:执行任务二、ShuffleMapTask1、获取到切片(FileSplit)信息2、每一个切片对应一个MapTask3、读取具体的数据块(Block)4、按行读取数据5、每一行数据会调用一次map方法,进行处理6、map方法在执行完...
2019-04-28 14:08:40
272
原创 六、MapReduce简介
一、MapReduce简述MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,MapReduce是面向大数据并行处理的计算模型、框架和平台,作用为拆分数据,合并数据。MapReduce的组成1、JobTracker/ResourceManager:管理任务2、TaskTracker/NodeManager:执行任务二、序列化/反序列化机制.当自定义一个类之后,如...
2019-04-28 13:59:30
633
原创 五、HDFS基本操作
一、SecondaryNameNode合并过程1、将edits和fsimages文件通过网络拷贝到SecondaryNameNode上,2、在namenode上产生一个edits.new记录合并期间的操作,3、拷贝完成之后,fsimage就会将其中的数据保存到SecondaryNameNode的内存中,4、将edits的操作更新到SecondaryNameNode的内存中,5、更新完成后...
2019-04-28 13:48:35
586
原创 四、HDFS技术细节
一、BlockHDFS在存储数据的时候是将数据进行切块,分别存储到不同的节点上。在Hadoop1.0版本中,每一个block默认是64M大小,在Hadoop2.0版本中,每一个block默认是128M大小400M - 4 - 其中前3块,每一块是128M,第4块是16M100M - 1 - 文件块按照实际大小100M存储好处:1、利于大文件的存储2、方便传输3、便于计算二、Nam...
2019-04-28 13:42:17
346
原创 三、HDFS简介
一、HDFS简述:1、Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。2、本身是用来存储数据的,当存储较大文件的时候会对文件进行切换。二、HDFS的体系结构1、NameNode:管理整个文件的元数据。2、DataNode:负责管理用户的文件数据块。3、Secondary NameNode用来监控hdfs状态的...
2019-04-09 20:25:06
417
原创 二、Hadoop伪分布式的安装方式
一、Hadoop的安装方式1、单机安装。除了MapReduce模块以外,其他的都不能使用。2、伪分布式安装。利用一台主机模拟Hadoop的运行环境,可以使用Hadoop的所有模块。3、全分布式安装。在真正的集群上去安装Hadoop。二、伪分布式的安装1、关闭防火墙 service iptables stop2、修改主机名。在Hadoop集群中,主机名中不允许出现_以及-,如果出现...
2019-04-09 18:25:35
124
原创 一、Hadoop介绍
一、Hadoop概述1、Hadoop是一个可靠的、可扩展的、分布式系统基础架构。2、创始人:Doug Cutting 和Mike二、Hadoop的版本1、Hadoop1.0:HDFS和MapReduce2、Hadoop2.0:完全重构的一套系统,不兼容1.0。包含了HDFS、MapReduce和Yarn3、Hadoop3.0:包含了HDFS、MapReduce、Yarn以及Ozone...
2019-04-09 18:01:13
151
原创 三、ZooKeeper集群为什么要单数?
在zookeeper集群中,会有三种角色,leader、 follower、 observer分别对应着总统、议员、观察者。半数以上投票通过:可以这样理解。客户端的增删改操作无论访问到了哪台zookeeper服务器,最终都会被转发给leader服务器,再由leader服务器分给zookeeper集群中所有follower服务器去投票(投票指的是在内存中做增删改操作),半数投票通过就被认为操作可执...
2019-04-09 17:45:49
625
原创 二、ZooKeeper的选主流程以及工作流程
1、ZooKeeper下Server工作状态每个Server在工作中有三种状态a、LOOKING:当前Server不知道leader是谁,正在搜寻。b、LEADING:当前Server即为选举出来的leader。c、FOLLOWING:leader已经选举出来,当前Server与之同步。2、ZooKeeper选主流程(basic paxos)当leader崩溃或者leader失去大多...
2019-04-09 17:42:22
768
原创 一、ZooKeeper的功能以及工作原理
1、ZooKeeper是一个开源的分布式应用程序协调服务,是Google Chubby的开源实现,它是集群的管理者,监视着集群中各个节点的状态,根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。2、ZooKeeper提供了什么? 1)文件系统 2)通知机制3、ZooKeeper文件系统每个子目录项如NameService都被称作为zno...
2019-04-09 17:28:37
272
原创 五、内存溢出和内存泄漏
一、内存溢出1、(out of memory):指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory,比如申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,出现溢出。2、产生原因:a、jvm内存过小,b、程序不严谨,产生过多的垃圾。3、程序体现:a、内存中加载的数据量过于庞大,如一次从数据库中取出过多数据。b、集合类中有对对象的引用,使用完...
2019-04-08 21:46:54
146
原创 四、JVM内存回收
一、内存回收:Sun的JVMGenerationalCollecting(垃圾回收)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析)1、Young(年轻代)年轻代分三个区。一个Eden区,两个Survivor区。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被复制到Sur...
2019-04-08 21:42:36
106
原创 三、JVM中的数据类型
一、数据类型1、jvm是通过某些数据类型来执行计算的,数据类型可以分为两种:基本类型和引用类型。基本类型的变量持有原始值,而引用类型持有应用值。2、Java语言中的所有类型同样也都是jvm中的基本类型。但是boolean有点特别,虽然jvm也罢Boolean看作基本类型,但是指令集对Boolean只有很有限的支持,当编译器把Java源代码编译为字节码时,它用int或者byte来表示Boole...
2019-04-08 21:37:08
555
原创 二、JVM的生命周期
一、一个运行中的JVM有着一个很清晰的任务:那就是执行Java程序。1、程序开始执行时JVM才运行,程序结束时它就结束。2、当在同一台机器上运行X个程序,就会有X个运行中的JVM。3、JVM总是始于一个main()方法,这个方法必须是共有的(public)、静态的(static)、返回void,并且接受一个字符串数组作为参数。 4、在程序执行时,你必须给JVM指明这个包含main()方法的...
2019-04-08 21:25:12
139
原创 一、JVM的体系结构
在Java虚拟机的规范中定义了一系列的子系统、内存区域、数据类型和使用指南。这些组件构成了Java虚拟机的内部结构,它们不仅仅为Java虚拟机的实现提供了清晰的内部结构,更是严格规定了Java虚拟机实现的外部行为。1、每一个虚拟机都由一个类加载子系统(class loader subsysteam),负责加载程序中的类型(类和接口),并赋予唯一的名字。每一个jvm都有一个执行引擎,负责执行被...
2019-04-08 20:57:25
239
原创 如何保证微服务的API安全问题?
1、安全访问控制:API请求到达网关需要经过严格的身份认证、权限认证,才能到达后端服务。支持算法签名,支持 SSL 加密。2、流量控制:可控制单位时间内API允许被调用次数。可以根据API的重要程度来配置不同流控,从而保障重要业务的稳定运行; 可以根据用户的重要性来配置不同流控。3、请求管理:可根据配置进行参数类型、参数值(范围、枚举、正则、Json Schema)的校验,减少后端对非法请求、...
2019-03-17 09:41:33
1701
转载 bash中source filename 与 sh filename 及./filename执行脚本的区别?
一、source filename 与 sh filename 及./filename执行脚本的区别? 1、当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别的。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。2、sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子she...
2019-01-21 20:51:07
330
原创 四、Linux环境关闭防火墙
1、首先查看防火墙状态:service iptables status2、即时生效,重启后复原开启: service iptables start关闭: service iptables stop3、 永久性生效,重启后不会复原开启:chkconfig iptables on关闭:chkconfig iptables off4、重启服务reboot5、查看端口netstat –...
2018-12-20 16:43:16
485
原创 五、Linux卸载自带OPENJDK并安装指定JDK
为什么卸载Linux自带的JDK?答:Linux在安装了CentOS后,一般自带的JDK是OPENJDK,因为OPENJDK和SUN JDK有区别,故需卸载OPENJDK,重装JDK。步骤:1、查询OPENJDK,会发现一般有两个OPENJDK版本,输入命令:rpm -qa|grep java java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686...
2018-12-19 19:11:58
630
原创 Java中final关键字的作用与用法
一、特点1、final从字面上理解含义为“最后的,最终的”。2、final可以用来修饰变量(包括类属性、对象属性、局部变量、形参),方法(包括类方法和对象方法)以及类。二、用法1、用来修饰数据,包括成员变量和局部变量,该变量只能被赋值一次且他的值不能再被改变。对于成员变量来说,我们必须在声明或构造方法中对它赋值。2、用来修饰方法参数,表示在变量的生存期间它的值不能被改变。3、修饰...
2018-12-11 22:01:23
7753
1
原创 Java中static关键字的作用与用法
一、特点1、static是一个修饰符,用于修饰成员(成员变量、成员函数),被static修饰的成员称为静态变量或类变量。2、static修饰的成员被所有的对象共享。3、static优先于对象存在,因为static的成员随着类的加载就已存在。4、static修饰的成员多了一种调用方式,可以直接被类名所调用(类名.静态成员)。5、static修饰的数据是共享数据,对象中存储的是特有的数...
2018-12-11 21:58:08
575
原创 Zookeeper的API操作
一、Java连接Zookeeper ZooKeeper zk; @Before public void connect() throws IOException, InterruptedException { CountDownLatch cdl = new CountDownLatch(1); // connectString - 连接地址+端口号 // sessionTim...
2018-12-05 21:28:59
131
原创 ZooKeeper
Zookeeper:开源的分布式协调服务框架,Hadoop子件,适用于绝大部分分布式集群的管理一、分布式引发的问题二、ZooKeeper的特点三、ZooKeeper的节点类型四、ZooKeeper的节点信息五、ZooKeeper单机安装六、ZooKeeper集群安装注意:...
2018-12-05 21:24:21
4835
原创 高并发基础:线程池
一、线程池描述二、Java提供的线程池三、混合线程池四、Callable和Runnable的区别五、分叉合并六、Lock七、原执行操作
2018-12-05 21:12:06
147
原创 红黑树(自平衡二叉查找树)的修正过程
一、红黑树的特性:1、每个节点或者是黑色,或者是红色。2、根节点是黑色。3、每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]4、如果一个节点是红色的,则它的子节点必须是黑色的。5、从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。二、修正过程:1、当前节点为红色,且父节点以及叔父节点为红,那么将父节点以及叔父节点涂黑,将祖父...
2018-12-04 20:57:34
354
原创 高并发基础:利用Selector实现Client与Server之间的通信
一、建立Client端package com.nio.selector.selector;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channe...
2018-12-04 20:22:22
499
原创 高并发基础:利用Channel实现Client与Server之间的通信
一、建立client端package com.nio.channel;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SocketChannel;public class Client { public...
2018-12-04 20:17:17
1086
原创 高并发基础:NIO
一、概念:NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。二、NIO和IO的主要区别三、BIO的缺点1、产生阻塞行为:receive、accept、connect、read、write。2、一对一的连接,每连接一个客户端,就需要开启一个线程去处理,当客户端较多的时候,服务器或产生...
2018-12-04 19:52:00
355
原创 Spring中@ResponseBody注解的使用
一、@responseBody注解的作用将controller的方法返回的对象通过适当的转换器转换为指定的格式(如.xml、.json、.txt)之后,写入到response对象的body区,通常用来返回XML或JSON数据。 当使用该注解之后,程序不会再走试图处理器,而是将数据直接写入到输出流中,此效果等同于通过response对象输出指定格式的数据。二、示例代码 @Request...
2018-11-05 19:33:43
333
原创 三、NAT模式下,实现不同物理机与虚拟机之间的通信
注:本文虚拟机为VMware_workstation_full_12.5.2版本在VMware虚拟机中,最常用的网络设置有桥接模式、Host-only模式、NAT模式,这三种模式都是通过虚拟网卡实现网络访问的:一、桥接模式:在这种模式中,虚拟机会获得一个与物理机相同网段的IP地址,此时只要物理机可以访问网络,虚拟机也可以实现上网。假如物理机网络IP网段发生变化,虚拟机的IP也会相应的改变。二...
2018-10-29 19:35:07
8078
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人