当前位置: 代码迷 >> 综合 >> 【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机
  详细解决方案

【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机

热度:59   发布时间:2023-09-29 16:37:27.0

目录

操作系统?

Linux背景简介?

Linux体系结构?

Linux内核与发行版本?

虚拟机?

Linux系统安装(虚拟机里)?

Linux文件系统?

Linux 基本指令?

Vi编辑器(非常重要)?

远程连接Linux?

一些常用操作?

Linux上安装JDK?


操作系统?

  • 操作系统:管理操纵硬件和应用软件的一套程序,比如Windows系列、Linux系列。
  • Linux:一套免费使用和自由传播的类UNIX操作系统,支持多用户、多任务、多线程和多CPU。
    使用相当广泛:你的手机、你家的电视机顶盒、甚至你取款的 ATM,都是基于林纳斯·托瓦兹做的 Linux 系统改的

Linux背景简介?

  • 1969年 Unix v1
    Ken Thompson、Dennis Ritchie、Douglas McIlroy 于贝尔实验室开发,“Multiplexed Information and Computing Service”,但到1970年只支持2个用户,于是被笑称为 “UNiplexed Information and Computing Service”,缩写就是UNICS,后面取谐音就称其为"UNIX"了
  • 1973年 Unix v3
    Ken Thompson 与Dennis Ritchie优化编程语言BCPL,诞生了B语言,C语言,成功地用C语言重写了Unix的第三版内核
  • 1979年 Unix v7
    收费,贵!!!
  • 1985年 GNU计划
    Richard Stallman,黑客,创造一套完全自由免费,兼容于Unix的操作系统

       【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机

  • 1991年 Linux内核诞生,之后跟GNU软件结合,1994年3月,Linux1.0发布……
    Linus Torvalds,黑客,Linux = Linus’s Unix,他再更新Linux内核过程中还随带写出了另一款很牛逼的软件git(版本控制软件,github就是基于git创建的)

【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机

Linux体系结构?

【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机

 

Linux内核与发行版本?

  • 内核:软件与硬件交互的平台,提供系统服务,文件管理,内存管理,i/o管理,进程管理等。
  • 发行版:内核 + 软件
  • 常用发行版:Red Hat / CentOS、Debian / Ubuntu

虚拟机?

  • 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统。
  • 流行的虚拟机软件有VMware Workstation、Virtual Box和Virtual PC
  • VMware Workstation的安装:略
  • 虚拟机的网络模式
    • 仅主机模式
    • 桥接模式
    • NAT模式(我们选择这个模式)

Linux系统安装(虚拟机里)?

  • 打开VMware Workstation
  • 在库面板空白处点击右键,选择新建虚拟机
  • 一直 下一步 直到选择光盘镜像,选好Linux系统安装包路径后,继续下一步
  • 个性化Linux界面

【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机

  • 继续下一步,到网络连接下选项时选择 NAT ,又继续下一步,到分配磁盘界面根据自己电脑配置去分配大小,学习大数据的话20G比较合适,(注意,这个大小是决定此虚拟机的最大硬盘容量,以后不能修改的),选择 “将虚拟磁盘拆分为多个文件”(为方便移动虚拟机)
  • 一直点击下一步,直到点击了完成
  • 然后就开始了自动安装的过程,根据个人计算机配置不同,花费时间10-30分钟不等

注: 可能有同学的机器主板设置未开启虚拟化,需要重启电脑进bios开启虚拟化。

Linux文件系统?

  • 文件系统格式
    • Linux:ext4、ext3、xfs (查看分区文件系统类型:parted -l)
    • windows:NTFS、fat32
  • 整个文件系统可以看做是一棵树,不会根据扩展名判别文件类型,会根据内容自动判断类型。在创建文件时,可以人为的添加扩展名,方便区分
  • 命名规则
    • 除了 / 之外,所有的字符都合法
    • 有些字符最好不适用,比如空格符、制表符、退格符和字符 : ? ,@ # $ & () \ | ;" "" <> 等等
    • 避免使用+ 、 - 或 . 来作为普通文件名的第一个字符
    • 大小写敏感
  • 常见目录用途
    • / 根目录
    • /bin|/sbin|/usr/bin 存放可执行的二进制文件
    • /boot 存放启动时文件
    • /dev 存放和挂载设备文件
    • /etc 配置文件存放的目录
    • /home 用户的家目录
    • /root root用户的家目录
    • /mnt|/media 光盘挂载点
    • /usr 安装程序目录
    • /var 存放经常变化的文件

Linux 基本指令?

  • 命令行含义:
    [用户名@主机名 当前目录]#
    #表示root用户, $表示普通用户
  • 常用shell指令
    • su (用法:su 用户名,切换用户)
    • pwd (显示当前工作目录)
    • cd (改变工作目录)
      • cd path(进入指定目录)
      • cd ..(返回上级目录)
      • cd ~(返回用户主目录)
      • cd -(返回上次操作的目录)
    • ls(用法:ls [参数] 路径 ,显示目录内容列表)
      • -l(详细信息显示,可用 ll 代替)
      • -a(显示所有子目录和文件的信息,包括隐藏文件)
      • -A(类似于“-a”,但不显示“.”和“..”目录的信息)
      • -R(递归显示内容)
      • -h(以友好方式显示文件大小)
    • touch(用法:touch 路径,创建空文件或更新文件时间标记)
    • mkdir(用法:mkdir [参数] 路径,创建文件夹)
      • -p(级联的方式创建文件夹,上级目录不存在自动创建)
    • file(用法:file 路径,查看文件类型)
    • cp(用法:cp [参数] 源文件或目录… 目标文件或目录)
      • -r(递归复制整个目录)
    • mv(用法:mv [参数] 源文件或目录… 目标文件或目录)
      • 源和目标 目录一样时就是重命名的效果
    • cat (用法:cat [参数] 文件路径,查看目标文件的内容)
      • -n (显示行号)
    • rm(用法:rm [选项] 文件或目录,删除指定文件或目录)
      • -f(强行删除文件或目录,不进行提醒)
      • -i(删除文件或目录时提醒用户确认)
      • -r (递归删除整个目录树)
      • rm -rf /(删除整个linux系统的文件,从删库到跑路!)

Vi编辑器(非常重要)?

vi编辑器是Linux和Unix上的标准文本编辑器,相当于windows上的记事本,功能更强大。vim是增强版的vi。

vi编辑器的三种模式?

  • 命令模式
    • 使用vi/vim 文件名 进入编辑器后就是命令模式
    • 可以进行复制、剪切、粘贴、删除等操作
    • 命令行模式下保存并退出:输入 ZZ
    • 命令模式下按一下冒号进入底行模式(shift+:)
  • 插入模式(左下方出现 INSERT)
    • 在命令模式下按字母 i 进入 Insert mode,插入模式下可以输入文字
    • 插入模式按esc返回命令模式
  • 底行模式(最下方出现冒号)
    • w 文件名(以指定的文件名保存)
    • wq (存盘并退出vi)
    • q! (不存盘强制退出vi)

远程连接Linux?

SecureCRT、XShell等软件都可以,这里我们使用SecureCRT

一些常用操作?

  • 查看网络接口状态
    • ifconfig(对应windows里 ipconfig)
    • 配置静态IP
      • sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
      • 修改 bootproto 为 static
      • 添加 IPADDR=192.168.25.91,NETMASK=255.255.255.0,GATEWAY=192.168.25.2,PREFIX=24
  • 测试网络
    • ping 地址(自动无限循环,windows要加 -t)
  • 主机名
    • 查看:hostname
    • 修改(临时生效):hostname 名字
    • 修改(重启永久生效,centos6):vi /etc/sysconfig/network
  • 对防火墙的操作
    • 防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出
    • service iptables status:查看防火墙状态
    • service iptables start:开启防火墙
    • service iptables stop:关闭防火墙
    • chkconfig iptables on:开机自启
    • chkconfig iptables off:关闭开机自启
  • 系统启动级别
    • 查看级别:runlevel
    • 修改启动级别:vi /etc/inittab(centos6,0-6,改为3)
  • 切换用户
    • su 用户(可带参数“-”,表示切换用户及用户对应的环境变量)
  • 文件权限
    我们执行 ls -l (或者 ll )指令后,得到如下内容

【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机

 

  • 前10个字符就表示不同的用户能对这个文件做什么样的操作
    • 第一位表示文件的类型(-表示文件、d表示目录、l表示链接)
    • 其余9位字符每3个一组(rwx),读(r)、写(w)、执行(x)
      • 第一组:文件所有者的权限
      • 第二组:与文件所有者同一组的用户的权限
      • 第三组:不与文件所有者同组的其他用户的权限
  • 接下来的数字表示连接数,就是该目录下面的目录的个数,包括隐藏的.和..目录
  • 第一个root表示用户
  • 第二个root表示用户所在的组
  • 在后面就分别是文件大小与最后修改时间,最后就是文件名

  • 权限修改

    • chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
    • chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
    • chmod a+r abc:给所有用户添加读的权限
    • chmod 755 abc:赋予abc权限rwxr-xr-x(用数字表示为:r=4,w=2,x=1)

Linux上安装JDK?

  • 从windows上传压缩包到Linux
    • 使用sftp连接到远程主机( sftp 主机名 或者在工具里按快捷键 alt + p )
      • pwd 查看在目标机器工作目录,上传后的文件就在这里,可以使用 cd 指令切换
      • lpwd 查看在本机的工作目录,下载后的文件就在这里,可以使用 lcd 切换
    • put jdk安装包路径 (路径不要带中文)
  • 解压到指定目录 (比如:/usr/local)
    • tar -zxvf 压缩包路径 -C 目标路径(目标路径不存在则需要先创建:mkdir xxxxx)
  • 配置环境变量
    • vi /etc/profile(打开保存环境变量的文件)
    • 在最后面加入以下语句:

      export JAVA_HOME=jdk路径
      export PATH=$PATH:\$JAVA_HOME/bin:$JAVA_HOME/jre/bin
      然后保存并退出vi编辑器

    • source /etc/profile(使用该指令重新加载一次环境变量,使新配置的环境变量生效)
  • 输入 java -version 检验jdk是否安装成功
    • 看到以下内容表示安装成功

【大数据】基于大数据平台的日志分析系统 Day1-Linux与虚拟机