自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PrestoOnYarn搭建及其问题解决方案总结

Presto搭建整合流程总结一、环境准备本次搭建内容是: presto on yarn + kerberos 整合本次presto集群搭建过程基于一下环境:hadoop版本: hadoop-2.7.3presto版本:0.223slider版本: slider-0.91.0-incubatingjdk版本: jdk1.8.0_181注意,jdk版本要求在jdk1.8_151以上,否则可能会出现bug:Java HotSpot™ 64-Bit Server VM warning: C

2021-12-08 14:25:09 3457

原创 使用presto-gateway在多个presto集群负载

prestogateway在多个presto集群负载流量,减轻presto集群压力

2022-07-14 18:38:42 1326 1

原创 trino on yarn调度到同一机器上多实例端口冲突问题处理

trino on yarn调度端口冲突问题解决

2022-06-27 15:20:24 1146 16

原创 Trino升级和二次改造

prestosql350升级到trino最新版本381以及对trino源码和ranger源码适配化改造

2022-06-01 10:01:30 2751

原创 apache slider命令使用

apache slider 命令本篇主要探讨slider指令的使用,结合使用slider 提交presto 到yarn集群调度的按理讲解常用的几个指令。我们可以下slider的bin目录下使用./slider help 命令来查看具体的命令使用情况。Usage: slider COMMAND [options]where COMMAND is one of am-suicide Tell the Slider Application Master

2022-04-18 14:36:53 1293

原创 nginx返回403 forbidden

在elasticsearch5升级到elasticsearch7的过程中。由于同一台机器启动了es5和es7的两个不同端口。而业务在执行导入操作到时候,前端发送es _bulk请求到业务处理服务器,然后nginx拦截_bulk请求直接proxy_pass转发到elasticsearch7。在nginx转发_bulk请求过程中,发现在nginx那里日志返回403状态码。未更改前的配置server { listen 80; server_name xxx.xxx.xxx;

2022-04-01 17:07:42 4547

原创 Presto通过Ranger0.7.1进行权限控制

本文目的:整合prestosql333使用Ambari中的ranger0.7.1进行资源权限控制在搭建整合前,先对ranger各个角色有个大概认知一、ranger介绍Ranger 是大数据领域的一个集中式安全管理框架,实现对 Hadoop 生态组件的集中式安全管理。用户可以通过 Ranger 实现对集群中数据的安全访问,它主要是对 Hadoop 平台组件进行监管、启动服务以及资源访问进行控制,其核心思想为:用户可以使用 Ranger 提供的 REST API 或者使用 Ranger 提供 Web

2022-02-18 17:47:19 2971

原创 ranger和presto源码编译

Presto+Ranger源码编译问题总结由于最近想要整合prestodb和ranger,故想要对presto内部进一步了解,方便对其添加ranger的插件。为此,我对presto进行了源码编译,同时对ranger0.7.1(线上用的版本)进行了源码编译。presto是在win10上编译的,ranger在ubuntu16.04上进行编译的,下面讲解下主要的编译流程一、Presto源码编译一、环境WIN10、jdk1.8、presto-0.233、maven-3.8.2二、步骤1.修改prest

2022-01-28 13:54:44 4650

转载 github连接不上解决

参考:https://www.cnblogs.com/liang715200/p/15173771.html

2022-01-24 18:30:20 854

原创 Elasticsearch-SERVICE_UNAVAILABLE/1/state not recovered

当你安装部署好es集群时,发现启动无报错,但是用es-head连接的时候,发现连接不上,出现error,提示服务不可用:[2022-01-19T10:11:33,271][WARN ][r.suppressed ] path: /_stats, params: {}org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered

2022-01-19 10:28:23 2440

原创 hadoop使用kerberos认证后,hadoop fs -ls命令行无法使用

感谢大佬回答,原文地址:hadoop使用kerberos认证后,hadoop fs -ls命令行无法使用,求大神帮忙--CSDN问答问题:hadoop版本apache hadoop 2.7.3,jdk-1.7输入hadoop fs -ls,错误信息如下:hadoop@hadoop01 native]$ hadoop fs -ls17/08/01 01:33:36 WARN ipc.Client: Exception encountered while connecting to the

2021-09-13 11:27:47 612

原创 Netty--AIO与BIO编程

一、BIO阻塞式IObio意思是阻塞式的io模型,常常用于客户端交互程序中。最长见的就是ServerSocket和Socket之间的交互。Socket和ServerSocket简介Socket又叫套接字,ServerSocket则可以接受客户端请求,并生成一个新的线程处理对应的客户端传递信息。ServerSocket 为当前的机器打开一个端口接受客户端的请求ServerSocket server = new ServerSocket( port )Sokcet 负责连接操作。它要绑定指定ip和

2021-08-19 14:13:03 135

原创 IDEA出现maven依赖冲突ommited for conflict with

此异常说明你的依赖里面出现了多个相同的包但是版本不一样,导致冲突第一种解决办法: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <exclusions> <exclusion> <groupId>org.springframework</grou

2021-06-17 18:01:41 2838

原创 设计模式--访问者

访问者模式介绍最复杂的设计模式,并且使用频率不高,《设计模式》的作者评价为:大多情况下,你不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了。访问者模式是一种将数据操作和数据结构分离的设计模式。(觉得太抽象,可以看下面的例子)。访问者模式的使用场景对象结构比较稳定,但经常需要在此对象结构上定义新的操作。需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免这些操作“污染”这些对象的类,也不希望在增加新操作时修改这些类。访问者模式的UML类图角色介绍Visitor

2021-05-12 11:18:32 70

原创 设计模式--命令设计模式

命令模式,通常指的是一个对象向另一个对象发送信息指令的行为模型,比如父母命令孩子写作业、将军命令士兵进攻等。我们经过分析拆解方法会得到三个模块,首先得有命令发送方,接着是被传递的命令本身,最后就是命令的接收执行方了。那么,这样拆解到底有什么好处?让我们先来看一个最简单的例子,电灯泡。既然是电灯那一定对应通电和断电的行为接口了,两个接口方法互斥,我们就叫它Switchable吧。1 public interface Switchable {//电器接口2 //通电3 public void

2021-05-11 16:57:50 77

原创 Elasticsearch5.1.2源码编译

第一步获取elasticsearch5.1.2源码百度云网盘链接:链接:https://pan.baidu.com/s/1-sUAKEf-Ds9EeHb1Kbr16A提取码:mcbw上述链接中同样,把gradle下下来第二步,安装gradle解压下下来的gradle,然后配置环境变量设置GRADLE_HOME然后再PATH上拼接:打开shell,看下是否gradle安装成功第三步 将elasticsearch源码项目导入idea导入的时候选择gradle的方式导入,因为es5.0

2021-04-28 11:28:42 279

原创 Docker学习(五)---- Docker镜像原理

Docker镜像是什么?镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。Docker镜像加载原理:docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。bootfs(boot file system)主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像

2021-04-02 14:20:27 106

原创 Docker学习(四)---- 基本操作(下)

docker run -d 中的一个坑Docker logs命令查看容器的日志语法docker logs [OPTIONS] CONTAINEROPTIONS说明:-f : 跟踪日志输出–since :显示某个开始时间的所有日志,这个时间可以是RFC 3339时间,也可以是UNIX timestamp-t : 显示时间戳–tail :仅列出最新N条容器日志实例跟踪查看容器mynginx的日志输出。runoob@runoob:~$ docker logs -f mynginx1

2021-04-01 17:24:03 116

原创 Docker 学习(三)---- 基本操作(上)

Docker Helloword 镜像练习首先介绍下命令:docker run 镜像名我们就用 docker run hello-world为例子[root@bogon ~]# docker run hello-worldUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world1b930d010525: Pull complete Digest: sha256:c3b4ad

2021-04-01 17:05:28 175

转载 Elasticsearch--Profile API分析慢查询

一、前言profile API 是 Elasticsearch 5.x 的一个新接口。通过这个功能,可以看到一个搜索聚合请求,是如何拆分成底层的 Lucene 请求,并且显示每部分的耗时情况。二、 profile API 使用可以通过在query部分上方提供“profile: true”来启用Profile API。GET /ljjtest/book/_search{ "profile":"true", "query":{ "match":{ "author":"鲁迅"

2021-01-04 16:24:12 510 1

原创 Hadoop-MapReduce开发-分组取Top-N

一、需求分析有以下的数据:数据的每列的意思是:年月日、码值(代表一个中文意思,比如1表示北京等地域信息)、温度。需要计算出每个月气温最高的两天。1、最初的解决方案

2020-12-30 10:32:47 278

原创 Hadoop-MapReduce作业提交方式、源码

一、MapReduce提交方式1、提交jar到集群节点,使用命令运行的方式上一次我们进行开发的mapReduce入门程序wordCount中,我们是通过以下步骤提交到集群中运行的。首先完成mapReduce主程序、map计算方法、Reduce计算方法的开发将开发完成后的代码打jar包将jar上传到集群中的某一个节点使用命令hadoop jar xx.jar [mainClass] in out 提交2、把程序嵌入【linux、windows】(非hadoop jar)的集群方式。客户端在

2020-12-29 18:41:24 2325

转载 Freemaker基本用法

声明转载地址:https://blog.csdn.net/pengpengpeng85/article/details/52070602FTL指令常用标签及语法注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析。freemaker注释:<#-- 注释内容 -->格式部分,不会输出基础语法1、字符输出${emp.name?if_exists}      // 变量存在,输出该变量,否则不输出${emp.name!}           //

2020-12-28 18:14:45 320

原创 Hadoop-MapReduce调度原理,Yarn原理

一、MapReduce中的角色上一节中,我们介绍了MapReduce的一些理论概念。那么mapReduce的框架是如何实现的呢?框架中都分别包含哪些角色呢?mapReduce框架实现有个目标,就是实现计算向数据移动;其中hdfs集群中已经为我们暴露出了数据块的位置,一个文件块可能会存在多个副本,散列在不同的Datanode中,此时如果客户端要用mapReduce框架计算其中一部分数据,那就有个问题,如何将mapReduce的计算程序“扔”到对应的合适的datanode节点中运行计算呢?在解决这个问题之前

2020-12-28 15:09:50 838 2

原创 Shiro学习(八)--使用数据库进行授权管理

一般的,企业的用户数据不可能直接写在文件中,我们需要设计数据库用来存储这些重要的数据,假设现在有权限(permission),角色(role),用户(user)三个重要的主题,那么如何将这三者联系起来呢?我们看下图:图中告诉我们:permission和role的关系是多对多的关系role和user的关系也是多对多的关系一、数据库表构建其中permission、role、tb_user、permission_role、role_usertb_user用户表-- --------------

2020-12-25 23:34:01 281

原创 Shiro学习(七)--spring集成Shiro

第一步:引入shiro依赖 <!-- shiro依赖 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.2</version> </dependency> <dep

2020-12-25 18:41:14 115

原创 Shiro学习(六)--Shiro标签

一、 Shiro标签前面我们剖析了Shiro的授权流程,并且编写了授权的小实例。下面我们来探讨一下Shiro的标签。Shiro提供了JSTL标签用于在JSP页面进行权限控制,如根据登录用户显示相应的页面按钮。Shiro提供的标签有如下几种:(1)guest标签:用户没有身份验证时显示相应信息,即游客访问信息。例如: <shiro:guest> 欢迎游客访问,<a href="login.jsp">登录</a> </shiro

2020-12-25 18:33:12 1083

原创 Shiro学习(五)-- Web集成

一、简介Shiro与Web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于如Struct2/SpringMvc这种web框架的前端控制器,是所有请求的入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。请求会经过ShiroFilter过滤,ShiroFilter会去加载ini文件进行认证和权限校验。如果没有相应的,那么就返回对应的提示。其中对请求进行以特定规则拦截最重要的就是配置拦截器二、拦截器我们通过上面的表

2020-12-25 18:09:25 106 1

原创 Shiro学习(四)-- RBAC权限模型讲解

一、RBAC介绍RBAC:基于角色的权限管理简单的理解为:谁,扮演什么角色,被允许做什么操作用户对象: user : 当前操作用户角色对象:role: 表示权限操作许可权的集合权限对象: permission:资源操作许可权例子: 张三(user) 下载(permission) 一个高清无码的种子(资源) , 需要VIP权限(role)简单的流程就是:张三现在是普通用户 ,需要授权 成为VIP才可以下载指定的资源。二、权限校验的几种方式1、 编程方式通过写if/else授权代

2020-12-25 17:08:27 573

原创 Shiro学习(三)-- Realm加密登录登出

一、前言前一章我们学习了自定义reaml的方式去实现将用户输入的数据,去和数据库中的数据做比较(模拟的数据)。但是不管是把用户的数据存在shiro.ini中,还是数据库中。都是采用着明文存储。很容易的就容易被窃取。那么我们采用将密码加密的方式再存储到数据库中,而进行校验的时候,我们定义一套密文加密解密的流程即可将用户输入的密码转换成特定格式的密文再和数据库中存储的密文校验来判断账号密码是否正确。二、加密算法的介绍散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的

2020-12-25 15:02:47 230

原创 Shiro学习(二)--自定义reaml

一、前言上一篇中,我们直接去shiro.ini中去查找对应的账号和密码,直接将这些固定写死的数据加载到SecurityManager中。这种方式不灵活,正常的逻辑应该允许我们去数据库中查找某个用户是否存在。再获取用户信息,做密码校验。我们可以通过自定义的Realm方式,完成这种功能。二、 自定义Realm的步骤2.1. 写一个类MyRealm继承 AuthorizingReaml并重写以下三个方法getName() 用于获取自定义reaml的名字doGetAuthorizationInfo(P

2020-12-25 14:00:20 280 1

原创 Shiro学习(一)--shiro基本入门

一、基本概念及架构1. 什么是shiro?shiro是一个基于java的开源的安全管理框架,可以完成认证,授权,会话管理,加密,缓存等功能。2.为什么学习shiro?在java世界中,安全管理框架有spring security 和shiro ,spring security要依赖于spring并且比较复杂,学习曲线比较高。shiro比较简单。3. Shiro能做什么呢?验证用户身份 用户访问权限控制,比如:判断用户是否分配了一定的安全角色。判断用户是否被授予完成某个操作的权限在非 we

2020-12-25 13:50:39 166

原创 Hadoop-MapReduce-Yarn集群搭建

搭建的部署节点图如下:hdfs和yarn是两个不同概念,两者搭建不会冲突。注意一点是DataNode和NodeManager必须要部署在同一台机器,它们的比例是1比1关系的。否则DataNode只能存储,不能做相应的计算处理。通过官网搭建:hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html主要涉及到两个配置文件: mapred-site.xml 、yarn-site.xml一 、Map

2020-12-19 15:57:48 590 1

原创 Hadoop-mapreduce入门

一、简介1、为什么叫MapReduce?MapReduce由Map和Reduce组合而成1、Map的含义假设有一张表维护了用户名(NAME)、职业(MAJOR)、性别(GENDER)、住址(ADDRESS)有三个需求:需求一:从这个表里的数据集中,过滤出性别为0的数据,也就是获取GENDER = 1 的数据这个需求的常规操作就是,搜索这个表里的记录,抽取出记录对应的GENDER字段。判断这条记录的gender字段值是否为0,如果为0则丢弃这条记录,并继续向下遍历剩余记录,重复这样判断筛选的

2020-12-13 16:04:58 241

原创 Hadoop-HDFS权限、企业级搭建、idea+maven开发HDFS

一 、hdfs的权限hdfs是一个文件系统,类似于unix和linux。1、有用户的概念hdfs没有提供相关命令和接口去创建用户。它所采取的办法是,信任客户端,默认情况下使用的操作系统提供的用户。当然hdfs支持扩展继承第三方用户认证系统,例如kerberos 、LDAP等。在hdfs中有超级用户的概念,hdfs系统中的超级用户是namenode进程的启动用户linux的超级用户是root2、hdfs还有权限的概念hdfs的权限是自己控制的,来自于hdfs的超级用户3、实操切换我们用

2020-12-12 17:29:04 1681

原创 Hadoop-HDFS集群搭建(HA模式搭建)

一、HA集群搭建节点分布这里准备4台物理机,对图上的意思进行讲解:node1机器中需要搭建NN角色、JN角色、ZKFC角色。node2机器中需要搭建NN角色、JN角色、DN角色、ZKFC角色、ZK角色。node3机器中需要搭建JN角色、DN角色、ZK角色。node4机器中需要搭建DN角色、ZK角色。搭建过程可以参考文档:https://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabi

2020-12-12 14:39:40 1542

原创 Hadoop-HDFS集群搭建(HA模式概念)

一、搭建完全分布式hdfs集群上一张我们学习了HDFS伪分布式集群的搭建。实际上完全分布式集群的搭建也大同小异。我们前一章在同一个node1节点上分别部署配置了namenode、datanode、snn 三个角色,同理,这里讲下完全分布式环境的搭建。完全分布式环境搭建,将hdfs中的多个角色分布在不同的物理机上,而不是同一台我们多准备出2台机器,如果在多台机器的情况下,namenode所在的机器就不要和snn以及datanode所在的机器同一台。所以现在总共的机器有3台,分别命名为node1、

2020-12-12 11:14:04 657

原创 Hadoop--HDFS集群搭建(伪分布式模式)

在开始前,给出Hadoop的官方文档,一切搭建过程以文档为主: href="https://hadoop.apache.org/docs/r2.6.5/一、基础设施基础设置这一步主要是设计到操作系统、环境、网络、必须的软件的前期准备,只有准备好了才可以着手搭建。设置IP和主机名关闭防火墙和selinux设置host映射时间同步安装jdk设置ssh免密钥搭建上面提到的基础设置设置IP及主机名可以通过ifconfig查看当前主机的ip。 通过修改/etc/sysconfig/net

2020-12-12 10:08:48 552

原创 Netty--epoll分析

对于epoll分析,我们借助下面的代码:package com.haizhang.netty.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;import java.util.Set;/** * 此类用于实现IO多路复用,使用单线程模式 * 引入

2020-12-03 22:21:39 686

原创 Netty--从内核角度出发讲解BIO

一、Socket的连接过程、TCP的一些参数前置知识用到的命令netstat -natp 查看网络连接和占用的端口tcpdump -nn -i eth0 port 9090开监听抓取数据包lsof -p <进程号> 查看某个进程已经打开的文件状态Socket服务端代码package com.haizhang.netty.bio;import java.io.BufferedReader;import java.io.IOException;import java.

2020-10-31 20:31:26 113

空空如也

空空如也

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

TA关注的人

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