- 1.centos时间同步问题
- 2.Centos7 安装Mysql
- 3.centos 安装7z压缩文件
- 4.centos 安装 java1.8
- 5.Linux 更改root与home分区大小的方法总结
- 6.Centos安装Nginx
- 7.文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- 8.CentOS 7.x 调整 I/O Scheduler(调度器)优化系统性能
- 9.Linux 常用指令
- 能列出系统上所有的磁盘
- 批量删除进程
- 检查集群的时间
- 查看网卡
- 查看磁盘io
- linux 下安装maven
- 批量删除大文件
- 批量修改文件名
- 按照指定分隔符切割字符串
- 10.CentOS 7 中firewall-cmd命令
1.centos时间同步问题
ntp时间同步方式
1.安装ntp时间
(1)检查是否安装ntp服务
$rpm -qa | grep ntp
$yum install -y ntp
(2)设置开机自启
$chkconfig ntpd on
(3)查看ntp状态
$chkconfig --list ntpd
2.配置ntp时间同步
(1)配置内网ntp-server(node01)
vim /etc/ntp.conf
driftfile /var/lib/ntp/drift
#允许远程时间源与我们本地源同步,但不允许远程源查询或修改本本地系统服务
restrict default nomodify notrap nopeer noquery
#允许通过回环地址127.0.0.1的所有访问.也可以被收紧限制,但这样会影响一些本职的功能
restrict 127.0.0.1
restrict ::1
#本地网络主机限制较少。默认被注释了,放开注释,允许内网其他主机同步本机时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#这里换成以下几个ntp服务器
server 0.cn.pool.ntp.org #China
server 1.asia.pool.ntp.org #Asia
server 2.centos.pool.ntp.org #centos
server 3.pool.ntp.org #Worldwide
#允许上层时间服务器主动修改本机时间
restrict 0.cn.pool.ntp.org nomodify notrap noquery
restrict 1.asia.pool.ntp.org nomodify notrap noquery
restrict 2.centos.pool.ntp.org nomodify notrap noquery
restrict 3.pool.ntp.org nomodify notrap noquery
#上边列表中的时间服务器都不可用时,同本地时间同步
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
(2)配置内网NTP-Clients
内网其他设备作为NTP的客户端配置,相对就比较简单,而且所有设备的配置都相同。
$vim /etc/ntp.conf
driftfile /var/lib/ntp/drift
#允许远程时间源与我们本地源同步,但不允许远程源查询或修改本本地系统服务
restrict default nomodify notrap nopeer noquery
#允许通过回环地址127.0.0.1的所有访问.也可以被收紧限制,但这样会影响一些本职的功能
restrict 127.0.0.1
restrict ::1
#本地网络主机限制较少。默认被注释了,放开注释,允许内网其他主机同步本机时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#这里换成以下几个ntp服务器
server 192.168.1.71 #内网ntp-server服务器
#允许上层时间服务器主动修改本机时间
restrict 192.168.1.71 nomodify notrap noquery
#上边列表中的时间服务器都不可用时,同本地时间同步
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
3.启动ntp
(1)启动ntp-server(node01)
$service ntpd start
(2)启动ntp-server(node02、node03)
$ntpq -pn
2.Centos7 安装Mysql
下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
进行yum源安装
rpm -ivh mysql-community-release-el7-5.noarch.rpm
查看yum源中的mysql安装包
yum repolist all | grep mysql
安装MySQL
yum install mysql-server
3.centos 安装7z压缩文件
wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
tar -jxvf p7zip_9.20.1_src_all.tar.bz2
cd p7zip_9.20.1
make
make install
安装bzip2
yum install -y bzip2
安装gcc-c++
yum -y install gcc gcc-c++
4.centos 安装 java1.8
install cmd
yum -y install java-1.8.0-openjdk*
5.Linux 更改root与home分区大小的方法总结
1.查看/home的路径信息
mount |grep home
2.卸载home分区
umount /home
3.删除home的lv
lvremove /dev/mapper/centos-home
- 扩展root分区的大小
lvextend -L +350G /dev/mapper/centos-root
5.进行 xfs_growfs
xfs_growfs /dev/centos/root
6.创建home的lv
lvcreate -L 50GB -n home centos
7.创建文件系统
mkfs.xfs /dev/centos/home
8.挂载
mount /dev/mapper/centos-home
6.Centos安装Nginx
安装Nginx源
执行以下命令:
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。
安装Nginx
安装完Nginx源后,就可以正式安装Nginx了。
yum install -y nginx
Nginx默认目录
输入命令:
whereis nginx
即可看到类似于如下的内容:
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx
以下是Nginx的默认路径:
(1) Nginx配置路径:/etc/nginx/
(2) PID目录:/var/run/nginx.pid
(3) 错误日志:/var/log/nginx/error.log
(4) 访问日志:/var/log/nginx/access.log
(5) 默认站点目录:/usr/share/nginx/html
事实上,只需知道Nginx配置路径,其他路径均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查询到。
常用命令
(1) 启动:
nginx
(2) 测试Nginx配置是否正确:
nginx -t
(3) 优雅重启:
nginx -s reload
(4) 查看nginx的进程号:
ps -ef |grep nginx
(5)nginx服务停止
nginx -s stop
kill -9 pid
当然,Nginx也可以编译源码安装,步骤相对要繁琐一些,总的来说,还是比较简单的,本文不作赘述
问题1
1452#1452: *1 no live upstreams while connecting to upstream
upstream s3 {
--- 修改 max_fails = 5----
server 192.168.1.61:7480 max_fails=5 fail_timeout=60s;
server 192.168.1.62:7480 max_fails=5 fail_timeout=60s;
server 192.168.1.63:7480 max_fails=5 fail_timeout=60s;
}
Nginx 13: Permission denied 解决方案
chown("/var/cache/nginx/client_temp", 0) failed (13: Permission denied)
关闭selinux
vi /etc/selinux/config
SELINUX=disable
7.文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
vm.dirty_background_ratio
这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存;
vm.dirty_ratio
而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。
参数理解
先达到vm.dirty_background_ratio的条件然后触发flush进程进行异步的回写操作,但是这一过程中应用进程仍然可以进行写操作,如果多个应用进程写入的量大于flush进程刷出的量那自然会达到vm.dirty_ratio这个参数所设定的坎,此时操作系统会转入同步地处理脏页的过程,阻塞应用进程
8.CentOS 7.x 调整 I/O Scheduler(调度器)优化系统性能
目前 Linux 上有如下几种 I/O 调度算法
1.noop(No Operation) - 通常用于内存存储的设备。
2.cfq(Completely Fair Scheduler ) – 完全公平调度器。进程平均使用IO带宽。
3.Deadline – 针对延迟的调度器,每一个 I/O,都有一个最晚执行时间。
4.Anticipatory – 启发式调度,类似 Deadline 算法,但是引入预测机制提高性能
1、查看CentOS6 CentOS7下IO支持的调度算法
CentOS 6.x
#dmesg | grep -i scheduler
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
CentOS 7.x
#dmesg | grep -i scheduler
[ 0.739263] io scheduler noop registered
[ 0.739267] io scheduler deadline registered (default)
[ 0.739315] io scheduler cfq registered
看到CentOS 7.x默认支持的是deadline算法,CentOS 6.x下默认支持的cfq算法,而一般我们会在SSD固态盘硬盘环境中使用noop算法
2、查看设备当前的 I/O 调度器
#cat /sys/block//queue/scheduler
假设磁盘名称是 /dev/sda
#cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
3、临时生效的方法
#cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
#echo cfq>/sys/block/sda/queue/scheduler
#cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
CentOS7下默认的算法被调整为cfq了
4、永久生效的方法
CentOS 7.x
#grubby --update-kernel=ALL --args="elevator=deadline"
#reboot
#cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
9.Linux 常用指令
nc
nc的作用
(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc可以作为client发起TCP或UDP连接
(3)机器之间传输文件
(4)机器之间网络测速
nc可以作为server端启动一个tcp的监听
nc -l 9999
shell 实现文本去重
sort、管道和uniq结合运用
去除重复并保留一份重复的数据
example:
[root@bogon ~]# sort test|uniq
fffff
jason
实现将多行数据,转换一行打印(Linux)
cat date1.txt | xargs
Shell去除空行的4种方法
用tr命令
cat date1.txt |tr -s '\n'
用sed命令
cat date1.txt |sed '/^$/d'
用grep命令
grep -v '^$' date1.txt
能列出系统上所有的磁盘
lsblk(list block devices)
批量删除进程
ps -ef | grep ceph | grep -v 'su ceph' | grep -v 'grep ceph' | awk '{print $2}' | xargs kill -9
检查集群的时间
for i in `seq 1 3`;do ssh s${i} date;done
for i in `seq 1 18`;do echo cm${i} && ssh cm${i} date;done
查看网卡
查看磁盘io
linux 下安装maven
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum -y install apache-maven
批量删除大文件
rsync --delete-before -d 目录
批量修改文件名
该脚本实现从命令行中获取目录,并遍历目录,修改匹配的文件名
for file in `ls $1 | grep .COMPLETED`
do
#echo $file
newfile=`echo $file | sed 's/.COMPLETED//g'`
echo $newfile
file1=$1$file
newfile1=$1$newfile
echo $file1
echo $newfile1
mv $file1 $newfile1
done
按照指定分隔符切割字符串
#!/bin/bash
string=`cat jar.txt`
array=(`echo $string | tr ':' ' '` )
for var in ${array[@]}
do
echo $var
done
10.CentOS 7 中firewall-cmd命令
如果你的系统上没有安装使用命令安装
安装firewalld 防火墙yum install firewalld
开启服务systemctl start firewalld.service
关闭防火墙systemctl stop firewalld.service
开机自动启动systemctl enable firewalld.service
关闭开机制动启动systemctl disable firewalld.service
获取活动的区域
firewall-cmd --get-active-zones
开启某个端口
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久
firewall-cmd --zone=public --add-port=8080-8081/tcp //临时