自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式------代理模式

一、 定义代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。二、 结构图三、 示例代码(待补充)

2020-11-20 18:37:01 82

原创 设计模式------装饰模式

一、 定义装饰模式(Decorator),动态的给一个对象添加一些额外的职责,为已有功能动态的添加更多功能的一种方式。装饰模式把每个要装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象。二、 结构图Component是定义一个对象接口,可以给这些对象动态的添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator是装饰抽象类,继承自Component类,从外类扩展Component的功能。ContreteDecorator是具体的装饰对

2020-11-17 17:15:05 88

原创 设计模式------面向对象特征及原则

面向对象特征:封装、继承、多态面向对象原则:一、 单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。二、 开放-封闭原则软件实体(类、模块、函数等)应该可以扩展,但是不可以修改。对应扩展是开放的,对于修改是封闭的。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。应对可能发生的变化,通过构造抽象来完成。开放-封闭原则是面向对象设计的核心所在,可以使程序可维护、可扩展、可复用、灵活性好。三

2020-11-12 19:10:55 108

原创 Yarn的调度负载模拟器

Yarn模拟器是 一个能够在一台机器上装载应用程序,模拟一个大规模的yarn集群的工具。模拟器使用实际的yarn resourcemanager,在相同的java虚拟机内,通过处理和调度NM/AMs心跳事件,模拟NodeManager和ApplicationMaster来移除网络因素。集群的规模和应用负载可以从配置文件中加载。模拟器在执行时会产生实时的指标:1) 整个集群和每个队列的资源使用率,可以被用来配置集群和队列的容量。2) 详细的应用程序执行跟踪记录可以用来分析,以便理解和验证调度器的行为(包

2020-11-11 18:44:33 340

原创 YARN的调度器--------公平调度器(Fair Schedule)

一、特点1) 可配置的层级队列:所有队列都来自于root队列。可用的资源被分配给root队列的孩子队列,孩子队列分得的资源可统一分配给孩子队列的孩子队列。公平调度支持为每个队列设置不同的策略,让队列通过用户想要的方式来分享资源。2) 自动把应用程序放置到队列中:允许管理员配置策略,把提交的应用程序自动的放置到合适的队列中。二、 配置1) 配置ResourceManager:在conf/yarn-site.xml中配置yarn.resourcemanager.scheduler.class,值为or

2020-11-11 09:57:33 873

原创 YARN的调度器-----容量调度器(Capacity Schedule)

一、特点1) 层级队列:在其他队列被运行使用空闲资源之前,层级队列可确保资源在改组织的子队列之间被共享,从而提供更多的可控制性和可预测性2) 容量保证:每个队列都分配了一部分容量,它们可以支配这部分资源。所有应用程序提交到一个特定队列,它将有权使用分给该队列的资源。管理员可以配置每个队列容量的最低保证和资源使用上限。3) 安全性:每个队列都有严格的ACL(控制访问列表),它可以控制用户提交应用程序到特定队列上。同时确保某一用户不能查看或修改其他用户提交的应用程序,并且支持队列管理员和集群系统管理员的设

2020-11-11 09:55:20 736

原创 设计模式-----策略模式

一、 定义**策略模式(Strategy)**定义了一组算法,分别封装起来,让它们之间可以相互替换,使算法的变化不会影响到使用算法的用户。策略模式封装了变化,如果需求是在不同的时间应用不同的业务规则,则可以考虑用策略模式,优点有:1) 以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合2) 简化了单元测试,每个算法有自己的类,可以通过自己的接口单独测试二、 结构图三、 示例代码以商场收银为例,各种促销方式即各种总额计算方法。(代码待补充)四、 策略模式和简单工厂模式结合两

2020-11-10 10:25:08 85

原创 设计模式--------简单工厂模式

一、 定义创建一个工厂类,根据不同的参数返回不同的实例二、 组成一个抽象类,多个具体类,一个创建类,创建类中根据不同的参数返回不同的类三、 代码实现(后面完成,以计算器为例)待补充...

2020-11-06 14:41:34 80

原创 Clickhouse为什么有这么高的性能

一、 架构设计1、 MPP架构(海量数据并行处理架构),share nothing模式,每个节点访问自己的cpu、内存、磁盘,且与节点之间的数据访问并行。2、 向量执行引擎,从寄存器硬件层面优化,采用数据并行,速度提升指数级别。采用cpu缓存作为临时交换数据,速度比内存交换数据还要快。3、 列式存储和数据压缩4、 支持sql查询,采用关系型模型描述数据5、 支持表引擎,将数据存储抽象成独立的接口,根据实际应用场景,选择适合的表引擎。6、 多线程和并发处理数据,线程级别并行处理数据,横向上将表分片

2020-11-06 10:53:52 1352

原创 HBASE读流程

读流程1.Client 先访问zookeeper,获取hbase:meta 表位于哪个Region Server。2. 访问对应的Region Server,获取hbase:meta 表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个Region Server 中的哪个Region 中。并将该table 的region 信息以及meta 表的位置信息缓存在客户端的meta cache,方便下次访问。3. 与目标Region Server 进行通讯;4. 分别在Bl

2020-11-03 15:24:29 459

原创 HBASE写流程

写流程1、Client 先访问zookeeper,获取hbase:meta 表位于哪个Region Server;2. 访问对应的Region Server,获取hbase:meta 表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个Region Server 中的哪个Region 中。并将该table 的region 信息以及meta 表的位置信息缓存在客户端的meta cache,方便下次访问。3. 与目标Region Server 进行通讯;4. 将数据顺序

2020-11-03 15:20:24 134

原创 HBASE详细架构

Master:Master 是所有Region Server 的管理者,其实现类为HMaster,主要作用如下:1、对于表的操作:create, delete, alter2、对于RegionServer 的操作:分配regions 到每个RegionServer,监控每个RegionServer的状态,负载均衡和故障转移。Region ServerRegion Server 为 Region 的管理者,其实现类为HRegionServer,主要作用如下:1、对于数据的操作:get, put,.

2020-11-03 15:16:34 202

原创 ubuntu 18.04服务器版 在线搭建cdh6.2.1

一、准备三台虚拟机(全部root用户下操作)1、规划master server,agent mysqlslave1 agentslave2 agent2、修改主机名Vim /etc/hostnameReboot3、配置静态ip(root用户下)cd /etc/netplanVim 00-installer-config.yaml配置如下: # This is the network config written by 'subiquity'network:

2020-10-28 18:55:59 1217 3

原创 mongodb 安装部署及操作

一、安装部署1、sudo yum install libcurl openssl2、https://www.mongodb.com/try/download/community 官网下载sudo mkdir -p /var/lib/mongosudo mkdir -p /var/log/mongodbsudo chown hadoop /var/lib/mongosudo chown hadoop /var/log/mongodb启动:mongod --dbpath /var/lib/mo

2020-09-30 17:57:57 219

原创 java 泛型

package com.test;public class TClassMain { //泛型通配符 public String showValue(TClassTest<?> tc){ System.out.println(tc.getKey()); return tc.getKey().toString(); } //泛型方法 <T,K> public <T> T showTClass(

2020-09-29 15:34:27 97

原创 clickhouse集群安装部署

一、 安装每台机器上按照单节点模式安装,按照官网步骤安装:sudo yum install yum-utilssudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPGsudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.reposudo yum install clickhouse-server clickhouse-cl

2020-09-25 16:45:18 4037

原创 Elasticsearch Java访问

package com.es.api;import com.alibaba.fastjson.JSONObject;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.action.index.IndexResponse;import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.se

2020-09-18 17:37:07 240

原创 Elasticsearch集群安装部署

一、 elasticsearch安装1、 jdk安装(版本1.8 忽略)2、 官网下载elasticsearch 7.9版本压缩包,上传到linux系统,解压tar -zxvf elasticsearch-7.9.0-linux-x86_64.tar.gz创建软连接ln -s elasticsearch-7.9.0 elasticsearch3、 配置elasticsearch.yml文件Node-1配置为:cluster.name: estestnode.name: node-1nod

2020-09-17 18:43:34 1575

原创 spring boot + freemarker 框架开发,前后端数据交互方式总结

1、前端是Get请求,后端直接返回数据列表前端js函数: function getBtnclick() { var ss=""; $("input[name='selcolTypeChild']").each(function () { ss += $(this).val().toString() + ","; }) ss = ss.substr(0,ss.length-1) $.ajax({ type: "GET",

2020-09-10 17:17:32 2485

原创 stop-all.sh停止不了hadoop集群

Hadoop集群使用stop-all.sh停止时,停止不了,提示各个进程都找不到,但是各个进程都存在。问题原因:hadoop启动停止都是通过hadoop-deamon.sh文件,脚本是通过pid文件来停止hadoop服务的。集群默认配置的pid文件位于/tmp目录下,linux系统默认每30天清理一次/tmp目录下的文件,pid文件丢失将导致无法正确关闭相应进程。问题解决:由于pid文件已经无法找回,所以只能先用jps获取进程号,然后用kill -9杀掉对应进程,停止集群。参考stop-all.sh及

2020-09-08 10:50:53 1716

原创 Hive删除外部分区表,报错:org.apache.hadoop.hive.ql.exec.DDLTask

hive中删除外部分区表后,又在另一个库中创建相同的外部分区表,都是从hdfs上的相同目录上读取数据,结果报错org.apache.hadoop.hive.ql.exec.DDLTask返回代码1解决方法:set hive.msck.path.validation=ignore;MSCK REPAIR TABLE table_name;其中的原理:待续...

2020-08-25 17:57:43 905

原创 collect_set、collect_list、lateral view 、explode、json解析

1、 collect_set、collect_list将分组中的某一列转为一个数组,collect_set去重,collect_list不去重Select uname,collect_set(bookname) as books from student group by uname访问:books[0],books[1],books[2]…………2、lateral view 、explodelateral view 与explode连用,用于把数组拆分为多行如:uid

2020-07-31 14:29:44 663

原创 Logstash语法

1、 区段{}定义区域2、 数据类型1) 希尔值 bool debug=>true2) 字符串 string host=>”hostname”3) 数值 number port=>5144) 数组 array match=>[“datetime”,”linux”,”2020”] 数组支持倒序下标5) 哈希 hashoptions =&g...

2020-03-31 19:34:24 2696

原创 Java代码访问hive数仓

1、 增加hdfs的配置,在core-site.xml文件中添加如下配置<property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value></property><property> <name>hadoop.pro...

2020-03-31 19:25:58 795

转载 hive中各种字符串转换为时间

Please refer below table to convert any date format into fixed format i.e yyyy-MM-dd .Input column name: dt (String).Replace dt with your column name.Input Format Code Output FormatddMMyyyy to_date...

2020-01-15 17:27:13 11430

原创 hive拉链表实现实例

1、准备数据表userodscreate table userods(u_name string,u_pwd string,u_register date,u_des string) row format delimited fields terminated by '\t';2、准备增量表user_inccreate table user_inc(u_name string,u_pwd ...

2020-01-15 16:47:41 684

原创 hive修改字段及字段类型

hive修改字段类型语句:alter table 表名 change column 原字段名 新字段名 字段类型;alter table user_chain change column u_register u_registe date;(u_register原类型为string类型)这样修改会报一个错误:FAILED: Execution Error, return code 1 fro...

2020-01-15 16:19:53 61867

原创 hive启动后,show databases报错semanticexception org.apache.hadoop.hive.ql.metadata.HiveException

报错如下:FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient网上找了一圈...

2019-12-18 10:23:51 1998

原创 hive启动报错---java.net.UnknownHostException: cluster

hive启动时报错如下:Exception in thread “main” java.lang.IllegalArgumentException: java.net.UnknownHostException: clusterat org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:377)a...

2019-12-16 19:22:41 5803 1

原创 namenode格式化报错

搭建hadoop集群时,namenode格式化报错如下:WARN namenode.NameNode: Encountered exception during format:org.apache.hadoop.hdfs.qjournal.client.QuorumException: Unable to check if JNs are ready for formatting. 1 exc...

2019-12-16 18:32:50 2987 2

原创 Hive内部表、外部表、分区表、location的重要区别

1、创建内部表及外部表加与不加location的区别加location时,在hdfs的目录/user/hive/warehouse下没有以该表名命名的目录;不加location时则存在以该表名命名的目录。加location时,加载数据时会在location后面所在的目录下创建分区目录或者数据目录。2、无论内部表外部表,load数据是hdfs上的数据时,load完会删除hdfs上的数据。如果是l...

2019-12-01 21:39:56 2851

原创 Airflow安装部署及遇到的问题总结

Airflow的安装部署操作系统是ubuntu16.04LTS,使用系统自带的python3.5.之前在utuntu14上安装airflow会提示要求python系统版本>=3.4.一、 安装1、 环境准备1)安装pip,使用python3时要安装pip3,使用命令sudo apt-get install python3-2)检查python依赖,输入python3命令,import ...

2019-11-29 17:51:39 1164

原创 Linux系统下Postgresql的安装部署及操作

一、 安装部署1、 下载软件从pgsql官网地址:https://www.postgresql.org/,进入后点击download就来到下载页,这里点击Linux下面的Other Linux选项,然后点击下方的tar.gz archive下载二进制归档,进入下载页面后,根据自己的机器类型选择要下载的包,本机为x86-64,下载包为postgresql-10.1-1-linux-x64-bin...

2019-11-22 17:51:25 1496

原创 IDEA常用配置总结

2019-09-30 14:07:14 127

原创 IDEA快捷键总结

//////////////////////////////代码导入******1、ctrl+alt+s 设置菜单2、Ctrl+d 复制行或者已选代码块3、Alt+/ 代码自动补全4、Alt+insert 自动生成构造方法等5、Ctrl+shift+回车 自动补全结尾6、Ctrl+j 自动代码生成模板,例如psvm,sout等7、Alt+回车 导包或者修正已经导入的包//...

2019-09-30 11:00:37 135

原创 Flume安装及组件作用配置

1、flume安装解压,conf目录下拷贝配置,安装目录下测试运行 Tar -zxvf apache-flume-1.8.0.0-bin.tar.gz cp flume-conf.properties.template flume-conf-sequence.properties bin/flume-ng agent -n agent1 -c conf -f conf/flum...

2019-09-25 10:51:25 515

原创 hbase集群搭建

一、规划硬件内存:region服务器和blockcache需要内存无上限,hbase master server 2GB,hbase region server 16GB磁盘:服务器需要大量存储空间,1TB或2TB,可以根据数据规模及操作挂载磁盘Java:1.7以上版本对hbase支持较好二、安装1、上传安装包到bdmaster节点的/home/hadoop/app目录下,并解压安装;...

2019-09-24 15:00:03 385 1

原创 sqoop安装及导入导出命令

Sqoop1、安装1)解压sqoop安装包2)配置进入conf目录下 mv sqoop-env-template.sh sqoop-env.sh3)将mysql的jar包放到sqoop的lib目录下4)启动先启动hadoop,再使用sqoop二、sqoop使用命令1、sqoop improt1)访问明码访问:sqoop list-databases \–connect...

2019-09-24 12:31:01 223

原创 hive的安装部署

一、mysql安装1、在线安装mysql使用yum在线安装mysql:yum install mysql-server2、启动mysql服务使用service mysqld start命令启动mysql服务3、设置mysql root用户密码Mysql刚刚安装完成,默认root用户是没有密码的,登录mysql设置root用户密码。Enter password: 默认没有密码,回车...

2019-09-05 10:47:06 1312

原创 resourcemanager异常退出问题,报错Received stat error from Zookeeper. code:CONNECTIONLOSS

yarn的高可用中一个resourcemanager异常退出,查看日志报错如下:Received stat error from Zookeeper. code:CONNECTIONLOSS. Not retrying further znode monitoring conne问题描述:zookeeper连接丢失解决:修改zookeeper的配置文件,在zoo.cfg中,修改ticktim...

2019-09-04 10:36:23 882

空空如也

空空如也

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

TA关注的人

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