跳到主要内容

Linux准备

配置Yum源

访问阿里源

http://mirrors.aliyun.com

替换本机源

备份

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