Linux准备
配置Yum源
访问阿里源
替换本机源
备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
替换
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
生成缓存 只是更新yum软件清单,并不下载软件包
yum makecache
其他 非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。用户也可自行修改相关配置: eg:
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
更新软件 #更新所有软件到最新
yum update -y
CentOS安装深入
http://mirrors.163.com/.help/CentOS7-Base-163.repo
下载:curl,wget
配置官方源更新地址:
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
配置第三方epel源更新地址:
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
操作:
yum update -y #更新所有软件到最新
CentOS6和CentOS7都要安装的企业运维常用基础工具包
添加这个源才能有htop命令
yum -y install epel-release
保留yum安装的软件包
将/etc/yum.conf中的keepcache=0改为keepcache=1,为日后一键安装网站集群留好rpm及依赖工具包。
sed -i.bak 's#keepcache=0#keepcache=1#gp' /etc/yum.conf
安装必备软件
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
yum install psmisc net-tools bash-completion vim-enhanced -y
网卡配置
关键配置
/etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
cat /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:0C:29:C4:6F:D9 #MAC地址 网卡的物理地址
TYPE=Ethernet #以太网
BOOTPROTO=none #静态或者dhcp
IPADDR=10.0.0.129 #IP地址
PREFIX=24 #子网掩码
GATEWAY=10.0.0.254 #网关
DNS1=223.5.5.5 #DNS1 域名解析为IP。
DNS2=202.106.0.20 #DNS2 域名解析为IP。
NAME=eth1 #设备名
UUID=cf363dd6-05ce-37d3-8caa-242f64883a8f #唯一标识
ONBOOT=yes #网卡随着linux开启启动
例子
BOOTPROTO="static" | 如果是dhcp获取,BOOTPROTO="dhcp" ,下面的配置都不需要
IPADDR=172.16.7.237
NETMASK=255.255.255.0
GATEWAY=172.16.7.1
DNS1=114.114.114.114
DNS2=8.8.8.8
网卡管理
管理界面
nmtui
重启所有网卡
systemctl restart network
重启指定网卡
ifup eth1
ifdown eth1
注意点
/etc/resolv.conf:Linux系统过时的DNS客户端配置文件
[root@bigdata bigdata]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 202.106.0.20
重启网卡时候,网卡配置文件里的DNS设置会覆盖这里的设置。
配置客户端DNS有两种方法;
1.网卡配置文件里设置(优先)
2.直接在/etc/resolv.conf里配置(很容易被覆盖)
修改主机名
临时修改
hostnamectl set-hostname bigdata
nmtui
永久修改
vi /etc/hostname
查主机名
[root@bigdata ~]# hostname
bigdata
[root@bigdata ~]# uname -n
bigdata
脚本配置ip和hostname
cat net.sh
#!/bin/sh
if [ $# -ne 2 ];then
echo "/bin/sh $0 hostname PartIP"
exit 1
fi
hostnamectl set-hostname $1 #第一个参数
sed -i "/IPADDR/s#128#$2#g" /etc/sysconfig/network-scripts/ifcfg-ens33 #<==模板机IP最后8位默认是200。
systemctl restart network
#check
hostname
exit
#sh net.sh hadoop2 129
#sh net.sh hadoop3 130
开启启动
/etc/rc.local:存放开机自启动程序命令的文件
用户登录显示
/etc/motd:配置用户登录系统之后显示提示内容的文件
echo "11" >/etc/motd
系统化设置
/etc/sysctl.conf:Linux内核参数设置文件(系统优化)*****
配置完:sysctl -p生效,直接编辑完不生效。
系统日志
/var目录下的路径知识 可变化的目录
/var/log/messages #linux系统日志文件,系统故障可以去看看。
/var/log/secure #安全日志(ssh日志记录到这里),监控日志。
/var/log/dmesg #记录硬件信息加载情况的日志文件(dmesg)
内核信息
/proc下的重要路径知识 进程和内核信息的文件
路径名称 路径说明
/proc/cpuinfo 当前cpu信息文件
/proc/meminfo 当前内存信息文件
/proc/loadavg 当前系统的平均负载文件
/proc/mounts 当前设备挂载列表信息文件
/proc/interrupts 当前系统中断信息文件
配置第三方源(跑火车)
epel源
配置第三方epel源更新地址:
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install sl -y
sl
yum install cowsay -y
cowsay "I am bigdata"
判断磁盘是否ssd
判断磁盘是否可以旋转
值是1表示可以旋转,属于机械硬盘,为0表示不可以旋转,为固态硬盘
grep ^ /sys/block/*/queue/rotational
值是1表示可以旋转,属于机械硬盘,为0表示不可以旋转,为固态硬盘
lsblk -d -o name,rota
查看磁盘的信息
fdisk -l
查看磁盘io
sudo iotop
sudo iostat -x 5
grep ^ /sys/block/*/queue/rotational
配置sudo
创建用户
useradd bigdata
id bigdata
echo 1|passwd --stdin bigdata
配置sudo
vi /etc/sudoers
[root@bigdata ~]# visudo
[root@bigdata ~]# grep -w bigdata /etc/sudoers
bigdata ALL=(ALL) NOPASSWD: ALL
创建用户加提权
useradd bigdata
echo 123456|passwd --stdin bigdata
\cp /etc/sudoers /etc/sudoers.ori
echo "bigdata ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
添加用户到sudo组里面
[root@bigdata ~]# useradd bigdata -G wheel
[root@bigdata ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) 组=1001(oldgirl),10(wheel)
[root@bigdata ~]# echo 111111|passwd --stdin oldgirl
[root@bigdata ~]# su - oldgirl
[oldgirl@bigdata ~]$ sudo su -
禁止root用户ssh登录
vim /etc/ssh/sshd_config
禁止root远程登录,改用bigdata用户登录。
重新配置Xshell连接
38 #PermitRootLogin yes
改为:
PermitRootLogin no
systemctl restart sshd
安全优化
关闭selinux
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
暂时关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld|grep inactive
设置系统中文UTF8字符集
cat /etc/locale.conf
LANG="en_US.UTF-8" 修改命令如下: 方法1:
cp /etc/locale.conf /etc/locale.conf.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf
source /etc/locale.conf
echo $LANG
方法2:
cp /etc/locale.conf /etc/locale.conf.ori
localectl set-locale LANG="zh_CN.UTF-8"
cat /etc/locale.conf
时间同步设置
yum install ntpdate -y
/usr/sbin/ntpdate ntp3.aliyun.com
echo '#crond-id-001:time sync by bigdata' >>/var/spool/cron/root
echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root
crontab -l
加大文件描述符
ulimit -n
echo '* - nofile 65535' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn 65535
ulimit -n
优化系统内核
cat >>/etc/sysctl.conf<<EOF
vm.overcommit_memory = 1
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
##NFS共享存储优化
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
sysctl -p
优化系统提示符
sudo echo "PS1='\[\e[32;1m\][\u@\h \W]\\$ \[\e[0m\]'" >>/etc/profile
source /etc/profile
缓存刷盘
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
查找大文件
sudo find / -size +100M -exec ls -lh {} \;
&rewriteBatchedStatements=true&characterEncoding=utf-8