一、Tomcat安装
1、安装jdk
- 解压到/opt
[root@localhost ~]# tar zxf jdk-8u161-linux-x64.tar.gz -C /opt
- 在/usr下创建安装目录
[root@localhost opt]# mkdir /usr/local/java
- 移动到安装目录,并改名为
[root@localhost opt]# mv /opt/jdk1.8.0_161/ /usr/local/java/
[root@localhost opt]# cd /usr/local/java/
[root@localhost java]# ls
jdk1.8.0_161
[root@localhost java]# mv jdk1.8.0_161/ jdk8
- 配置环境变量
export JAVA_HOME=安装目录
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
[root@localhost jdk8]# vim /etc/profile
- 重新加载文件
[root@localhost jdk8]# source /etc/profile
2、安装tomcat
- 解压到/opt
[root@localhost ~]# tar zxf apache-tomcat-8.0.36.tar.gz -C /opt
- 创建安装目录
[root@localhost opt]# mkdir /usr/local/tomcat
- 移动并改名
[root@localhost opt]# mkdir /usr/local/tomcat
[root@localhost opt]# mv apache-tomcat-8.0.36/ /usr/local/tomcat/
[root@localhost opt]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
apache-tomcat-8.0.36
[root@localhost tomcat]# mv apache-tomcat-8.0.36/ tomcat8036
- 启动tomcat
[root@localhost bin]# ./startup.sh
3、Tomcat安装排错:
如果出现 -without: 就在执行./configure时候把-without这句话加在后边
1、查看进程是否出错ps -ef |grep
2、查看端口是否被占用,用netstat -antp |grep 8080
3、探测端口是否连通,linux: telnet ip 8080
windows进入DOS环境:telnet ip 8080
二、RAID
0、RAID全称
Redundant Arrays of Independent Drivers(面试题)
冗余 数组 独立的 驱动
1、用RAID好处
(1)解决了数据的读写能力
(2)解决了磁盘的冗余
2、RAID分为哪几类?
(1)、外接式磁盘阵列柜
(计算型服务器通过网线访问RAID柜,RAID柜通过网线访问存储型服务器)
常见的RAID卡(华为SR130不带缓存 SR430C----带内存的是因为要把cpu传过来的光信号或者电信号转换成相应的数据存储起来)
(戴尔H330不做缓存 H730P带缓存)
RAID卡带电池就是为了防止突然断电,把RAID缓存中的已经缓存的数据写入磁盘中
(2)、内接式磁盘阵列卡
(3)、软件仿真实现
3、存储方式:条带、镜像
RAID类型:
1、RAID 0:
RAID 0——条带存储方式(不含校验与冗余的条带存储)
至少需要两块盘,只按条带存储数据
特点:提高数据的存取速率,但是没有备份,不能容错,可用容量是100%。
对应场景:使用此等级必须要自行担负数据损毁的风险。
2、RAID 1:
RAID 1——镜像存储方式(不含校验的镜像存储)
至少需要两块盘,只按镜像存储数据
特点:不能解决数据存取速度问题,可容错,可用容量是50%
应用场景:对数据要求很高的场景下。
3、RAID 5:
RAID 5 (重点) (数据块级别的分布式校验条带存储)
至少需要三块盘来存储(允许一个盘坏)
特点:存储的有存储数据和校验数据,可以提高存取速率,可以容错(允许一个盘坏),可用容量是(n-1/n)
应用场景:集合了RAID 0和RAID 1的优缺点
4、RAID 6:
RAID 6 (数据块级别的分布式校验条带存储——5的升级版)
至少需要4块盘(允许两个盘坏)
特点,存储的有存储数据和两份校验数据,可以提高存储速率,可以容错(允许两个盘坏),可用容量为(n-2/n)
5、RAID 0—1:
RAID 0—1 ==RAID0+RAID1(容错能力相比RAID1—0较好)
至少四块盘
特点:既能提高数据读写,也能提高数据容错,可使用容量为50%,
6、RAID 1—0:
RAID 1—0 ==RAID1+RAID0
系统盘:一般做成RAID 5模式
4、软件模拟创建RAID
- 创建RAID 0并查看其相关信息
- 创建RAID 5并查看相关信息
- 格式化RAID 0为ext4格式
- 创建RAID 0挂载点并且挂载RAID 0
-
格式化RAID 5为ext4格式
-
创建RAID 5的挂载点/raid5并且挂载RAID 5
- 测试不使用磁盘阵列和分别使用RAID 0和RAID 5的读取速率的比较
- RAID 5的容错测试
- 设置一块磁盘出错
-
设置两块磁盘出错
文件系统将不能正常使用,系统会报错
三、LVM逻辑卷管理器
PV:物理卷,真实存在的磁盘。
VG:卷组,许多PV组在一块就是卷组,所以VG就是LVM组合起来的一块大磁盘
PE:物理长度,与扇区相似。LVM默认使用4MB的PE块,LVM的VG最多仅能含65534个PE,也就是最大为256G。所以调整PE大小会影响VG的最大容量
LV:逻辑卷,从卷组上分出来。相当于分区。
LE:与PE相对应
首先用yum下载包lvm2
1、逻辑卷(真实存在的磁盘)
-
pvcreate:创建物理卷
-
pvs:查看pv
-
pvscan:列出系统中的物理卷
-
pvremove:移除物理卷
-
pvmove:移除物理卷上的数据
- pvmove /dev/sdb1直接执行,不用管挪到哪了
2、卷组(把物理卷困在一起)
-
vgcreate:创建卷组
-
-s:指定PE大小
-
vgremove:删除卷组
-
vgextend:将物理卷添加到卷组中
- 为了保证整个卷组一致,把后来加入的物理卷中的PE也改为已存在的卷组中的PE大小。
-
vgreduce:删除卷组中的物理卷
-
vgs:查询系统的vg
-
vgrename:更改卷组名称
-
vgchange:改变卷组工作状态
-
vgdisplay:显示系统上vg的状态
3、逻辑卷(从卷组上分出来,相当于分区)
-
lvcreate:创建逻辑卷
-
lvextend:扩张逻辑卷
- 加上去的扩容空间并没有挂载,使用resize2fs /设备进行修复。(实时扩容,不用卸载)
-
lvscan:查询系统上的lv状态
-
lvdisplay:显示系统上的lv状态
-
lvremove:删除一个lv
-
lvreduce:减小lv容量
-
lvresize:对lv进行容量大小的调整
-
lvm缩减(要卸载进行操作):
- 1、卸载逻辑卷
- 2、检测逻辑卷上的空间 e2fsck -f 强制检测
- 3、使用resize2fs缩减文件系统大小(后边的数字为调整后文件系统的大小)
-
4、使用lvreduce缩减逻辑卷大小(lvreduce -L 直接加数字,不能带符号,系统会自动计算出最合适缩减大小,防止最后PE数目不匹配)。
4、创建LVM
- 创建物理卷
[root@localhost ~]# pvdisplay--查看物理卷的详细信息
- 创建卷组
[root@localhost ~]# vgdisplay--查看卷组详细信息
-
创建逻辑卷
-
-L:指定逻辑卷的容量,必须为PE的倍数,若不相符,系统会自行计算最接近的容量(不带加号为操作后的lv的大小,可以与resize2fs的值相对应,resize2fs后边的值为修改后的文件系统的大小)
- #:绝对容量
- +#:增量
-
-l:指定PE的个数(指定逻辑卷名称)
-
-s:指定创建逻辑卷快照
-
-n:快照名
-
-p:设置属性,r 只读属性
-
-n:指定逻辑卷的名称
-
-
格式化逻辑卷
-
创建挂载目录
[root@localhost ~]# mkdir -p /vg1/lv1
- 挂载使用逻辑卷
[root@localhost vg1]# mount /dev/test_vg1/test_lv1 /vg1/lv1/
目录项,inode,datablock
Linux计划任务:
未来的某个时间执行一次任务,或者周期性执行某个任务,执行结果都会通过邮件通知
定时任务:at batch
周期性任务:crontab、
系统任务调度:
/etc/crontab
用户任务调度:
/var/spool/cron
mail命令:
mail -s “邮件主题” -c “抄送地址” -f 发送人 -F 发件人姓名
echo ”test“ |mail -s test nebulalinux03
at:
1、时间定义
hh:mm 12:00
noon teatime
AM PM
2018-8-10 2019/8/10
+5 minutes hours days weeks
2、语法结构
at 选项 参数
-q:列出任务
-f:从文件中读取
-l:列出任务
-d:指定删除
-v:列出还没有执行的任务
-V:版本号
-c:查看作业内容
crontab:
时间表示法:
1、特定值(8:40)
40 8 * * *
2、* 标识不做处理
3、连续值
8-10(8点到十点)
4、离散值
8,10,12
5、定义时间点 时间步长
/4
注意:定义步长需要能被整除
5 * * * * 脚本路径:代表每小时的第五分钟执行一次
3 4 * * 5:每周五的4.03分执行一次
5 6 7 * *:每月的七号的6.05执行一次
7 8 9 10 *:每年十月九号的8.07分执行一次
8 9 * *3,4:每周三周四的9.08执行一次
0 8,9,20 * * 6,7:每周末的8,9,20点整执行一次
*/5 * * * *:每隔五分钟执行一次
crontab:语法机构
crontab:
-e:编辑任务
-l:列出人物列表
-r:移除任务
-i:移除时确认,与-r一起使用
-u:用户
计划任务规范:
1、脚本要规范,脚本存放位置要规范,便于维护
2、定时任务要写注释
3、执行的脚本要带绝对路径
4、将执行结果的标准输出或者错误输出>/dev/null中
5、可以以命令完成的任务,也要写在脚本里
6、分用户执行