linux使用基础

异常情况

 编辑过程中链接出现中断,再次链接编辑文件会提示相应信息

  解决方式:删除显示的隐藏文件

    rm -f .文件名.swp

  出现的原因:

    1.编辑状态突然出现了中断

    2.文件被多个人使用

  总结:出现了隐藏文件,没有及时删除

vi -r oldboy.txt

目录结构说明

结构特点说明

  1.linux根下面的目录是一个有层次的树状结构

  2.linux每个目录可以挂载在不同的设备(磁盘)上 挂载

    磁盘-设备(房间)    想存储东西   从门进入>:目录(挂载点)

          磁盘设备 《-- 挂载  --》 门(目录)

实践操作实现挂载过程

  第一个里程:拥有一个存储设备(光驱)

  第二个里程:找到相应光驱设备

[root@jasonNB ~]# ls /dev/cdrom

/dev/cdrom

[root@jasonNB ~]# ls -l /dev/cdrom

lrwxrwxrwx. 1 root root 3 Dec  6 09:07 /dev/cdrom -> sr0

  第三个里程:进行挂载操作

    mount /dev/cdrom  /mnt/(挂载点目录一定存在)

  第四个里程:确认是否挂载成功

    ls /mnt

目录结构说明

目录结构发展过程:

  一块盘:根目录

  二块盘:/usr目录

  继续扩展>>>:FHS文件系统目录规范

etc目录    # 系统和服务的配置文件存放区
home目录    # 普通用户信息存放区
mnt目录    # 临时挂载点目录
opt目录   # 第三方软件安装存放区
sbin目录  # 管理员可以执行的命令
tmp目录   # 临时存放数据
usr目录   # 存放用户程序
var目录   # 存放日志文件数据

重要目录数据信息说明

1.网卡配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0  ens33

  # 编辑网卡文件时可以先提前备份一份

  cp xxx /tmp/xxx.bak

  ps:esc + .  调用上一个命令最后一个参数信息

  # 网卡文件修改后,必须重启网络服务

  systemctl restart network

  初始化软件安装 yum install -y vim tree bash-completion(提供命令参数补全功能 systemctl)
BOOTPROTO=none 启动协议 获取IP地址的方法 自动获取 dhcp手动设置
DEFROUTE=yes 开启了默认路由 网络(默认路由 动态路由 静态路由)
NAME=eth0 网卡逻辑名称
UUID=... 在虚拟化软件标识一些硬件设备信息
DEVICE=eth0 网卡设备名称
ONBOOT=yes 确保网卡是否处于激活状态
IPADDR=10.0.0.200 IP地址设置
PREFIX=24 设置子网掩码确保一个局域网里面可以连接多少台主机默认253
GATEWAY=10.0.0.254 网关信息 不同局域网之间进行通讯的必经关卡 需要和虚拟编辑器中nat网卡设置保持一致
IPV6_PRIVACY=no
DNS=114.114.114.114 DNS 域名解析服务

2.DNS服务设置方法

  方法一:设置为阿里云dns服务器地址

    223.5.5.5

    223.6.6.6

  方法二:通用dns服务器地址

    114.114.114.114

    114.114.114.119

  方法三:利用移动dns服务器(谷歌dns服务器)了解即可

    8.8.8.8

  方法四:使用网关地址充当dns服务器地址

    10.0.0.254

3.网卡域名解析配置文件

/etc/resolv.conf

vi /etc/resolv.conf

nameserver 114.114.114.114

nameserver 223.5.5.5

  PS: 配置完成,立即生效  网卡的dns配置优先于resolv.conf文件中的配置

4.主机名称配置文件

  centos6  /etc/sysconfig/network  主机名称配置文件

  centos7  /etc/hostname           主机名称配置文件

修改主机名称

  第一个里程:利用命令修改主机名称  (临时修改)

    hostname  jasonNB

    ps:修改完成,需要重新连接,才能命令生效

  第二个里程:编辑修改配置文件  (永久修改)

    vi /etc/hostname 

    centos7有特殊修改主机名称方式

    hostnamectl set-hostname  oldboyds05

 5.本地域名解析文件 /etc/hosts

  网站页面信息变更

    小公司   直接调试线上服务器   夜里操作

    大企业   直接调试测试服务器测试访问  模拟真实环境访问

      京东线上网站服务器地址   112.65.34.1

      京东线下网站服务器地址   10.0.0.200

  [root@jasonNB ~]# vi /etc/hosts

  10.0.0.200  www.jd.com  (指定映射关系)

网络不通排查流程

1. 确认网关地址是否通畅

2. 确认网卡配置是否正确

3. 确认网络管理服务关闭

  systemctl stop NetworkManager

  systemctl disable NetworkManage

etc目录下重要的数据文件

1./etc/fstab  # filesystem table 系统挂载信息表

  磁盘 --- 分区格式化 --- 系统中可以看到磁盘设备 --- 挂载(开了个门)

  PS:所有存储设备必须挂载才能使用

  临时挂载:mount /dev/cdrom  /mnt

  永久挂载:修改一个和开机自动挂载相关的配置文件 /etc/fstab

    设备文件          挂载点

  /dev/第一个分区  :  /boot

  /dev/第二个分区  :  swap

  cat /etc/fstab  # 查看文件内容

  blkid  # 查看磁盘分区

  总结:实现磁盘存储设备,挂载操作永久生效,开机自动加载挂载信息

2./etc/rc.local  # 此文件中只能存放linux系统命令操作信息

  系统正常加载启动 --- 读取rc.local文件 --- 文件主要保存命令信息 --- 执行文件中的命令 --- 系统启动成功

  eg:开机自动备份

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bak

echo "cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bak" >> /etc/rc.local

centos6:按照以上说明进行操作即可
centos7:chmod +x /etc/rc.d/rc.local

运维操作规范(运维人员==救火队员)

  1.操作之前进行检查

  2.操作之前进行备份

  3.操作之后进行确认

  4.操作之后进行总结

  具体操作:

  1.检查相应路径是否存在备份文件

    有备份文件:进行删除

  2.先在命令行进行测试执行

  3.编辑开机自动加载命令配置文件rc.local

  4.重启系统进行确认

3./etc/inittab  # centos6 vs centos7

  知识点:系统启动运行级别

  系统启动时候:

    A系统启动:网络服务运行 安全服务运行 存储服务运行 01级别

    B系统启动:安全服务运行 存储服务运行             02级别

    C系统启动:存储服务运行                        03级别

    三种系统:运行启动级别不一样

  centos6 (7种运行级别)

    0      关机级别(init 0)

    1      单用户模式(重置用户密码信息root 修复系统) 救援模式

    2      多用户模式 NFS (没有网络服务)

    3      多用户模式 (命令行模式)

    4      未知 未使用

    5      图形化界面模式(init 5)

    6      重启级别

  centos7 (target目标)

ls /usr/lib/systemd/system/runlevel*target -l

    poweroff.target

    rescue.target

    multi-user.target

    multi-user.target

    multi-user.target

    graphical.target

    reboot.target

调整系统运行级别

  centos6

    init 级别信息    临时修改

    vim /etc/inittab  永久修改

  centos7

    systemctl get-default   获取级别信息

    systemctl set-default   修改了级别

4./etc/profile  # 配置环境变量信息或者别名信息文件(重要)

  环境变量特征

    1.环境变量都用大写字母表示

    2.环境变量可以被所有用户所使用

    3.环境一般是系统安装就已经设置

  第一个里程:定义变量

    [root@jasonNB ~]# oldboy=123

  第二个里程:调取变量信息

    [root@jasonNB ~]# echo $oldboy

  第三个里程:调整变量值信息

    [root@jasonNB ~]# oldboy=456

    [root@jasonNB ~]# echo $oldboy

5./etc/bashrc  # 专门用于设置别名信息 

  别名概念说明(先提前了解)

    使复杂命令简单化

[root@jasonNB ~]# ls -l /etc/hosts

-rw-r--r--. 1 root root 181 Dec  7 12:28 /etc/hosts

[root@jasonNB ~]# ll /etc/hosts

-rw-r--r--. 1 root root 181 Dec  7 12:28 /etc/hosts

    (别名的定义既可以在profile里面也可以在bashrc里设置)

  /etc/profile    国法

  /etc/bashrc     国法

  ~/.bashrc       家规

  ~/.bash_profile 家规

6./etc/motd  # 用户登陆系统之后提示信息

  佛祖保佑 永不宕机

7./etc/issue /etc/issue.net(centos7多)  # 用户登陆系统之前提示信息

[root@jasonNB ~]# cat /etc/issue

[root@jasonNB ~]# echo > /etc/issue

[root@jasonNB ~]# echo > /etc/issue.net

[root@jasonNB ~]# cat /etc/issue

usr目录下重要的数据文件

/usr/local/ 用于保存用户安装软件程序信息 == D:\Program Files (x86)

linux系统如何安装软件(四种方式)

  1.yum安装软件  # 可以解决软件的依赖关系

    eg:购买外卖所有东西都准备集全

      yum install -y tree vim bash-completion

    针对出问题的软件可以重新安装修复

      yum reinstall -y tree vim bash-completion

  2.rpm包方式安装软件  # 在系统中需要有软件安装包

    eg:购买食材(半成品)进行烹饪  少筷子少碗

      无法解决软件依赖问题

    rpm -ivh xxx.rpm

      -i   install 安装

      -v   verbose 显示详细信息

      -h   human   以人类更好看理解方式显示信息

    rpm -qa tree

      -q   query  查询

      -a   all    所有软件信息

    rpm -ql vim-enhanced

      -l   list   显示软件安装目录的列表信息

    rpm -e tree 卸载软件

      # -e   erase  擦出==删除

  3.编译安装软件  # 安装软件更加灵活

    eg:购买食材(非成品)进行烹饪  可以灵活调整食物的味道

      设置软件安装路径 指定软件功能信息

  4.二进制包安装软件  # 安装软件部署效率高

    eg:小零食即食即用 方便简单

      CS 软件安装包(绿色版免安装)

var目录下重要的数据文件

经常发生变化的文件保存在variable

  经常变化的文件>>>:日志文件

  /var/log/messages    服务运行情况信息、系统运行或异常信息

  /var/log/secure      用户登陆信息保存文件

规律查看日志信息

[root@jasonNB ~]#  # 三剑客中老三  grep

[root@jasonNB ~]# grep "Failed" /var/log/secure

Dec 10 12:39:00 oldboysh03 sshd[1705]:Failed password for root from 10.0.0.1 port 60099 ssh2

对于日志文件过大必须要做切割处理

  secure-0k > secure-100k > 大小范围10M > 切割secure-bak01 secure

proc目录重要的数据文件

记录一些硬件使用情况 硬件详细信息

  CPU  # /proc/cpuinfo

命令查看CPU信息

  lscpu

  CPU(s):                4    整个服务器有多少核心

  Core(s) per socket:    2    每颗CPU有多少核心

  Socket(s):             2    服务器有几颗CPU

命令查看内存信息

  cat /proc/meminfo

  MemTotal:        2030172 kB    --- 服务器的总共内存容量

  MemFree:         1755372 kB    --- 服务器未使用的CPU容量

  MemAvailable:    1728900 kB    --- 服务器还可以使用的

  Buffers:            2076 kB

  Cached:            86716 kB

实时使用情况

  free、free -h

命令查看磁盘信息

  df -h

查看负载情况

  cat /proc/loadavg

  0.00             0.01            0.03

  平均每分钟负载  平均5分钟负载   平均15分钟负载

  负载的数值不能超过服务器的核心数  8核  7(阈值)

利用命令查看负载信息

  [root@oldboysh03 ~]# w

  15:39:53 up 43 min, 2 users,  load average: 0.00, 0.01, 0.03

  当前时间  服务器运行时间 连接用户数  平均负载情况

查看挂载信息

  df -h

  cat /proc/mounts  # 记录系统挂载信息

系统优化相关

性能优化

安全优化

编码优化

1.了解自己的系统情况

  cat /etc/redhat-release

  uname -r/-a/-n/-s/...  # 详见下图

2.在系统中创建用户信息

  创建用户

    useradd jason01

    passwd  jason01

  切换用户状态管理主机

    su - jason01  # su == switch user

  进行检查确认

    whoami

环境变量

特征:

  1.由大写字母组成

  2.配置的环境变量所有用户都必须遵循

  3.系统中默认就有的变量信息

第一个环境变量:PS1 (命令提示符信息)

  echo $PS1

修改环境变量:

  第一个里程:临时修改

    PS1="[\u@\h \w]\$"    错误修改环境变量方式

    export PS1="[\u@\h \w]\$"   正确修改环境变量方式

  第二个里程:永久修改

    vim /etc/profile

    export PS1="[\u@\h \w]\$ "  # 添加内容

    source /etc/profile  # 重新加载文件内容

下载软件优化操作

1.需要修改yum源文件(指定使用哪个yum软件仓库)  # 类似于pip换源

curl -o /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-7.repo

yum repolist

  PS:万一阿里云不好用,可以选择清华yum源

  https://mirrors.tuna.tsinghua.edu.cn/help/centos/

2.需要修改yum扩展源epel源

  第二个特殊的软件仓库

# epel Extra Packages for Enterprise Linux
    wget -O /etc/yum.repos.d/epel.repo 
    http://mirrors.aliyun.com/repo/epel-7.repo
    http://mirrors.aliyun.com/repo/epel-7.repo

    检查测试

      yum install -y bash-completion-extras

3.所有源文件更新进行最终确认

  yum repolist

闲暇时光
yum install sl cowsay -y
sl
cowsay "JasonNB!!!"
animalsay "数据分析五期NB"

大数据的概念

1.什么样的数据才可以称之为是"大数据"

  1.海量:数据量一定要大

  2.高增长率:一定的时间内数据快速增长

  3.多样化:数据的种类千奇百怪

2.研究大数据的目的

  1.海量数据的存储

  2.海量数据的分析计算

3.重要的度量单位

Hadoop

狭义上来说hadoop相当于一款数据库软件

广义上来说hadoop是一个大数据神态圈

2006正式的诞生 标志着大数据时代的到来 图标是一个大象

Hadoop主要版本

Apache、Cloudera、Hortonworks

Apache版本

  最原始(最基础)的版本,对于⼊⻔学习最好。2006

Cloudera

  内部集成很多⼤数据框架,对应产品CDH。 2008

Hortonworks

  ⽂档较好,对应产品HDP。 2011

ps:Hortonworks已经被Cloudera公司收购推出新品牌CDP

Hadoop版本号区别

Hadoop1.X

  MapReduce  # 计算与资源调度

  HDFS  # 数据存储

  Common  # 辅助工具

Hadoop2.X与3.X

  MapReduce  # 计算

  Yarn  # 资源调度

  HDFS  # 数据存储

  Common  # 辅助工具

HDFS架构组成

NameNode(nn):存储文件的元数据  # 相当于目录

DataNode(dn):存储文件的真实数据  # 当对于文本内容

Secondary NameNode(2nn):辅助NameNode工作  # 相当于备用设施

Yarn架构组成

Resource Manager:类似于大老板

Node Manager:类似于各部门经理

Application Master:类似于部门中真正干活的员工

Container:类似于每个部门拥有的各项资源

MapReduce架构组成

Map就是将复杂的任务拆分成多个小任务分发给不同的节点完成

Reduce就是将每个节点完成的小人物汇总到一起

技术生态圈

1.数据来源层

  针对结构化数据(关系型数据库)采用sqoop进行数据同步

  针对半结构化、非结构化数据(非关系型数据库)采用flume、kafka进行同步

 

posted @ 2021-10-27 22:53  雾雨黑白  阅读(67)  评论(0编辑  收藏  举报