Linux中常见命令:
ping命令:可测试网络是否通畅。ping命令使用的是网络层的ICMP协议,但从命令本身来看是属于第七层应用层。
traceroute:电脑网络工具,可显示数据包在IP网络经过的路由器的IP地址。 iostat命令可以查看磁盘IO状态。
free命令查看的是内存占用情况,可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
uptime命令:能够打印系统总共运行了多长时间和系统的平均负载。uptime可以显示的信息依次为:现在时间,
系统已经运行了多长时间,目前有多少个登录用户,系统在过去1,5,15分钟内的平均负载。
top命令:性能分析工具,能够实时显示系统中各个进程的资源占用情况,top命令用于显示当前进程的状况。 uptime -v 指定版本信息
lsof命令:一个列出当前系统的打开文件工具,Linux一切皆文件,每行显示一个打开的文件,若不指定条件默认 将显示进程的所有文件。
mount命令:可以查看磁盘的挂载状态。 du:统计目录(或文件)所占磁盘空间的大小。 df:用于显示文件系统的磁盘使用情况。
vmstat:命令报告关于内核线程,虚拟内存,磁盘陷阱和CPU活动的统计信息。 getconf PAGE_SIZE查看Linux内存页,一般为4KB。
mkdir -p 表示创建目录A并创建目录B usermod -u/-g 修改用户id和组id
TOP参数:监控系统负载工具:
s:修改进程刷新时间间隔 m:根据内存占有率进行排序 c:根据CPU占有率进行排序 u:后面跟用户名 大写P:结果按CPU占用降序排序
大写M:按内存占有降序排序
PS参数:进程管理
a 关于当前shell运行的所有进程 X | -A 所有进程,X显示状态,-A不显示 f 显示进程从属关系 e 显示进程调用环境工具的详细信息 l
长列表显示进程的详细信息 u 显示进程的用户信息 -a 显示shell前台运行命令的进程 ps ax --sort = %mem 按照内存负载排序
Linux下ps -ef 和 ps aux的区别:
ps aux 是用BSD的格式来显示Java这个进程。 ps -ef 是用标准格式显示Java进程
find命令:
find命令删除指定大小的文件: find /var/mail/ -size +50M -exec rm -fr {} \;
find命令查找最近修改的当前目录下的.php文件: find . -name '*.php' -mtime 0 查找指定大小和类型 find /etc
-size +1M -type f 找出并删除七天前的文件 find /tmp/ -type f -mtime +7 -print -exec rm -f
{} \; -exec 指出要执行后面的系统命令;\结束符
tcpdump抓包工具:
tcpdump可以将网络层中的数据包的头完全截获下来提供分析。 抓包存取: tcpdump -i eth1 host 172.16.7.206 and
port 80 -w /tmp/
网关,DNS,selinux:
使用genenforce查看selinux状态,/etc/sysconfig/selinux进行配置 修改网关: 1.更改配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0 2.命令: route add default gw ... dev
eth0 修改DNS: vim /etc/resolv.conf
shell中的特殊字符:
$0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。 $# 这个程式的参数个数 $$
这个程式的PID(脚本运行的当前进程ID号) $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号) $? 执行上一个指令的返回值
(显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误) $- 显示shell使用的当前选项,与set命令功能相同 $@ 跟$*类似,但是可以当作数组用
iptables:
iptables是一款开放源代码完全自由的基于包过滤的防火墙工具,可以对流入流出服务器的数据包进行精细控制,主要
工作在OSI七层中的二、三、四层。iptables运用内核的layer7模块。
iptables的四表五链:
Filter表:过滤数据包 NAT表:用于网络地址转换(IP、端口) Mangle表:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw表:决定数据包是否被状态跟踪机制处理 INPUT链——进来的数据包应用此规则链中的规则 OUTPUT链——外出的数据包应用此规则链中的规则
FORWARD链——转发数据包时应用此规则链中的规则 PREROUTING链——对数据包作路由选择前应用此链中的规则
POSTROUTING链——对数据包作路由选择后应用此链中的规则 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT iptables -A INPUT -p tcp -s
192.168.1.2 -j DROP -j 指定ACCEPT接受,或者DROP不接受
--dport目标端口,当数据从外部进入服务器为目标端口,反之,数据从服务器出去,使用--sport


nginx为啥叫做反向代理服务器?:
反向代理方式是指以代理服务器来接受客户端的连接请求,然后将请求转发到网络上的web服务器(apache,nginx等),
并将从web服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器。而且nginx作为
反向代理服务器可以根据用户请求的内容转发到不同的后端服务器。
正向代理:
一个标准的代理缓冲器用于缓冲静态网页,当页面被再次访问时,浏览器将直接从本地代理服务器获取请求数据
而不向原web站点请求数据,只需在每一个内部主机指明IP地址和端口号,客户端上网时,每次交给代理服务器即可。
memcache:
1.由于网络的高并发读写需求,传统的关系型数据库出现瓶颈。需要对数据库的高并发读写,对海量数据的处理。
通常把查询的结果保存到memcache中,下次访问时直接从memcache中读取,而不再进行数据库的查询操作, 这样很大程度减轻了数据库的负担。
redis和memcache的区别:
1.redis中,并不是所有的数据都一直存储在内存中的,这是和memcache的最大区别。
2.redis多方面具备数据库的特征,或者说是一个数据库系统,而memcache只是一个简单的k/v缓存。 3.他们的扩展都需要做集群。
4.redis和memcache都是内存数据库。
5.memcache只支持简单的key/value的数据结构。无法进行持久化数据不能备份。redis支持多种数据结构,支持持久化操作。
如何交换a和b的数值:
1.不引入第三变量交换: a=a+b b=a-b a=a-b 2.引入第三个变量交换: c=a a=b b=c
Linux开机启动过程:
1.BIOS加电自检。 2.读取MBR主引导记录 3.运行引导程序grub加载kernel镜像初始化。
4.根据/etc/inittab中系统初始化配置执行/etc/rc.sysinit脚本。 5.根据第三步读到的运行级别(runlevel)值启动对应服务。
0:关机 1:单用户 2:无网络的多用户 3:命令行模式 4:未用 5:GUI图形化模式 6:重启 who -r 显示当前运行级别以及系统当前时间。
runlevel显示当前运行级别 init3/init5切换模式 6.运行/etc/rc.d/rc.local 7.生成终端等待用户登录。
Linux进程的三种状态:
运行态:占有CPU,并在CPU上运行。 就绪态:已经具备运行条件,但由于没有空闲CPU,暂时不能运行。 等待态:因等待某一件事而暂时不能运行,如等待读盘结果。
软链接和硬链接的区别:
硬链接: 文件有相同的inode及data block。 不能交叉文件系统进行硬链接的创建。 不可对目录,只可对文件创建。
删除硬链接并不影响其他有相同inode号文件。 软链接: 软链接有自己的文件属性和权限。 可对不存在的文件和目录创建软链接。 软链接可交叉文件系统。
软链接可对文件/目录创建。 创建软链接时,链接计数i_nlink不会增加。
删除软链接并不影响被指向的文件,但若被指向的文件被删除,则相关软链接就变成了死链接,若被指向路径的文件被重 新创建,死链接可以恢复。
Linux下的压缩命令:
1.gzip etc.tar压缩成gz格式。 gunzip etc.tar.gz 解压gz格式的压缩包 2.bzip2 etc.tar 压缩成bz2的格式
bunzip2 etc.tar.bz2 解压bz2格式压缩包 3.xz etc.tar 压缩成xz格式 unxz etc.tar.xz 解压xz格式压缩包
4.zip -r etc.tar.zip etc.tar 压缩成zip格式 unzip etc.tar.zip 解压zip格式压缩包
5.compress压缩.z文件 uncompress解压.z文件
Linux可以查阅全部文件的三个命令:
cat,more,less more命令:可以让屏幕在显示满一个屏幕时,按空格键可以继续显示下一个画面或按Q键停止。 less命令:可以分页显示文件。
cat命令:一次显示整个文件。
定时任务:
* * * * * command表示格式 分钟 小时 天 月 周 命令

交换分区:
在内存小于2G的情况下,交换分区应为内存的2倍,超过2G的话,交换分区为物理内存加上2G。
运维的工作用途:
1.保障系统的正常用途。 2.保障数据的安全可靠。 3.负责服务的稳定性,确保服务可以7*24小时不间断的为用户提供服务。
4.确保系统架构的优化来节约成本。 5.确保自动化部署。
man的级别:
1.查看命令的帮助 2.查看可被内核调用函数的帮助。 3.查看函数和函数库的帮助。 4.查看特殊文件的帮助。 5.查看配置文件的帮助。 6.查看游戏的帮助。
7.查看其它杂项的帮助。 8.查看系统管理员可用命令的帮助。
DNS高速缓存服务:
DNS解析过程: 1.本地客户机提出域名解析请求,查找本地HOST文件后将该请求发送给本地域名服务器。
2.当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项服务器返回查询结果。
3.如果本地DNS缓存没有该记录,则本地域名服务器将请求发给根域名服务器,然后根域名服务器 再返回给本地域名服务器一个所查询的主域名服务器地址。
4.本地域名服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存。 5.重复第4步。
6.本地域名服务器把返回的结果保存到缓存以备下一次使用,将结果返回客户机。
DNS的递归查询和迭代查询:
(1)递归查询 递归查询是一种服务器的查询方式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结果
回复客户机,如果DNS服务器本地没有存储的DNS信息,那么该服务器就会询问其他服务器,并将返回的查询结果 交给客户机。客户机和服务器之间的查询是递归查询。
(2)迭代查询 DNS服务器向客户机提供其他能够解析的DNS服务器地址,当客户机发送查询请求时,DNS服务器并不直接回复
查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS服务器提供请求,依次循环直到查询到结果为止, 服务器之间的查询是迭代查询。
输入一个URL之后,发生的事情:
1.浏览器向DNS服务器查找输入URL对应的IP地址。 2.DNS服务器返回网站的IP地址。
3.浏览器根据IP地址与目标web服务器在80端口上建立TCP连接。 4.浏览器获取请求页面的HTML页码。 5.浏览器在显示窗口渲染HTML
6.窗口关闭时,浏览器终止与服务器的连接。
DHCP:动态主机配置协议
作用于OSI的应用层,可以从指定的DHCP服务器获取配置信息的协议(IP地址,子网掩码,dns,网关) DHCP的运作方式:(53端口)
客户端传播广播包给整个物理网段内的所有主机,如局域网内有DHCP服务器时,才会响应客户端的IP参数要求 所以DHCP服务器与客户端应在同一个物理网段内。
Apache的三种工作模式:
prework MPM/worker MPM 多路处理模块 Event MPM 可处理更高的负载
常见的HTTP状态码:
200-ok 服务器成功返回网页 301 请求的网页已经永久跳转到新位置 403-Forbidden 禁止访问,服务器拒绝请求 404- Not found
服务器找不到请求的页面 500以及500之后的都是内部服务器错误 可以用 curl -I www.baidu.com 查看状态码
HTTP长连接和短连接:
短连接:客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束中断连接。
长连接:用以保持连接特性,当一个网页打开完成,客户端和服务器的连接不会关闭, 再次访问时会继续使用已建立的连接。
HTTP协议中Get和Post的区别:
Get用于获取查询/信息,Post方法用于资源的更新。
1.get提交的数据放在url之后,以?分割url和传输数据,post方法把提交的数据放在HTTP包的Body中。
2.get提交的数据大小有限制,post方法提交的数据无限制。 3.get方法涉及安全问题。
HTTPS和HTTP的区别:
HTTPS以安全为目标HTTP通道,HTTP是超文本传输协议,无状态,信息明文传输。HTTPS是HTTP+SSL
协议构建的可进行加密传输,身份认证的网络协议,比HTTP协议安全。HTTP的端口是80,HTTPS的端口是443。
FTP服务的工作原理:
FTP服务是一种有连接的文件传输服务,采用的传输层协议是TCP协议。FTP服务的基本过程是:
建立连接、传输数据与释放连接。由于FTP服务的特点是数据量大、控制信息相对较少,因此在设计时采用
分别对控制信息与数据进行处理的方式,这样用于通信的TCP连接也相应地分为两种类型:控制连接与数据连接。
其中,控制连接用于在通信双方之间传输FTP命令与响应信息,完成连接建立、身份认证与异常处理等控制操作; 数据连接用于在通信双方之间传输文件或目录信息。
FTP的20和21端口:
一个是数据端口,一个是控制端口,控制端口为21,数据端口不一定为20,如果主动模式为20,如果是 被动模式,需要服务器和客户端商定即可。
FTP的主动模式:
主动模式FTP:   主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端口--21端口。然后客户端 在N+1(N+1
>= 1024)端口监听,并且通过N+1(N+1 >= 1024)端口发送命令给FTP服务器。服务器会反过来连接 用户本地指定的数据端口,比如20端口。
以服务器端防火墙为立足点,要支持主动模式FTP需要打开如下交互中使用到的端口: FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接)
FTP服务器命令(21)端口到客户端端口(>1023)(服务器响应客户端命令)
FTP服务器数据(20)端口到客户端端口(>1023)(服务器初始化数据连接到客户端数据端口)
FTP服务器数据(20)端口接受客户端端口(>1023)(客户端发送ACK包到服务器的数据端口)

在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器
给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据
端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。
主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单
的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部 系统建立到内部客户端的连接,这是通常会被阻塞的。
FTP的被动模式:
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做
PASV,当客户端通知服务器它处于被动模式时才启用。
在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙
过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和N+1)。第一个端口连接服务
器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。
这样做的结果是服务器会开启一个任意的非特权端口(P >; 1024),并发送PORT P命令给客户端。然后客户端发起从本地
端口N+1到服务器的端口P的连接用来传送数据。 对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:
FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接) FTP服务器命令(21)端口到客户端端口(>1023)(服务器响应客户端命令)
FTP服务器数据端口(>1023)接受客户端端口(>1023)(客户端初始化数据连接到服务器指定的任意端口)
FTP服务器数据端口(>1023)到客户端端口(>1023)(服务器发送ACK响应和数据到客户端的数据端口)

在第1步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”。然后在第2步中,服务器返回 命令"PORT
2024",告诉客户端(服务器)用哪个端口侦听数据连接。在第3步中,客户端初始化一个从自己的数据 端口到服务器端指定的数据端口的数据连接。最后服务器在第4
步中给客户端的数据端口返回一个"ACK"响应。 被动方式的FTP解决了客户端的许多问题,但同时给服务器端带来了更多的问题。最大的问题是需要允许从任意远程
终端到服务器高位端口的连接。幸运的是,许多FTP守护程序,包括流行的WU-FTPD允许管理员指定FTP服务器使用 的端口范围。
第二个问题是客户端有的支持被动模式,有的不支持被动模式,必须考虑如何能支持这些客户端,以及为他们提供
解决办法。例如,Solaris提供的FTP命令行工具就不支持被动模式,需要第三方的FTP客户端,比如ncftp。
随着WWW的广泛流行,许多人习惯用web浏览器作为FTP客户端。大多数浏览器只在访问ftp://这样的URL时才支持
被动模式。这到底是好还是坏取决于服务器和防火墙的配置。
nginx的几种算法:
1.轮询:每个请求按时间顺序逐一分配到不同的后端服务器。如果后端服务器down掉,则自动剔除。
2.weight:指定轮询几率,weight和访问几率成正比,用于后端不均的情况。
3.ip_hash:每个请求按访问的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题。
4.fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5.url_hash(第三方):按访问的url的hash结果来分配请求,使每个url定向到一个后端服务器,后端服务器为缓存时有效。
nginx和apache的对比:
nginx相对于apache的优点: 轻量级,同样是web 服务,比apache 占用更少的内存及资源 抗并发,nginx
处理请求是异步非阻塞的,而apache 则是阻塞型的 一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。
epoll网络IO 模型是nginx 处理性能高的根本理由。 Nginx 配置简洁, Apache 复杂 。Nginx 静态处理性能比 Apache 高
3倍以上 。 Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用。Apache 的组件比 Nginx 多。
最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接 可以对应一个进程
。一般动态请求要apache去做,nginx只适合静态和反向。
Ansible和Saltstack的简单对比:


文件权限位:


LVS的调度原理:
lvs由前端的负载均衡器和后端的真实服务器集群组成,RS间可通过局域网和广域网连接。LVS的这种架构对用户是透明的,
用户只能看见一台作为LB的虚拟服务器,而看不到提供服务的真实RS群,当用户的请求发往虚拟服务器。LB根据设定的包转
发策略和负载均衡算法将用户请求转发给RS,RS再将用户请求结果返回给用户。
LVS的调度算法:
1.RR:轮叫调度,通过轮叫算法将外部请求按顺序分配到集群中的真实服务器。 2.WRR:加权轮叫,自动询问真实服务器情况,并动态调整权值。
3.DH:目标散列地址调度,从散列表中找出对应服务器,若该服务器可用且未超载,将请求发送到该服务器。
4.SH:源地址hash,根据源地址从散列表中找出对应服务器,若该服务器可用且未超载,将请求发送到该服务器。
5.LC:最小链接,将网络请求分配到链接数最小的服务器。 6.WLC:加权最小链接调度器,自动问询真实服务器情况动态调整其权值。
LVS的四种模式:
1.lVS/NAT(地址翻译实现虚拟服务器) 调度器接受到客户端的请求之后,根据调度算法,将客户端的的请求发送给服务器,服务器处理完请求,查看默认路由
(NAT模式下需要将服务器的默认网关设置为调度器),LB接受到响应包以后,将源IP进行修改,然后将响应数据发送给 客户端。
2.lVS/TUN(用IP隧道技术实现虚拟服务器)
比起NAT技术,由于请求和响应都需要通过LB进行地址的改写,那么当客户端的请求越来越多的时候,LB的处理能力就会
成为一个瓶颈。为了解决这个问题,LB通过IP隧道,将客户端的请求通过IP隧道,发送给真实的服务器,服务器处理完请求
之后,将响应请求的IP改为LB的IP,然后将响应报文发送给客户端。 3.lVS/DR(用直接路由技术实现虚拟服务器)
DR模式是通过改写请求报文的目的MAC地址,将请求发送给真实服务器,服务器将响应消息直接发送给客户端。 4.lVS/FULLNAT
相比于NAT的局域网,FULLNAT是相对于没有那么局限,它是限制在内网中的。对于运维比较方便。
LVS的四种模式的优缺点和应用场景:
1.lVS/NAT的优缺点 <1>优点: 对后端的操作系统没有要求; 只需要一个IP地址配置在调度器上,服务器组可以用私有IP地址; 支持端口映射;
<2>缺点: 请求和响应都需要通过LB,伸缩能力有限(一般后面能连接10台左右服务器) 需要服务器和LB在同一个局域网中; 需要将服务器的默认网关设置为LB;
2.lVS/TUN的优缺点 <1>优点: 不需要调度应答报文,负载能力强; 服务器和调度器可以不在同一个VLAN中; 支持广域负载均衡; <2>缺点:
所有的服务器必须支持“IP Tunneling”协议,需安装内核模块,安装复杂; 建立IP隧道的开销大; 服务器需要联通外网,风险较大; 不支持端口映射;
3.lVS/DR的优缺点 <1>优点: 与TUN相比,没有IP隧道的开销,性能较高; <2>缺点: 要求LB和服务器都有一块网卡连在同一个物理网段中;
不支持端口映射; 4.四种模式的使用场景: VS/NAT:小并发的实验性应用、mysql集群; VS/TUN:广域网负载; VS/DR:大众方式;
VS/FULLNAT:人少钱多;
lvs,nginx,haproxy三种负载均衡软件:
合理的架构方案:web前端采用nginx/haproxy+keepalived作负载均衡器,后端采用mysql数据库-主多从和读写
分离,采用lvs+keepalived架构。 LVS:
四层负载均衡,建立在OSI的第四层--传输层之上,LVS支持TCP/UDP负载均衡,四层报文地址主要通过报文 中的目标地址和端口。 nginx:
强大的web服务器软件,用于处理高并发的http请求和作为反向代理服务器作负载均衡。具有高性能,轻量级, 内存消耗少,强大的负载均衡能力(七层负载均衡)
haproxy: haproxy支持两种代理模式(TCP四层)和HTTP(七层),也是支持虚拟主机的支持session保持,cookie的引导
支持通过获取指定的URL来检测后端服务器状态。从效率来讲haproxy比nginx有更出色的负载均衡速度,在并发处理
上优先nginx,支持TCP协议的负载均衡转发,可以对mysql读进行负载均衡。
ELK日志分析平台:
通过日志信息了解服务器软硬件信息,检查配置过程中的错误以及错误发生的原因。 1.ES是一个开源的分布式搜索服务器。
2.logstash可对日志进行过滤分析。
3.kibana是一个es的前端展示工具,可以为logstash和es提供日志分析的web界面,可以帮助汇总分析和搜索重要的日志。 工作原理:
logstash收集APP server产生的日志信息,并存放到ES集群中,而kibana则从ES集群中查询数据生成图表返回用户。
zabbix监控平台:
zabbix可以配置触发器,图表,仪表盘等图形化,可结合onealert实现云告警,在zabbix界面进行部署,可添加对应的报警媒介
类型。我们可以模拟报警,在一个节点关闭zabbix-agent服务,在网页会相应地显示报警的严重性,同时在onealert绑定的邮箱
也会收到报警信息,会有待处理信息,当恢复节点功能才可恢复。 优点:
配置简单,支持多语言,有丰富的图形化界面,可以自动发现网络设备,分布式监控,email通知等功能。
zabbix可监控的服务信息:
1.nginx监控,zabbix配置相应的监控项和图形。
2.percona为数据库服务器进行了改进,提升了高负载下的Innodb性能,为DBA提供了非常有用诊断工具。
3.apache-tomcat(jsp配置jdk环境)部署监控,zabbix配置相应接口,模板,更新即可。
运维常见的词汇:
devops:是一组过程方法系统的统称,用于促进开发,技术运营的协作与整合。 dev(开发人员)+ops(运维人员) ITIT:互联网解决方案提供商。
SRE:网络可靠性工程师,软件工程师和系统管理的结合。
云计算:是基于互联网相关服务的增加,使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
stp:生成树协议,通常在交换机之间传递一种特殊的报文,网桥协议数据单元来确定网络拓扑结构。
keepalived工作原理:
keepalived是集群管理中保证高可用的一个服务软件,用来防止单点故障,这种故障切换是通过VRRP协议来实现的,主节点
在一定的时间间隔中发送心跳信息的广播包,告诉自己的存活状态信息,当主节点发生故障时,各从节点在一段时间内收到广
播包,从而判断主节点是否发生了故障,因此会调用自己的接管程序来接管主节点的IP资源和服务,当主节点恢复时,备节点
会主动释放资源,恢复到接管前状态,从而实现主备故障切换。
ps aux中VSZ代表什么意思?RSS代表什么意思?
VSZ:虚拟内存集。RSS:物理内存集
cdn内容分发网络:
尽可能的避开网路上影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快更稳定。通过在网络上放置节点服务器
所构成的在现有互联网基础上的一层智能虚拟网络,cdn系统能实现实时的根据网络流量和各节点的负载情况以及到用户
的距离和响应时间等综合信息将用户的请求重新导向到最近的服务器上面。 varnish高性能反向代理服务器,作为cdn的缓存服务器。MISS-->
HIT命中--->未命中 age缓存周期为120秒,命中之后到了120周期就会变成未命中。
gitlab+jenkins自动化部署搭建:
gitlab是一个代码仓库,用来管理代码。jenkins是一个自动化服务器,可以运行各种自动化构建测试和部署任务,
两者结合起来,可以实现开发者提交代码到gitlab,jenkins以一定的频率自动运行测试,构建和部署的任务,使开发 团队更高效的集成和发布代码。
git部署:gie是一个分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目,不需要上网,每个人电脑都有
一个完整的版本库,每个人所做的修改各自推送给对方即可。
jenkins的默认端口是8080,安装插件配置免密,在每次推送信息时,jenkins可看到相应的推送标志,还可以在控制台 看到对应的输出。
Linux内核及优化:
sysctl命令用来配置与显示/proc/sys目录中内核参数,/etc/sysctl.conf文件来永久保存参数。
awk命令:
awk求和: cat data | awk '{sum+=$1}END{print "sum=",sum}' awk求平均: cat data | awk
'{sum+=$1}END{print "Average=",sum/NR}' awk求最大值: cat data | awk
'BEGIN{max=0}{if ($1>max) max=$1 fi } END {print "max=",max}' awk求最小值: cat data
| awk 'BEGIN{min=999999999}{if ($1<min) min=$1 fi} END {print "min=",min}'
shell中的头文件含义:
#!/bin/bash是指此脚本使用/bin/bash解释器执行,#!是一个特殊的表示符,其后跟着此脚本的shell路径,bash是
shell的一种,还有很多shell,如sh,csh...
Docker容器:
时代的造就,我们正处于一个云计算异常迅猛的时代,云计算又是所有移动互联网,IT以及未来消费者行业的基础。
由于每一个虚拟机都有一个完整的操作系统,一个操作系统至少占有5GB空间,但是操作系统又是非必须的我们关心
的是虚拟主机提供的服务,这就是docker轻量级主机的优势所在。 创建容器: docker run -it --name vm1 ubuntu bash
数据挖掘的一般过程:
1.数据集选取和构造 2.数据预处理 3.数据转换 4.数据建模 5.结果分析和改进
LFS系统通过优盘上启动:
1.建立宿主系统环境。 2.宿主系统版本太高,编译gcc用gcc-4.4。 3.建立分区 fdisk /dev/sdb n:建立一个新的分区
a:命令a将第一个分区设成可启动的。 w:将新的分区信息写入设备。 格式化:mkfs -t ext4 /dev/sdb1 挂载引导安装
chatter命令:用来改变文件属性
a:让文件或目录仅供附加用途 b:不更新文件或目录的最后存取时间 c:将文件或目录压缩后存放 d:将文件和目录排除在倾倒操作之内 i:不得任意修改文件或目录
s:保密性删除文件或目录 S:即时更新文件或目录 u:预防意外删除。
Hadoop的底层架构搭建:
Hadoop是一个用于海量数据统计分析的分布式计算框架,封装了分布式计算中比较困难的进程间通信、 负载均衡,任务调度等模块,降低了学习门槛。
Hadoop的核心就是HDFS和MapReduce: HDFS文件系统原理: 也是分为master和salve 1.保存多个副本,且提供容错机制
2.运行在廉价的机器 3.适合大数据的处理 MapReduce:
通俗说MapReduce是一套从海量·源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到
硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。
Hadoop的搭建是通过nfs文件共享系统来实现的,Hadoop端口50070,yarn:8088,hbase:16000,16010端口。
Hadoop配置jdk环境,在进行master端的配置,本地提交信息网页可以查看。在master端配置集群节点信息,
在网页相应的可以看到集群节点信息。挂载的方式使得主从信息同步。