April 2017

Uncategorized

kubernetes 1.4 集群搭建

距离 kubernetes 1.4 发布已经有段时间,1.4 版本新增了很多新特性,其中一个比较实用的功能就是增加了集群的快速创建,基本只需要 2 条命令就能搭建成功;但由于众所周知的原因(fuck GFW),导致 kuadm 命令无法工作,以下记录了一下解决方案 一、环境准备 基本环境为 3 台虚拟机,虚拟机信息如下 IP 地址 节点 192.168.1.107 master 192.168.1.126 […]

Uncategorized

kubeadm 搭建 kubernetes 集群

距离上一篇 kubernetes 1.4 集群搭建 发布间隔不算太久,自己也不断地在生产和测试环境鼓捣,有不少 “逗比” 的经历,准备写一下具体的 kubeadm 搭建集群的一些坑和踩坑的经验,如果没有使用过 kubeadm 的同学,最好先看下上面的文章,然后鼓捣一遍,也许并不会成功,但大部分坑再来看此文会有收获 一、环境准备 首先环境还是三台虚拟机,虚拟机地址如下 IP 地址 节点 192.168.1.167 master 192.168.1.189 node1

Uncategorized

MySQL中varchar最大长度是多少?

一. varchar存储规则: 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同。   二. varchar和char 的区别: char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是: char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).   在MySQL中用来判断是否需要进行对据列类型转换的规则 1、在一个数据表里,如果每一个数据列的长度都是固定的,那么每一个数据行的长度也将是固定的. 2、只要数据表里有一个数据列的长度的可变的,那么各数据行的长度都是可变的. 3、如果某个数据表里的数据行的长度是可变的,那么,为了节约存储空间,MySQL会把这个数据表里的固定长度类型的数据列转换为相应的可变长度类型.例外:长度小于4个字符的char数据列不会被转换为varchar类型        

Uncategorized

VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么?

有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少? 先明白计算的一些规则限制 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ① 存储限制 需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于255则要2个字节 ② 编码限制 gbk:每个字符最多占用2个字节 utf8:每个字符最多占用3个字节 ③ 长度限制 MySQL定义行的长度不能超过65535,这个限制了列的数目,比如char(255) utf8 那么列的数目最多有65535/(255*3)=85,列的数目可以从这里得到依据 行长度计算公式如下: row length =

Uncategorized

CentOS下安装JDK1.7

1、源码包准备: 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,我下载jdk-7u45-linux-x64.tar.gz,下载到主目录 下载jdk1.7版本 # wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz?         AuthParam=1467782282_e219161b547d26ea40c72a9a588c82b7 2、解压源码包 通过终端在/usr/local目录下新建java文件夹,命令行: sudo mkdir /usr/local/java 然后将下载到压缩包拷贝到java文件夹中,命令行: 进入jdk源码包所在目录 cp jdk-7u45-linux-x64.tar.gz /usr/local/java 然后进入java目录,命令行: cd /usr/local/java 解压压缩包,命令行: sudo tar xvf jdk-7u45-linux-x64.tar.gz 然后可以把压缩包删除,命令行:

Uncategorized

阿里云建立swap的两种方法

我们都知道swap是用来做虚拟内存的。虽然swap无法代替物理内存,但不可缺少,除非物理内存足够多,多到永远用不到swap…阿里云Linux主机默认是没有划分swap分区的,这就需要我们手动添加。建立swap有两种方法——1.建立分区;2.创建交换文件。这里重点介绍如何采用数据盘建立swap分区的方法,理由?运行速度:物理内存 > swap分区 > swap文件!当然,如果你的数据盘已经装了很多内容,不方便重新规划的话,也只好使用swap文件了。 一、使用数据盘建立swap分区 由于对远程linux进行无损分区比较难操作,所以建立swap分区最大的问题就是必须进行格式化,所以最好是在你使用之前进行分区。当然,如果你的数据盘内容不多,而系统盘也还有足够的空间存放的话,也是可以的,具体就是mv的操作了。 首先检查下swap情况,如图,系统默认是不划分swap的。 按照官方加载数据盘的操作,执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区,当然你的数据盘也有可能不是/dev/xvdb,具体请用fdisk -l核对后再执行相应的命令。然后依照提示进行操作,如图所示: 这里的数据盘只有10G,而建立swap标准一般为物理内存的两倍,故此在分区1的结束簇上填写了147(1468的1/10,目标1G的swap),至于剩下的空间,则完全分配为数据盘了。分区信息建立好之后,必须写进分区表,最后的命令就是保存和退出,请注意操作。 fdisk -l,检查下分区建立情况。嗯~不错! 分好区之后还不能用,必须建立文件系统,正如win下没有格式化的盘符会被系统识别为“未知分区”。首先建立swap分区:mkswap /dev/xvdb1;然后建立数据盘:mkfs.ext3 /dev/xvdb2。这里的xvdb1和xvdb2就是之前所建立的分区,请选择对应的分区进行操作。 分区建立到此完成。检查下内存使用情况:

Uncategorized

如何在Linux VPS和云主机增加swap虚拟内存

想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。添加swap交换空间的步骤如下: 第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件 第二步:添加交换文件并设置其大小为2G,使用如下命令 [root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000 过段时间就返回如下结果: 2048000+0 records in 2048000+0 records out 2097152000 bytes (2.1

Scroll to Top