- 博客(45)
- 问答 (2)
- 收藏
- 关注
原创 maven将本地jar包添加到本地仓库
mvn install:install-file -Dfile=jar包地址 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar
2020-04-15 14:56:21 174
原创 java中的几种锁
1、自旋锁当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到才退出循环package com.ning;import java.util.concurrent.atomic.AtomicReference;public class SpinLock { /** * AtomicReference类提供了...
2020-03-04 19:37:10 263
原创 网络协议
TCP/IP是在不断解决实际问题中成长起来的协议族,是经过市场检验的事实标准链路层:单个0、1是没有意义的,链路层以字节为单位把0、2进行分组,定义数据帧,写入源和目标机器的物理地址、数据、校验位来传输数据网络层:根据IP定义网络地址,区分网段。子网内根据地址解析协议(ARP)进行MAC寻址,子网外进行路由转发数据包,这个数据包即IP数据包传输层:数据包通过网络层发送到目标计算...
2020-03-04 16:17:15 233
原创 jvm面试题总结
在jvm虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个new 操作去写对应的delete/free操作,不容易出现内存泄漏和内存溢出问题。正是因为Java程序员把内存控制权利交给Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。一、运行时的数据区域java虚拟机在执行java程序的过程中会把管...
2020-03-04 11:06:31 168
原创 RAID磁盘阵列
RAID是一种把多块独立的硬盘按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份技术。RAIDRAID技术主要包含RAID 0~RAID 7,常用的为RAID5RAID 0:并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效...
2020-03-03 21:56:54 121
原创 在springcloud中自定义限流过滤器
关于gvava限流器常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失拜首先创建一个限流器,参数为:每秒生成两个令牌RateLimiter rateLim...
2020-02-19 18:09:38 361
原创 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 2166
原创 springboot异步任务
异步调用通常用在发短信、发送邮件、消息推送 、运维凌晨自动化操作等,这些场景实时性要求不高,大多都是推广统计等服务。异步任务:其实就是一个很特别的方法,这个方法没有返回值(也可以有返回值,后面会说的),但是方法内部的逻辑会耗费很多时间!例如,用户请求每次到controller,要执行到这个异步方法的时候,我们只需要命令一个空闲状态的线程去执行它即可,由于没有返回值不影响后续代码的运行,cont...
2020-02-10 17:08:31 138
原创 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 85
原创 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 676
原创 致敬力扣第一天【两数之和】
第一思路(失败),双层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 97
原创 spark内存管理
Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提供储存。Driver端的内存管理比较简单,这里所说的Spark内存管理针对Executor端的内存管理。Spark内存管理分为静态...
2019-12-11 19:40:26 83
原创 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 124
原创 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 148
原创 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 463
原创 SparkShuffle
一、SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为RDD是分布式的弹性的数据集...
2019-11-27 18:43:41 82
原创 spark的广播变量与累加器
一、广播变量(broadcast)1、广播变量的意义如果我们要在分布式计算里面分发大对象,例如:字典,集合,黑白名单等,这个都会由Driver端进行分发,一般来讲,如果这个变量不是广播变量,那么每个task就会分发一份,这在task数目十分多的情况下Driver的带宽会成为系统的瓶颈,而且会大量消耗task服务器上的资源,如果将这个变量声明为广播变量,那么只是每个executor拥有一...
2019-11-27 11:03:15 77
原创 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 225
原创 spark资源调度和任务调度
Spark资源调度和任务调度的流程:启动集群后,Worker节点会向Master节点汇报资源情况,Master掌握了集群资源情况。当Spark提交一个Application后,根据RDD之间的依赖关系将Application形成一个DAG有向无环图。任务提交后,Spark会在Driver端创建两个对象:DAGScheduler和TaskScheduler,DAGScheduler是任务调度...
2019-11-25 18:17:04 122
原创 算子补充
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 143
原创 spark提交任务的模式
Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提供储存。一、Standalone模式两种提交任务方式1、Standalone-client提交任务方式命令./spark-submi...
2019-11-22 21:19:41 231
原创 spark常用算子(函数)
一、spark常用算子1、Transformations转换算子 1.概念: Transformations类算子是一类算子(函数)叫做转换算子,如map,flatMap,reduceByKey等。Transformations算子是延迟执行,也叫懒加载执行。 2.Transformation类算子:filter过滤符合条件的记录数,true...
2019-11-22 09:51:36 675
原创 spark入门
一、Spark初始1、什么是sparkApache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,...
2019-11-22 09:22:40 63
原创 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 112
原创 lucene
<dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>4.10.4</version&...
2019-11-04 10:12:02 64
原创 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 134
原创 hbase安装和测试
一、什么是hbaseHBASE是一个数据库----可以提供数据的实时随机读写HBASE与mysql、oralce、db2等关系型数据库不同,它是一个NOSQL数据库Hbase的表模型与关系型数据库的表模型不同: Hbase的表没有固定的字段定义; Hbase的表中每行存储的都是一些kv数据 Hbase的表中有列族的划分,用户可以指定将哪些kv插入哪个列族 Hbase的表在物理存...
2019-10-31 19:02:29 1923
原创 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 482
原创 Storm的DRPC
RPC介绍RPC(Remote Procedure Call)————远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一...
2019-10-29 19:46:32 141
原创 storm入门案例
<dependencies> <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>1.2.2</version>...
2019-10-23 18:53:49 92
原创 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 105
原创 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 212
原创 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 70
原创 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 73
原创 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 58
原创 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 66
原创 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 92
原创 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 64
空空如也
再win环境下,想用git和centos自动交互,使用expect找不到命令
2020-05-06
git要上传文件到服务器时,想用expect自动输入密码
2020-04-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人