自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL系列四之锁机制

锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证了数据并发访问的一致性、有效性,同时,锁冲突也是影响数据库并发访问性能的一个重要因素。1.MySQL锁概述相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎持不同的锁机制。MyISAM和MEMORY存储引擎次啊用的是表级锁(table-level locking);BDB存储引擎采用的是也米娜锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level lockin

2021-03-10 15:48:16 227 2

原创 MySQL系列三之索引的使用

1.索引概述(1)索引是数据库中利来提高性能的常用工具。所有MySQL列类型都可以被索引,对相关列使用索引可以提高查询性能。(2)根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种存储引擎(如MyISAM、InnoDB、BDB、MEMORY)对每个表至少支持16个索引,总索引长度至少为256个字节。(3)MyISAM和InnoDB存储引擎的表默认创建的都是BTREE索引。MySQL5.7之后,可以通过虚拟列索引来实现函数索引的功能,同时MySQL也支持前缀索引,即对索引字段的前N个字符创建索引

2021-03-03 16:18:54 229 1

原创 MySQL系列二之初探存储引擎

1.概述插件式存储引擎时MySQL数据库最重要的特性之一,用户可以根据自己的需求选择如何存储索引数据、是否使用事务等。MySQL5.7支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、ARCHIVE、MERGE、NDB等,其中InnoDB和NDB提供事务安全表,其他的存储引擎都是非实物安全表。建立新表时,如果不指定存储引擎,则会使用默认存储引擎。MySQL在5.5之前的默认存储引擎时MyISAM,5.5之后改为了InnoDB。(1)查看默认存储引擎mysql> show v

2021-03-02 10:34:28 209

原创 Hadoop系列十之HDFS节点的服役和退役

1.服役新数据节点随着工资业务的增长,数据量越来越大,烟油的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。1.1 环境准备(1)在hadoop103主机上再克隆一台hadoop104主机(2)修改IP地址和主机名称(3)删除原来HDFS文件系统留存的文件(/opt/module/hadoop-3.1.3/data和log)(4)source一下配置文件[JL@hadoop104 hadoop-3.1.3]$ source /etc/profile1.2

2021-02-26 14:32:41 400

原创 Hadoop系列九之HDFS安全模式和多目录配置

目录集群安全模式NameNode多目录配置DataNode多目录配置1.集群安全模式1.1 概述(1)NameNode启动NameNode启动时,首先将镜像文件(FsImage)载入内存,并执行编辑日志(Edits)中的各项操作。一旦在内存中成功建立文件系统问数据的映像,则创建一个新的FsImage文件和一个空的编辑日志。此时,NameNode开始监听DataNode请求。这个过程期间,NameNode一直运行在安全模式,即NameNode的文件系统对于客户端来说是只读的。(2)Dat

2021-02-26 11:47:10 153

原创 Hadoop系列八之HDFS工作原理

本文目录:HDFS写数据流程HDFS读数据流程NameNode和SecondaryNameNodeDataNode1.HDFS写数据流程1.1. 剖析文件写入过程(1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。(2)NameNode返回是否可以上传。(3)客户端对文件切分后,请求第一个 Block上传到哪几个DataNode服务器上。(4)NameNode返回3个DataNode

2021-02-25 13:37:55 240 1

原创 Hadoop系列七之HDFS的Shell和Idea操作

1.HDFS的Shell操作1.1 基本语法语法一:bin/hadoop fs 命令 语法二:bin/hdfs dfs 命令1.2 命令大全[JL@hadoop101 hadoop-3.1.3]$ bin/hadoop fs[-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...]

2021-02-24 15:12:20 194

原创 Hadoop系列六之HDFS入门

1.HDFS定义HDFS(Hadoop Distributed File System),hadoop分布式文件系统,用于存储海量文件,可以通过目录树来定位文件;其次,文件系统是问不是的,由很多服务器组成,共同实现存储功能。HDFS应用场景:适合一次写入,多次读出的场景,不支持文件的修改。适合用于做数据存储分析,不适合做网盘应用。2.HDFS优缺点2.1 优点(1)高容错性数据自动保存多个副本,通过增加副本的形式,提高容错性。(2)适合处理大数据数据规模:能够处理数据规模达到GB、TB、甚至

2021-02-24 13:27:46 106

原创 Hadoop系列五之版本差别

目前,hadoop官网提供的最新版本是2021年1月9日发布的3.2.2版本。本文主要讨论1.x、2.x和3.x的主要区别。1.hadoop 1.x(1)基本组件:hdfs:数据存储mapreduce:分析计算和资源调度common:辅助工具(2)HDFS存储机制(3)MapReduce工作机制:client,用来提交MapReduce作业。jobtracker,用来协调作业的运行。tasktracker,用来处理作业划分后的任务。HDFS,用来在其它实体间共享作业文件。(4)问

2021-02-23 16:29:12 3233 2

原创 hadoop系列四之配置文件说明

1.环境配置文件hadoop-env.shhadoop运行需要jre环境,可以直接在/etc/profile中配置,也可以在hadoop-env.sh文件中进行配置,在hadoop-env.sh中可以对JVM虚拟机相关参数进行设置。(1)通过/etc/profile文件进行设置sudo vim /etc/profile在profile文件末尾添加:(shitf+g)HADOOP_HOME=/opt/module/hadoop-3.1.3PATH=$PATH:$JAVA_HOME/bin:$HA

2021-02-23 11:07:35 1005

原创 Hadoop系列三之运行模式

Hadoop的运行模式包括:本地模式、伪分布式模式和完全分布式模式。具体可参考官方网站:http://hadoop.apache.org/1.本地运行模式1.1 官方Grep案例(1)在hadoop-3.1.3目录下面创建一个input文件夹cd /opt/module/hadoop-3.1.3mkdir input(2)将Hadoop的xml配置文件复制到inputcp etc/hadoop/*.xml input(3)执行share目录下的MapReduce程序bin/hadoo

2021-02-22 14:06:52 319

原创 Hadoop系列二之运行环境搭建

1.Hadoop运行环境搭建1.1 虚拟机环境准备虚拟机镜像为Centos7.5版本。1.1.1 修改虚拟机的静态IP此步骤可参考Linux网络配置和远程登录问题一文。sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33修改为:DEVICE=ens33TYPE=EthernetONBOOT=yesBOOTPROTO=staticNAME="ens33"PREFIX=24#IP地址IPADDR=192.168.1.101#网关

2021-02-22 11:54:16 90

原创 Hadoop系列一之入门介绍

1.Hadoop框架生态1.1 Hadoop是什么(1)hadoop是一个由Apache基金会所开发的分布式系统基础架构(2)主要解决,海量数据的存储和海量数据的分析计算(3)hadoop广义上是指hadoop生态圈1.2 Hadoop发展历史(1)Lucene框架是Doug Cutting 开创的开源软件,用java书写,实现类和Google类似的全文搜索功能。(2)2001年底,Lucene成为了Apache基金会的一个子项目(3)面对海量数据场景,Lucene和Google都有相同的困

2021-02-22 10:42:31 423 3

原创 CDH平台YARN日志查看和问题排查

1.查看YARN中作业的web端口方式一: 通过ResourceManagerWeb UI 查看日志:( 这种方式可以查看当前正在执行以及历史所有任务)1.1 先找到 YARN ResourceManager 角色所在服务器的IP地址,可通过如下图方式进行查看。 CM操作路径:集群-YARN-实例-ResourceManage角色-主机。1.2 然后查找端口, 通过查找yarn-site配置项 yarn.resourcemanger.webapp.address 的值,默认是8088.

2021-02-20 14:11:35 6756 10

原创 Scala--创建对象的5种方式

adfsdf

2020-05-27 13:02:52 3065

原创 反编译class文件

1 使用cmd命令行FirstScala.scala文件:package scalaobject FirstScala { def main(args : Array[String]) : Unit = { println("start"); println(FirstScala.test()); println("end"); } def test() : String = { return "test";

2020-05-21 14:15:17 1141

原创 IntelliJ IDEA设置代码模板和类默认注释

1 工具自带模板对于一些常用的代码,idea会提供一些自带的模板,如if条件判断、while循环、for循环等提高开发效率,但是如果一些代码没有模板或者模板不够个性化,则可以通过设置,自己添加模板。Idea工具自动生成的模板:(1)if条件判断(2)while循环2 用户个性化模板设置打开settings --> editor --> live template点击右上角的+号,添加live template,编写模板和模板提示。设置好后,点击apply–>Ok即可。

2020-05-21 10:25:32 1190

原创 Linux环境变量文件及加载过程

一、系统环境变量:/etc/profile :这个文件预设了几个重要的变量,例如PATH, USER, LOGNAME, MAIL, INPUTRC, HOSTNAME, HISTSIZE, umask等等。从安全角度考虑,通常不会在此文件中进行环境变量。/etc/profile文件中有执行/etc/profile.d/*.sh的脚本,因此一般在/etc/profile.d目录下,通过shell脚本,设置系统环境变量:for i in /etc/profile.d/*.sh /etc/profile.d

2020-05-17 08:33:03 1791

原创 MySQL系列一之安装、远程登录设置和SQLYog使用

1 准备安装包(1)MySQL官网下载地址http://dev.mysql.com/downloads/mysql/MySQL搜狐镜像下载地址http://mirrors.sohu.com/mysql/MySQL-5.7/(2)Centos7虚拟机2 安装(1)检查当前系统是否安装过Mysql, 需要说明的是CentOS7默认已安装mariadb(MySQL的另外一个衍生版本),因此在CentOS6中要检查mysql,而CentOS7要检查mariadb[root@hadoop102 ~]$

2020-05-13 20:13:16 173

原创 日志收集之flume和kafka集成

对于收集日志文件,选择flume和kafka的组合,其中flume完成对日志的聚集功能,kafka实现数据流的缓冲和削峰。由上图可见,flume可以作为生产者,也可以作为消费者。1 flume作为生产者flume作为生产者,内部架构可以分为两种:source-channel和source-channel-sink(1)source-channel架构source-channel架构,channel选择为KafkaChannel,需求分析如下:编写配置文件kafka_channel.conf:#

2020-05-12 08:47:38 285

原创 Zookeeper内部原理

1 Zookeeper节点类型(1)持久化目录节点客户端与zookeeper断开连接后,该节点依旧存在。(2)持久化顺序编号目录节点客户端与zookeeper断开连接后,该节点依旧存在,只是zookeeper给该节点添加顺序编号。(3)临时目录节点客户端与zookeeper断开连接后,该节点被删除。(4)临时顺序编号目录节点客户端与zookeeper断开连接后,该节点被删除,只是z...

2020-05-07 12:32:41 122

原创 Zookeeper分布式部署

1 Zookeeper下载官网下载地址:https://zookeeper.apache.org/2 集群规划在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper3 Zookeeper安装[jl@hadoop102 software]$ tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module/4 配置服...

2020-05-07 10:40:52 76

原创 Kafka的安装和部署

1 Kafka集群规划hadoop102: zookeeper kafkahadoop103: zookeeper kafkahadoop104: zookeeper kafka2 安装Kafka(1)下载jar包http://kafka.apache.org/downloads(2)解压安装包[jl@hadoop102 software]$ tar -zxvf kafka_2.1...

2020-05-06 21:38:56 188

原创 Ganglia的安装与部署

1 三台主机安装epel源epel是基于Fedora的一个项目, 装上了 EPEL,就像在 Fedora 上一样,可以通过 yum install package-name安装软件。[jl@hadoop102 flume]$ sudo yum install -y epel-release[jl@hadoop103 flume]$ sudo yum install -y epel-relea...

2020-05-06 13:01:26 313

原创 Flume案例分析

1 复制和多路复用(1)案例需求使用Flume-1监控文件变动,Flume-1将变动内容传递给Flume-2,Flume-2负责输出到Local FileSystem。同时Flume-1将变动内容传递给Flume-3,Flume-3负责存储到HDFS。(2)需求分析(3)编写配置文件在/opt/module/flume/job下创建a1.conf,向a1.conf添加如下配置:# N...

2020-05-06 08:52:47 362

原创 关于String字符串的那些事

1 StringString,代表不可变的字符序列public final class String implements java.io.Serializable, Comparable<String>, CharSequence{ ... } private final char value[];通过底层定义可以看出,String是Java自用的一个类,底层...

2020-04-09 13:55:57 158

原创 Linux网络配置和远程登录问题

本介绍中,Linux网络配置以Centos7为例,远程登录以Xshell5为例,windows为win10版本。1 Linux网络配置提出问题:问什么要配置Linux的IP地址?因为在装Linux系统的时候,连接方式选为NAT模式,Linux操作系统获得IP是私有IP地址,是随机的。为了在windows系统中能够随时找到Linux虚拟机,需要将其IP地址进行固定。(1)首先,查看windo...

2020-04-01 20:30:58 563

原创 Maven搭建中的疑难杂症

1 在终端界面,使用mvn compile,无法成功构建报错:BUILD FAILURE[ERROR] COMPILATION ERROR :[INFO] -------------------------------------------------------------[ERROR] 不再支持源选项 1.5。请使用 1.6 或更高版本。[ERROR] 不再支持目标选项 1.5。...

2020-03-30 18:11:54 273

原创 LinkedList源码分析

LinkedList底层是由链表实现的。public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{ // 头结点 trans...

2020-03-19 19:09:56 60

原创 HashMap源码分析

HashMap的底层结构JDK 7及以前版本:HashMap是数组+链表结构(即为链地址法)JDK 8版本发布以后:HashMap是数组+链表+红黑树实现。public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable...

2020-03-17 21:15:08 51

原创 Vector源码解析

Vector是List的古老实现类,底层是通过数组实现public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableVector实现了List,RandomAccess,Clo...

2020-03-17 13:21:30 163

原创 ArrayList源码分析

ArrayList是由线性表即数组实现的。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList实现了List,RandomAccess,Clo...

2020-03-16 20:16:37 66

原创 ArrayList并发修改异常分析

1.迭代器遍历Collection list = new ArrayList();// 添加操作略Iterator iterator = list.iterator();while(iterator.hasNext()){ System.out.println(iterator.next());}迭代器是从哪里获得list内数据的?public class ArrayList{...

2020-03-15 11:19:04 1313

原创 对多态方法调用案例的分析

多态,字面意思是子类对象的多种形态,也可以理解成子类对象调用父类方法会有多种结果的可能。通常理解,父类引用指向子类实例。但这是有前提条件的,一是继承关系,二是子类中重写了父类方法。然而实际上,多态情况下,用父类引用调用方法,可能出现多种情况。看如下例子:abstract class Animal { public abstract void eat(); } class ...

2020-03-08 20:32:17 136

原创 方法重载之参数类型的自动提升

方法重载会根据方法参数的不同而去匹配,对于基本类型数据存在自动类型提升的情况。` public static void main(String[] args) { byte a = 1; test(a); } // 基本数据类型 public static void test(byte a){ System.out.println("this is byte"); }...

2020-03-05 20:48:16 274

原创 java面试中的一些题目

1.貌似是考查方法的参数传递public class Test { public static void main(String[] args) { int a=10; int b=10; method(a,b);//需要在method方法被调用之后,仅打印出a=100,b=200, //请写出met...

2020-02-25 19:54:19 203

原创 面向对象之方法篇

1.类的成员之方法(Method)(1)方法的声明方法的声明格式:修饰符 返回值类型 方法名(参数类型 形参1, 参数类型 形参2, ….){方法体程序代码return 返回值;}其中:修饰符:public,缺省,private, protected等返回值类型: a. 没有返回值:void。b. 有返回值,声明出返回值的类型。与方法体中“return 返回值”搭配使用方...

2020-02-24 20:50:54 409

原创 JDK的安装与配置

JDK的下载和安装(1)打开网页 http://www.oracle.com 下载对应平台的合适的JDK版本。 (2)双击下载的 exe,如 jdk-8u131-windows-x64.exe。(3)进入安装向导 (4)下一步,更改安装路径,选择安装所有组件 说明:开发工具为完整的JDK,包含一个JRE,因为使用Eclipse需要依赖JRE。因此,保留公共JRE选项。如...

2020-02-23 21:51:06 77

空空如也

空空如也

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

TA关注的人

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