- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 Shell基础
一、Shell概述 Shell是一个命令行解释器,为用户提供向Linux内核发送请求以便运行程序的界面系统级程序,用户可以通过Shell来启动、挂起、停止或者编写程序。简单来说就是把用户敲入的ABCD命令翻译成为内核可识别的0101机器语言,然后内核再调用硬件完成操作 Shell还是一个功能强大的编程语言,是解释执行的脚本语言(不需要预先编译),在Shell中可以直接调用Linux系统命
2017-11-21 12:48:59 342
原创 Docker实战-编写Dockerfile
一、编译镜像1. 编译镜像 Dockerfile类似于Makfile,用户使用docker build就可以编译镜像,使用该命令可以设置编译镜像时使用的CPU数量、内存大小、文件路径等 语法:docker build [OPTIONS] PATH| URL| - 常见选项: -t 设置镜像的名称和TAG,格式为name:tag -
2017-10-23 14:20:23 43623 9
原创 Idea自动更新JSP页面
今天苦逼的重做项目的时候,更新了JSP页面后发现Debug模式下没有重新加载资源Update classes and resources这个选项了,怎么回事,一开始明明有的 这简直不能忍啊,每次都要重启动,等等等… …时间很宝贵好吗 然后我就想了下我改了什么?好像之前项目在发布的时候,我将项目导出成war包后,就没打开过项目了,果断改回去试试 首先在右上角这个位置可以看到蓝色方块这
2017-10-22 20:08:55 19712 2
原创 从Paxos到ZooKeeper-ZooKeeper安装及简单使用
一、安装与运行 ZooKeeper使用Java语言编写,其运行环境需要Java环境的支持,在下载安装ZooKeeper之前需要保证JDK已经安装 ZooKeeper有两种运行模式,集群与单机模式1. 集群模式 在http://mirror.bit.edu.cn/apache/zookeeper/中下载ZooKeeper安装包然后进行解压缩(截图之前不小心按了解压,刷上去了就又重新下
2017-10-20 19:08:16 799
原创 Docker实战-Docker Daemon
一、修改Docker Daemon Docker Daemon是Docker的守护进程,Docker Client通过命令行与Docker Damon通信,完成Docker相关操作 Docker Daemon有不同的修改方式:命令行修改,修改启动项,修改配置文件。其中仅仅只是研究或一次使用Docker Daemon的不同选项时,可以通过命令行的方式,此时Docker Daemon运行在前
2017-10-20 13:51:51 32899 1
原创 从Paxos到ZooKeeper-初识ZooKeeper
一、初识ZooKeeper1.ZooKeeper介绍 ZooKeeper是一个开源的分布式协调服务,由雅虎公司创建,其设计目标是将复杂易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,以一系列简单易用的接口提供的用户使用 雅虎研究院的研究人员发现雅虎内部很多大型系统都需要依赖类似的系统进行分布式协调,但这些系统往往存在单点问题,所以他们就希望开发一个通用的无单点问题的分布式协调
2017-10-19 14:35:06 665
原创 Docker实战-镜像和容器的存储结构
一、镜像、容器和存储驱动的关系 前面也已经讲过说,镜像是程序和文件的集合,容器是镜像的运行实例。 Docker为了节约存储空间共享数据会对镜像和容器进行分层,不同镜像可以共享相同数据,并且在镜像上为容器分配一个RW层来加快容器的启动顺序1. 镜像层和容器层 每个镜像都由多个镜像层组成,从下往上以栈的方式组合在一起形成容器的根文件系统,Docker的存储驱动用于管理这些镜像层,对外提
2017-10-18 16:02:46 4466
原创 从Paxos到ZooKeeper-一致性协议之Paxos算法
一、简介 在上一节的ZooKeeper-一致性协议之2PC、3PC中对二阶段提交和三阶段提交协议进行了解析,而这节主要是Paxos算法的讲解 Paxos算法是Leslie Lamport在1990年提出的一种基于消息传递、具有高度容错性的一致性算法,是目前解决分布式一致性问题的有效算法。 Lamport在其论文中提出了这样一个场景来描述Paxos一致性算法需要解决的问题:在古希腊有
2017-10-17 19:15:35 1057 1
原创 从Paxos到ZooKeeper-一致性协议之2PC、3PC
一、2PC 在上一节ZooKeeper-分布式架构中有讲到,分布式系统架构设计中往往是在系统可用性和数据一致性之间进行反复权衡,于是产生了系列一致性协议 在分布式系统中,每个节点都能明确知道自身事务操作结果,但无法直接获取到其他分布式节点的操作结果。所以当一个事务要横跨多个节点时,为了保证事务处理的ACID特性而引入了协调者组件来统一调度所有分布式节点(参与者)的执行逻辑,协调者调度参与
2017-10-17 16:11:00 701
原创 Docker容器实战-容器的网络及数据
一、容器的网络1. 容器自带网络 当Docker安装成功后,就会创建三种网络,通过docker network ls可以查看 这三种网络就是系统自带的,在创建容器时可以通过--net指定,详细信息在前面Docker容器实战-深入理解有讲过2. 网络详情 功能描述:查看Docker的网络详细信息 语法:docker network inspect bridge 网络类型
2017-10-17 10:51:27 356
原创 从Paxos到ZooKeeper-分布式架构
** ZooKeeper相关博文,是我对《从Paxos到ZooKeeper 分布式一致性原理与实践》的学习笔记,特此声明 一、从集中式到分布式1. 集中式的特点 集中式系统:由一台或多台主计算机组成中心节点,数据和系统的所有业务单元都集中存储、部署在中心节点上,所有功能也都由其集中处理,而终端和客户端仅仅负责数据的录入和输出。 特点: 部署结构简单
2017-10-16 19:25:45 334
原创 Docker容器实战-深入理解
一、Docker架构 Docker使用的是C/S架构,Docker Client与Docker Daemon进行交互,主要工作如拉取镜像、编译镜像、运行容器、发布容器等由Docker Daemon完成 Docker Client和Docker Daemon之间通过在Socket上使用RESTful API进行交互,所以Docker Client和Docker Daemon可以运行在同一个
2017-10-15 20:25:09 1066
原创 Linux启动管理
一、启动流程1.运行级别(一) 运行级别 运行级别在之前的Linux常用命令(四)-压缩解压缩,网络及关机重启中有讲过,再次把图片提过来(二)相关命令 功能描述:查看运行级别 语法:runlevel 功能描述:改变运行级别 语法:init 运行级别 功能描述:修改默认运行级别 语法:vim /etc/inittab 添加 id:3:initdefault:2. 启动
2017-10-15 12:30:10 232
原创 Docker容器实战-简单使用
一、hello-world 在之间CentOS安装的时候,我们运行了hello-world第一个容器,hello-world是Docker官方推荐的第一个学习镜像,它的功能就是简单的输出一段日志在终端上。 Docker是基于Linux内核的Namespace、CGroups和UnionFS三项基本功能实现的,通过docker run hello-world就可以运行Docker容器。
2017-10-14 20:20:18 1242
原创 Docker容器实战-简介、安装
** Docker容器实战相关博文,是我对《Docker容器实战 原理、架构与应用》的学习笔记,特此声明 一、Docker基础知识 云计算将基础设施作为动态、可自适应的资源提供给企业,解决了企业应用灵活性和响应性问题,改变了对”机器”的管理模式,但并未从本质上改变管理的对象。 但是借助容器,用户可以真正摆脱对服务器和操作系统的依赖,从而专注于应用及其组件本身。(一)虚拟化技术
2017-10-13 16:47:57 480
原创 MySQL插入中文乱码
今天在做一个小项目的时候遇到Incorrect string value: '\xC7\xA8\x8B...' for column 'sex' at row 1一看!简单啊,首先去看看数据库的字符集是否正确alter database shoes default character set utf8; 再去看数据表的字符集是否正确alert table user default character
2017-10-09 17:16:48 267
原创 Linux日志管理以及备份与恢复
一、日志1.日志简介 CentOS 6.x中日志服务已经变成了rsyslogd(原syslogd),功能更加全面,但无论是服务的使用还是日志文件格式都与syslogd服务相兼容 除了系统默认日志外,RPM包安装的系统服务也会默认把日志记录放在/var/log/中,但这些并不由rsyslogd服务管理,而是各个服务自身的日志管理文档来记录2.rsyslogd服务(
2017-10-09 10:27:17 7547
原创 Linux系统管理
一、进程管理 进程:正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间并占用一定系统资源 进程管理能够判断服务器健康状态;查看系统中所有进程;杀死进程等操作1. 进程查看 功能描述:查看系统中所有进程 语法:ps [aux/-le] a 查看所有前台进程 x 查看所有后台进程
2017-10-06 19:30:08 653
原创 Linux服务管理
一、服务简介与分类1. 服务分类 其中独立的服务本身就存在在内存中,当有用户访问服务就直接响应用户,这样响应速度更快,但是会耗费系统内存资源;而xinetd服务本身是独立的,存在内存中,但xinetd服务本身没有功能,它在后面都一系列被其管理的服务,客户是不能直接找到被它管理的服务的,需要找到xinetd服务然后通过xinetd访问需要的服务,不耗费过多内存资源,但响应速度更慢2. 启动与自启
2017-09-30 09:48:26 573
原创 Linux文件系统
一、分区与文件系统1. 分区类型 之前在已经有描述过Linux概述中已经有描述过,这里只是简单的再说一下 主分区:最多四个 扩展分区:只能有一个(算在主分区中),不能存储数据和格式化,必须再划分成逻辑分区 逻辑分区:在扩展分区中划分2. 文件系统 ext2:ext的升级版本,在Linux7.2之前默认的文件系统,最大支持16TB分区和最大2TB的文件
2017-09-29 14:27:25 414
原创 Linux权限管理
一、ACL权限1. ACL权限简介与开启 目前Linux中只有拥有者,所属组,其他人,给所有者和所属组分配rwx的权限,其他人没有权限,这时出现了一种情况需要给一个用户提供读和执行和权限,那么应该怎么做呢? ACL 是 Access Control List 的缩写,称为访问控制列表,包含了对一个对象或一条记录可进行何种操作的权限定义。 功能描述:dumpe2fs命令查询指定分区详细
2017-09-28 15:24:34 434
原创 Linux用户与用户组管理
一、用户配置文件 在Linux中主要是通过用户配置文件来查看、修改用户信息。1. 用户信息文件/etc/passwd root:x:0:0:root:/root:/bin/bash 第一字段:用户名称 第二字段:密码标记 表明用户有密码,但因为所有用户都有该文件的读权限,所以密码并不会在这,而是在/etc/shadow中 第三字段:UID(
2017-09-28 09:45:42 363
原创 Linux软件包管理
一、软件包管理简介 源码包: 开源 自由选择所需功能 编译安装更适合自己系统,执行效率更高 卸载方便干净 安装步骤较多 编译过程时间长 二进制包(RPM包、系统默认包): 包管理系统简单,
2017-09-27 09:03:05 260
原创 Linux文本编辑器Vim
Vim是功能强大的全屏幕文本编辑器,作用是建立、编辑、显示文本文件,没有菜单只有命令。一、常用操作1. 插入命令 进入插入模式后还要使用插入命令需要按ESC回到命令模式。 2. 定位命令 3. 删除命令 4. 复制剪切命令 yy和dd和p/P结合使用实现粘贴的作用 5. 替换和取消命令 6. 搜索和搜索替换命令 7. 保存与退出命令 二、使用
2017-09-26 19:43:48 322
原创 ActiveMQ(二)-Spring集成JMS
一、Spring JMS概论Spring提供了ConnectionFactory、JmsTemplate、MessageListener。1. ConnectionFactory Spring提供的连接池,用于管理连接的连接工厂。因为JmsTemplate每次发消息都会重新创建连接,会话和Productor。 实现类:SingleConnectionFactory、CachingC
2017-09-26 10:18:55 301
原创 Linux常用命令(四)-压缩解压缩,网络及关机重启
一、压缩解压缩命令 命令名称:gzip(GNU zip) 命令所在路径:/bin/gzip 执行权限:所有用户 功能描述:压缩文件 语法:gzip [文件] 注意:gzip只能压缩文件,不保留源文件 命令名称:guzip(GNU unzip) 命令所在路径:/bin/gunzip 执行权限:所有用户 功能描述:解压缩.gz的压缩文件 语法:
2017-09-25 15:12:43 353
原创 Linux常用命令(三)-文件搜索及帮助命令
一、文件搜索 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 功能描述:文件搜索 语法:find [搜索范围] [匹配条件] -name 根据文件名搜索(精确搜索,使用通配符*?进行模糊搜索) -iname 同-name不区分大小写 -inum 根据inode号搜索(可
2017-09-25 11:25:43 230
原创 Linux常用命令(二)-权限管理
一、权限概述与管理命令chmod 命令名称:chmod(change the permissions mode of a file) 命令所在路径:/bin/chmod 执行权限:文件所有者,root 功能描述:改变文件或目录权限 语法:chmod [{ugoa}{+-=}{rwx}][文件或目录] chmod [-R][mode=421][文件
2017-09-24 21:30:42 262
原创 Linux常用命令(一)-文件处理
一、目录处理命令ls命令格式:命令 [-选项] [参数] 命令名称:ls(list) 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 语法:ls [-ald] [文件或目录] -a(all) 显示所有文件,包括隐藏文件 -l(long) 详细信息显示 -d(di
2017-09-24 11:02:41 214
原创 Linux概述
一、系统分区1、磁盘分区 使用分区编辑器在磁盘上划分几个逻辑部分,不同类的目录与文件可以存储进不同的分区。 分区类型: 主分区:最多只能有4个主分区 扩展分区:最多只有一个,主分区加扩展分区最多只能有4个,扩展分区本身不能写入数据也不能格式化,只能包含逻辑分区 逻辑分区:可以正确的写入数据和格式化(逻辑分区号永远都是从5开始)2. 格式化 分区之后就可以
2017-09-24 09:18:37 690
原创 Spring事务管理
一、事务 事务是指逻辑上的一组操作,这组操作要么全部成功要么全部失败。 基本的特性: A(原子性):事务是不可分隔的工作单位 C(一致性):事务前后数据完整性保持一致 I (隔离性):多个并发事务之间数据相互隔离 D(持久性):事务提交后对数据库中数据的改变是永久性的二、Spring中的事务管理 Spring支持两种方式的事务管理:编程式,声明式,在后面
2017-09-21 15:05:44 250
原创 ActiveMQ(一)-消息中间件概述
一、概述1. 概念 什么是中间件? 非底层操作系统软件/业务应用软件,不直接给最终用户使用,不能直接为客户提供价值的软件。 什么是消息中间件? 关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统。 什么是JMS? JMS(Java Message Service)是一个Java平台中面向消息中间件的API,用于在两个
2017-09-16 19:30:33 416
原创 项目管理-Maven
一、概述 Maven基于项目对象模型(POM),可以通过小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。简单来说,Maven可以帮助我们更加有效的管理项目,提供了仓库的概念帮助管理第三方的jar包,最大可能的避免由于环境配置的不同所产生的问题。 Maven的下载地址:maven.apache.org,下载后解压。 bin目录包含mvn运行脚本,boot目录包
2017-09-14 13:11:20 262
原创 服务端向客户端推送消息-Dwr实现
一、服务端推送技术网页邮箱新邮件提醒、网页聊天、微信签到墙这些应用场景应该都有遇到过,那么这种功能又是怎么实现的呢?最开始可能会想到Ajax,它能够异步无刷新从服务器端加载最新的数据展示,但它无法满足传统桌面系统的服务器端需要向客户端主动发送消息的需求,并且加载的时间间隔是个老大难的问题,于是现在我们需要理解另一种服务器推送技术。在Web的访问机制中,大多都是push数据的,它只允许B
2017-07-01 11:05:29 976
原创 Redis学习(五)Redis的持久化
一、概述Redis的高性能是因为它的所有数据都存储在内存中,为了使Redis在重启之后仍然能保证数据不丢失,那么就需要将数据从内存中同步到硬盘上,也就是持久化。Redis的持久化有两种方式:RDB方式、AOF方式,我们可以单独使用一种,也可以两种结合使用。RDB方式是默认支持的,不需要配置,它指的是在指定的时间间隔内将内存中的数据集快照写入到磁盘;AOF方式将以日志的方式记录服务器所处
2017-06-28 15:46:28 221
原创 Redis学习(四)Redis的特性和Keys的通用操作
一、Keys通用操作key *查看redis中所有的key,跟上xx?/xx*获取以xx开头的key;del删除key;exists查看key是否存在,如果存在返回1否则返回0;rename oldname newname更改key的名称;expire为key设置过期时间,以秒为单位;ttl查看key剩余时间;type查看key对应的类型。
2017-06-28 11:37:50 324
原创 Redis学习(三)Redis的数据结构
在Redis中有五种数据类型:字符串、字符串列表、有序字符串集合、哈希、字符串集合,其中比较常用的是字符串和哈希类型。关于Redis我们知道它是关于key-value键值对的形式,那么在key定义需要注意的点为:key不要过长,最好不超过1024个字节;统一的命名规范。其实并不是强制的,只是为了程序的可读性。一、字符串字符串类型是Redis中最为基础的存储类型,在Redis中是以二
2017-06-27 09:48:48 223
原创 Redis学习(二)Jedis入门
前面对Redis进行了基本安装和使用,前面使用命令的方式来存入和获取数据,但是这种方式在实际开发中不会使用,而实际开发中是使用程序来向Redis中保存获取数据。一、Jedis介绍Jedis是Redis官方首选的Java客户端开发包,Jedis的代码已经托管到Github上,地址为:https://github.com/xetorthio/jedis在使用Jedis前,先
2017-06-26 16:59:00 181
原创 Redis学习(一)概述
一、NoSQL什么是NoSQL,NoSQL不应该叫做No SQL,它指的是Not Only SQL,是全新的数据库理念,泛指非关系型数据库。1、为什么需要NoSQL高并发读写,在Web2.0网站需要根据用户信息实时生成动态页面提供动态信息,所以数据库的并发负载就非常高。而关系型数据库在应付上万次的读写时就显得力不从心了。海量数据的高效率存储和访问高可扩展性和高可用性2、No
2017-06-26 15:52:52 514
mybatis-generator-config_1_0.dtd
2017-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人