`
文章列表
具体过程总结: 1.Client 发送用户名 username 到 kerberos 以向 AS (Authentication Service)请求 TGT 票据信息。 2.kerberos收到请求后,生成随机字符串 Session Key,再使用AS服务的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 TGT,并用用户密码对Session Key加密后和TGT 一起返回给客户端。 3.客户端收到请求后,使用自身的密码解密A得到 Session Key,然后使用 Session Key 对 客户端地址信息、用户名、时间信息 加密得到认证对象,加上 ...
1.系统信息 角色系统CPUCoremaster18.04.1-Ubuntu48Gslave18.04.1-Ubuntu44G 2.安装前准备(主节点和从节点都需要执行) 2.1 关闭swap sudo swapoff -a 2.2 配置系统安装源和kubernetes安装源 在/etc/apt/sources.list.d/ 追加以下两个文件 deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main deb http://mirrors.aliyun.com/ubuntu/ bionic ...
[TOC] 目的 解决spring boot应用以docker容器方式启动后,进程ID是1而导致的jstack和jmap等命令不可用的现象  默认将spring boot工程打包成镜像的方式 1. 当我们把spring boot打包成一个可执行jar 2. 编写Dockerfile 将jarcopy到容器中,在cmd 中执行java -jar ***.jar 启动,Dockerfile文件如下 #基础镜像基于openjdk,利用alpine FROM openjdk:8u212-jdk-alpine #所属团队 MAINTAINER chengf ENV JAVA_OPT ...
原文地址 Bill Bryant,首次写与1988年2月 Theodore Ts'o与1997年2月整理并转换成HTML,并且追加了 afterword 章节来描述V5版本的一些变化 Abstract     本文虚构了一个关于公网认证系统--Charon构建过程的对话,随着对话的进行,Athena和Euripides探讨了公共网络环境里普遍存在安全问题,并在Charon系统设计之初就考虑好了这些问题的解决方式。所以直到对话完成,Athena和Euripides才算真正的把系统设计好。     当系统设计好后,Athena把系统的名字从Charon改成了Kerberos。非常巧合的是,在MIT的 ...
1.实现原理 1.1 得益于HttpSession和HttpServletRequest都是接口,这意味着我们可以提供自己的实现类来重写其中的方法,Spring session正是利用这个特性实现的。 首先是实现了HttpServletRequest的SessionRepositoryRequestWrapper类,伪代码如下 public class SessionRepositoryRequestWrapper extends HttpServletRequestWrapper { public SessionRepositoryRequestWrapper(HttpServle ...
1.环境信息 大数据集群利用CHD5.7.0搭建,包括master节点、worker节点、name节点、secondary name节点等总共10个节点,集群通过Kerberos进行认证权限管理。 2.导入步骤 2.1 认证,执行如下命令进行kerberos认证,如果还没有kerberos用户,则需要利用kerberos 管理员创建用户 kinit -kt /keytab/testuser.keytab testuser 2.1 将数据放到hdfs上 hdfs fs -put 服务器上文件路径(如:/home/me/data) hdfs上文件路径(如 /user/me/data) ...
增加10秒 #now=`date`; date -s "$now 10 second" 减少10秒 #now=`date`; date -s "$now -10 second" 增加10分钟 #now=`date`; date -s "$now 10 minute" 减少10分钟 #now=`date`; date -s "$now -10 minute" 增加10小时 #now=`date`; date -s "$now 10 hour" 减少10小时 #now=`date`; date - ...
1.首先我们通过下面的一个示例代码产生一个OutOfMemoryError时对应的dump文件 /** * */ package simple.test; import java.util.ArrayList; import java.util.List; /** * @author: 作者: chengaofeng * @date: 创建时间:2018-09-11 16:50:59 * @Description: TODO ...
1.获取出现OutOfMemoryError时对应的heap dump 通过在启动命令中追加如下jvm参数 -XX:+HeapDumpOnOutOfMemoryError 此时当应用程序出现OutOfMemoryError会在当前的工作目录下生成dump文件。可以追加如下jvm参数修改dump文件的路径 -XX:HeapDumpPath=/Users/chengaofeng/Downloads/dump 例如在eclipse中,通过如下方式追加 通过命令行启动程序时,在命令行中追加 java -server -Xmx40m -XX:+HeapDumpOnOutOfMemoryErro ...
1.Heap Dump(java 堆dump文件)   Heap Dump代表的是java处理器(jvm)在特定时间点对应的内存快照(如出现OutOfMemoryError的时候)。根据生成dump文件时指定的格式以及采用的jvm类型,dump文件中可能会包含着不同的信息,但通常来说,里 ...
1.简介   Eclipse 内存分析器(MAT)是由IBM开发的一个功能丰富、高效的java堆分析器,可以帮助java开发者发现内存泄漏和减少内存消耗。   用MAT可以分析包含成千上万个对象生产环境对应的java heap dump,能够快速计算出常驻对象的 ...
一、Gitlab 备份及还原 在原机器上执行 docker exec –it {containerId} git-rake gitlab:backup:create 执行后会在 /var/opt/gitlab/backups目录下创建一个压缩包 1535564046_gitlab_backup.tar 2.还原 在目标机器上先启动一个空的gitlab容器 执行 docker exec –it {containerId} git-rake gitlab:backup:restore BACKUP=1535564046(上一步备份对应的数字部分) 执行过程中会有两次确认,1次是要清除原表重建,1 ...
一、MongoDB 是一个基于分布式文件存储的NoSQL数据库,在应用开发中使用非常普遍,因为mongo是由 C++ 语言编写,真实的mongodb只能以server模式独立运行,这样就使得基于mongo应用的junit无法真正的独立运行,除非我们将所有mongo相关的操作都mock,本文将介绍一种为了针对mongo应用的junit而独立开发的内存库fakemongo,简称fongo,官网地址 fongo 。   在spring boot的官方文档中,Embedded Mongo采用的是de.flapdoodle.embed:de.flapdoodle.embed.mongo,地址embed.m ...
  在应用开发过程中,利用内存数据库暂时代替实体数据库是很方便的一件事,既可以保证Juint的独立性,也能够让我们在开发前期方便的展示、模拟应用。   本篇文章我们通过一个简单的应用程序一起来了解下H2在spring boot应用、以及在junit中如何使用(其他类似的数据库还有HSQL、Derby) 1.H2的特性 速度快、完全开源、支持JDBC API 同时提供内嵌和server两种模式 提供基于浏览器的控制台 非常轻量,jar只有1.5M左右 2.和其他数据库的对比 H2 Derby HSQLDB MySQL PostgreSQLPure Java Yes Yes Yes ...
1.前言 curator由Netflix的工程师开发,主要目的为了基于zookeeper的应用变得简单可靠,在2013年成为apache的顶级项目。curator基于zookeeper,但提供了更高级别的 API抽象以及工具集,并对zookeeper提供的常用功能进行了封装和扩充,例如leader选举、分布式锁、服务发现、缓存等功能,从而使开发者在实现这些功能时不用在实现 哪些无聊的程式化代码段,也减少出错的可能性。 2.本文主要讲解如何利用curator实现leader选举,并对curator提供的两种实现形式进行对比 2.1 通过LeaderSelector进行leader选举 建议通过L ...
Global site tag (gtag.js) - Google Analytics