BigBrother的大数据之旅 Day 1 Linux(1)

Today is a new day!

1 scala是大数据的主流编程语言

Scala是一种强大的JVM语言,混合了函数式和面向对象编程范式

2 大数据的本质为:分布式计算

3 大数据中常见的数据类型为 非结构化和半结构化数据

3.1 结构化数据
定义:业界指关系模型数据,即以关系数据库表形式管理的数据

简析:虽然专业角度上看,结构化就是关系模型的说法并不准确,但针对目前业内现状,还是定义为关系模型最为妥善,因为它准确的代表了我们传统上最熟悉的企业业务数据。

3.2 半结构化数据
定义:非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、Email等。

3.3 非结构化数据
定义:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等。

简析:区分半结构化与非结构化的意义在于,对两者的处理方法是不同的,非结构化数据大多采用内容管理方法,而半结构化数据基本没有有效的管理方法。

4 虚拟机配置

4.1 编辑网卡文件

​ vi /etc/sysconfig/network-scripts/ifcfg-eth0
​ DEVICE=eth0
HWADDR=00:0C:29:A0:D3:65
​ TYPE=Ethernet
UUID=b639c1a1-18aa-4194-8465-2dccda3e9abc
​ ONBOOT=yes
​ NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.62.101
NETMASK=255.255.255.0
​ GATEWAY=192.168.62.2

tip1 : 删除线是可以删除的

tip2: 可以添加DNS

​ DNS1=8.8.8.8

tip3:GATEWAY=192.168.62.2 这个地址为 vmware虚拟机

BigBrother的大数据之旅 Day 1 Linux(1)_第1张图片

4.2 配置 主机名称

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

更改hostname

4.3 删除绑定文件

/etc/udev/rules.d/70-persistent-net.rules

方法1:删除该文件

方法2:把该文件的第一行进行注释,第二行末尾添加(修改)为eth0,

​ 输入命令 start u_dev(或者startudev记不太清了)

tip:如果是删除文件一定要重启,如果是修改文件一定要重启 network 服务

5 虚拟机NAT原理

BigBrother的大数据之旅 Day 1 Linux(1)_第2张图片

6 操作系统组成

内核:分配管理

库:没有入口的软件,没有main方法,只能被其他调用

应用软件:至少有一个入口的软件

7 用户接口Shell

7.1 shell

shell 用户与计算机的交互接口,分为

GUI: 图像化接口 x-window(包括Gnome,KDE等)

CLI: 字符接口 bash ,bsh等

7.2 命令

命令是用户的执行入口

命令的格式: 命令 选项(-开头) 参数(可以是命令的作用对象)

命令中这三部分是用"空格"进行分开的,Linux命令是对空格比较敏感的

选项中

​ 短选项: - 多个选项可以组合:-a -b = -ab
​ 长选项: –

内部命令 外部命令
概念 shell内置的命令 非shell内置的命令
存在位置 内存 本地硬盘
使用的帮助命令 help man (yum -y install man man-pages进行安装,man中使用q退出)

内置命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。

而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存

外部命令也称为文件系统命令,是bash shell之外的程序,它并不是shell 的一部分。外部命令一般位于/bin、/usr/bin、/sbin或/usr/sbin中。

当执行外部命令时,Linux系统会创建出一个子进程(这种操作被称为衍生)。

为了演示,我们分析ps -f 的结果。

BigBrother的大数据之旅 Day 1 Linux(1)_第3张图片

上图结果所示:当执行ps时会创建出一个子进程9122(ps命令的PID是9122),其父PID 是9084。

作为父进程的bash shell的PID是9084。

BigBrother的大数据之旅 Day 1 Linux(1)_第4张图片

当进程必须执行衍生时,Linux系统需要消耗资料来设置新子进程的环境。

通过上面演示,得出结论:执行外部命令有额外的代价。

内部,外部命令的执行流程(从左向右)

BigBrother的大数据之旅 Day 1 Linux(1)_第5张图片

有些历史命令使用过后,会存在hash表,当你再输入该命令它的调用会是这样一个过程。

hash—>内置命令—>PATH

hash -r: 清除缓存

7.3 常用命令

enable 和type命令: 查看命令是内部命令还是外部命令

BigBrother的大数据之旅 Day 1 Linux(1)_第6张图片

tips: enable 命令中如果是内部的命令,不会有显示

​ enable -a 可以显示所有的内部命令

which命令 和whereis命令:查看命令的位置
BigBrother的大数据之旅 Day 1 Linux(1)_第7张图片

8 目录和路径

linux系统中一切皆文件

8.1 目录

•Filesystem Hierarchy Standard(文件系统层次化标准):跟文件系统:/

–/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)

–/dev: 设备文件

–/etc:配置文件

–/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME

–/root:管理员的家目录;

–/lib:库文件 :没有执行入口的应用程序

–/media:挂载点目录,移动设备

–/mnt:挂载点目录,额外的临时文件系统

–/opt:可选目录,第三方程序的安装目录

–/proc:伪文件系统,内核映射文件

–/sys:伪文件系统,跟硬件设备相关的属性映射文件

–/tmp:临时文件, /var/tmp

–/var:可变化的文件

–/bin: 可执行文件, 用户命令

–/sbin:管理命令

tips:tree 命令显示目录结构

8.2 路径

从起点到终点中间所用经过的目录

绝对路径和相对路径

9 echo命令

echo $PATH:显示当前环境变量

echo $LANG: 显示当前语言环境

echo $$:显示当前的bash进程号

10 df du 命令

BigBrother的大数据之旅 Day 1 Linux(1)_第8张图片

df -h: 显示挂载的分区

du -h: 显示文件的所占磁盘的大小

11 stat命令

查看文件的元数据

BigBrother的大数据之旅 Day 1 Linux(1)_第9张图片

1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。

2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。

3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令文件名。

12 touch 命令

touch 存在文件 刷新 文件的元数据描述的时间

touch 不存在的文件 创建一个文件

13 查看文件

cat :普通查看,不影响交互模式

more: 分页查看,一次性的

less:分页查看,支持向上向下操作,空格 向下,b向上

head -数字 , tail -数字 查看文件的开头或者结尾的几行

​ tips: head -6 文件 | tail -1 查看文件的第6行

14 linux 分区启动过程

a 进入BIOS

b 读取MBR

c Boot Loader 找到内核,把控制权给内核

内核文件都是以一种自解压的压缩格式存储以节省空间,它与一个初始化的内存映像和存储设备映射表都存储于 /boot 目录之下。

d 加载 systemd 进程(所有进程的父进程)

在过程中,首先挂载sda1分区,(boot分区)代替将来的/分区,在内核完毕后 ,挂载/分区,把sda1挂载到/boot中

参考文档:

结构,非结构化,半结构化数据

https://blog.csdn.net/qq_25353433/article/details/81451310

理解内置外置命令

https://blog.csdn.net/hidengxin/article/details/84708090

虚拟机NAT原理图

https://www.linuxidc.com/Linux/2017-09/147080.htm

stat命令

https://www.cnblogs.com/xuxiuxiu/p/6292825.html

linux 分区启动过程

https://linux.cn/article-8807-1.html

你可能感兴趣的:(大数据)