自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 问答 (2)
  • 收藏
  • 关注

原创 maven将本地jar包添加到本地仓库

mvn install:install-file -Dfile=jar包地址 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar

2020-04-15 14:56:21 167

原创 java中的几种锁

1、自旋锁当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到才退出循环package com.ning;import java.util.concurrent.atomic.AtomicReference;public class SpinLock { /** * AtomicReference类提供了...

2020-03-04 19:37:10 261

原创 网络协议

TCP/IP是在不断解决实际问题中成长起来的协议族,是经过市场检验的事实标准链路层:单个0、1是没有意义的,链路层以字节为单位把0、2进行分组,定义数据帧,写入源和目标机器的物理地址、数据、校验位来传输数据网络层:根据IP定义网络地址,区分网段。子网内根据地址解析协议(ARP)进行MAC寻址,子网外进行路由转发数据包,这个数据包即IP数据包传输层:数据包通过网络层发送到目标计算...

2020-03-04 16:17:15 221

原创 jvm面试题总结

在jvm虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个new 操作去写对应的delete/free操作,不容易出现内存泄漏和内存溢出问题。正是因为Java程序员把内存控制权利交给Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。一、运行时的数据区域java虚拟机在执行java程序的过程中会把管...

2020-03-04 11:06:31 167

原创 RAID磁盘阵列

RAID是一种把多块独立的硬盘按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份技术。RAIDRAID技术主要包含RAID 0~RAID 7,常用的为RAID5RAID 0:并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效...

2020-03-03 21:56:54 116

原创 在springcloud中自定义限流过滤器

关于gvava限流器常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失拜首先创建一个限流器,参数为:每秒生成两个令牌RateLimiter rateLim...

2020-02-19 18:09:38 353

转载 SpringBoot - Actuator

https://www.cnblogs.com/scp-166/p/11942159.html

2020-02-11 19:11:24 104

原创 springboot开机启动的两种方法

开机启动是springboot常见的功能,可以在应用程序启动时执行一些操作。开机启动可以通过实现接口来完成第一种package com.ning.runner;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.ApplicationArguments;import org.springframew...

2020-02-11 09:44:48 2151

原创 springboot异步任务

异步调用通常用在发短信、发送邮件、消息推送 、运维凌晨自动化操作等,这些场景实时性要求不高,大多都是推广统计等服务。异步任务:其实就是一个很特别的方法,这个方法没有返回值(也可以有返回值,后面会说的),但是方法内部的逻辑会耗费很多时间!例如,用户请求每次到controller,要执行到这个异步方法的时候,我们只需要命令一个空闲状态的线程去执行它即可,由于没有返回值不影响后续代码的运行,cont...

2020-02-10 17:08:31 129

原创 springboot定时任务

package com.ning.util;import lombok.extern.slf4j.Slf4j;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.time.LocalDateTime;...

2020-02-07 16:44:43 82

原创 springboot类读取配置文件的两种方法

方法一目录结构首先要编写application类,添加一些值com: ning: value: hello name: zhangsanserver: servlet: context-path: /yhj port: 8888接下来编写一个类,类中获取配置文件的值package com.ning.controller;im...

2020-02-07 10:26:37 668

原创 致敬力扣第一天【两数之和】

第一思路(失败),双层for循环public int[] towSum(int[] nums,int target){ int[] arr = new int[2]; for (int i = 0;i<nums.length;i++){ for(int j = 0;j<nums.length;j++){ ...

2020-02-04 23:22:31 93

原创 spark内存管理

Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提供储存。Driver端的内存管理比较简单,这里所说的Spark内存管理针对Executor端的内存管理。Spark内存管理分为静态...

2019-12-11 19:40:26 80

原创 sparkStreaming

一、UpdateStateByKey算子1、nc -lk port在linux下启动一个向外发送数据的端口安装nc命令 yum install -y nc启动nc -lk 9999向外发送消息:2、updateStateByKey作用为SparkStreaming中每一个Key维护一份state状态,state类型可以是任意类型的,可以是一个自定义的对象,更新函数也...

2019-12-02 18:48:31 121

原创 spark连接hive

一、读取Hive中的数据加载成DataFrameHiveContext是SQLContext的子类,连接Hive建议使用HiveContext。由于本地没有Hive环境,要提交到集群运行,提交命令:./spark-submit --master spark://node1:7077,node2:7077 --executor-cores 1 --executor-memory ...

2019-11-29 15:58:33 132

原创 SparkSQL入门案例

一、将JSON格式的数据转化为table1、SparkSQL的数据源SparkSQL的数据源可以是JSON类型的字符串,JDBC,Parquent,Hive,HDFS等。{"name":"zhangsan","age":20}{"name":"lisi"}{"name":"wangwu","age":18}{"name":"wangwu","age":18}2、依赖jar包...

2019-11-28 14:42:00 451

原创 SparkShuffle

一、SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为RDD是分布式的弹性的数据集...

2019-11-27 18:43:41 78

原创 spark的广播变量与累加器

一、广播变量(broadcast)1、广播变量的意义如果我们要在分布式计算里面分发大对象,例如:字典,集合,黑白名单等,这个都会由Driver端进行分发,一般来讲,如果这个变量不是广播变量,那么每个task就会分发一份,这在task数目十分多的情况下Driver的带宽会成为系统的瓶颈,而且会大量消耗task服务器上的资源,如果将这个变量声明为广播变量,那么只是每个executor拥有一...

2019-11-27 11:03:15 74

原创 spark二次排序和分组取topN

1、二次排序假设一个给定一组数据:需求是先按第一列排,如果第一列相等,再按第二列排结果为:import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}//spark继承Ordered类可以自定义排序规则class twoSort (val first:Int,val...

2019-11-26 18:50:04 220

原创 spark资源调度和任务调度

Spark资源调度和任务调度的流程:启动集群后,Worker节点会向Master节点汇报资源情况,Master掌握了集群资源情况。当Spark提交一个Application后,根据RDD之间的依赖关系将Application形成一个DAG有向无环图。任务提交后,Spark会在Driver端创建两个对象:DAGScheduler和TaskScheduler,DAGScheduler是任务调度...

2019-11-25 18:17:04 117

原创 算子补充

1、transformation1、join,leftOuterJoin,rightOuterJoinval conf: SparkConf = new SparkConf().setAppName("jointest").setMaster("local") val sc = new SparkContext(conf) //生成元组的两种方法 //参数2指定R...

2019-11-24 18:39:46 140

原创 spark提交任务的模式

Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提供储存。一、Standalone模式两种提交任务方式1、Standalone-client提交任务方式命令./spark-submi...

2019-11-22 21:19:41 210

原创 spark常用算子(函数)

一、spark常用算子1、Transformations转换算子 1.概念: Transformations类算子是一类算子(函数)叫做转换算子,如map,flatMap,reduceByKey等。Transformations算子是延迟执行,也叫懒加载执行。 2.Transformation类算子:filter过滤符合条件的记录数,true...

2019-11-22 09:51:36 664

原创 spark入门

一、Spark初始1、什么是sparkApache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,...

2019-11-22 09:22:40 60

原创 shell爬取假数据

wget-o /tmp/wget.log 日志存放位置-P /root/pdata 爬取数据放置位置--no-parent --no-verbose 递归爬取-m -D news.cctv.com 域名地址,爬取哪个网站-N --convert-links 把url连接转换成对应的目录--random-wait 随机等待(避免引起网站...

2019-11-05 15:33:29 108

原创 lucene

<dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>4.10.4</version&...

2019-11-04 10:12:02 60

原创 Storm的ack完整性保障机制

storm为了保证数据能被正确处理,对于spout每个发送的数据都会跟踪spout没发送一条数据ack方法都会收到响应,如果没有通过ack机制,可以保证每条数据最少被处理一遍package com.ning.storm;import org.apache.storm.spout.SpoutOutputCollector;import org.apache.storm.task....

2019-11-03 16:43:55 132

原创 hbase安装和测试

一、什么是hbaseHBASE是一个数据库----可以提供数据的实时随机读写HBASE与mysql、oralce、db2等关系型数据库不同,它是一个NOSQL数据库Hbase的表模型与关系型数据库的表模型不同: Hbase的表没有固定的字段定义; Hbase的表中每行存储的都是一些kv数据 Hbase的表中有列族的划分,用户可以指定将哪些kv插入哪个列族 Hbase的表在物理存...

2019-10-31 19:02:29 1898

原创 flume模拟客户端数据发送到kafka消费者

1、首先在3台服务器上启动zookeeper2、启动3台服务器上的kafka-server3、编写flume数据发送给kafka的配置文件再flume的conf下编写一个fktest.confa1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the source# 和kafka之间通信的协议...

2019-10-30 10:03:15 462

原创 Storm的DRPC

RPC介绍RPC(Remote Procedure Call)————远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一...

2019-10-29 19:46:32 135

原创 storm入门案例

<dependencies> <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>1.2.2</version&gt...

2019-10-23 18:53:49 88

原创 ssh免密钥登录配置

免密钥登录本机的实验ll -a查看隐藏文件cd到.ssh下生成公钥文件(如果没有这个目录,需要ssh localhost登录一次,自己会生成)ssh keygen -t dsa -P '' -f ~/.ssh/id_dsa将生成的id_dsa.pub分享给需要免密登录的机器就可以面密登录了cat id_dsa.pub >> authorized_keys...

2019-10-22 18:45:44 100

原创 kafka配置文件

采集源source下沉目标sink(可以时hdfs,kafka,hive)source和sink之间传递的通道channel一、flume采集数据到HDFS的配置agent1.sources = source1agent1.sinks = sink1agent1.channels = channel1#配置监控路径或者监控的文件(监控文件需要动态监听)#跟踪文件内容使用exec...

2019-10-22 15:25:51 205

原创 hadoop伪分布式配置

hadoop官网https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html一、安装jdk和hadoop(全部解压就可以)二、配置环境变量vi /etc/profile重启环境变量测试java、javac、Hadoop命令三、修改hadoop集群启动时需要...

2019-10-21 21:17:58 68

原创 mysql的存储过程

存储过程IN 只需要执行,不返回OUT 返回值create procedure remove(IN id INT UNSIGNED)BEGINdelete from tb_name where tb_name.id = id;END/执行存储过程 call name();同时执行IN和OUTcreate procedure removeandreturn(IN id IN...

2019-10-21 16:33:59 67

原创 mysql自定义函数

自定义不带参函数CREATE FUNCTION f1() RETURNS VARCHAR(30)NO SQLRETURN DATE_FORMAT(NOW(), '%Y年%m月%d日 %H点:%i分:%s秒');自定义带参数的函数CREATE FUNCTION f2(num1 INT,num2 INT) RETURNS INTNO SQL RETURN (num1+num2)/2;...

2019-10-21 16:32:45 54

原创 mysql的内连接,外连接

多表连接update 需要更改的表 inner join 参照表 on 需要更新的列=参照表的列set 需要更新的列=参照表的对应值;例update tb_goods inner join tb_goods_cates on goods_cate=cate_nameset goods_cate=cate_id;当连接其他表后,商品表原先的varchar数据类型需要改成int类型al...

2019-10-18 14:59:03 64

原创 kafka安装和测试

kafka需要依赖zookeeper下载地址https://mirrors.aliyun.com/apache/kafka/1、解压kafkatar -zxvf kafka..... -C apps/2、配置kafka环境变量vi /etc/profile在最后增加exoper KAFKA_HOME=/root/apps/kafka.....exoper $KAFK...

2019-10-14 15:17:09 89

原创 logback日志

<?xml version="1.0" encoding="UTF-8" ?><configuration scan="true" scanPeriod="60 seconds" debug="false"> <property name="log.level" value="debug"/> <property name="log.m...

2019-09-30 18:37:36 60

转载 mysql主从同步

https://www.cnblogs.com/gl-developer/p/6170423.html

2019-09-30 18:36:37 41

空空如也

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

TA关注的人

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