linux命令与Hadoop

异常情况

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

解决方式

删除显示的隐藏文件

rm -f .oldboy.txt.swp

  

出现的原因

编辑状态突然出现了中断

文件被多个人使用

总结

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

vi -r oldboy.txt

  

目录结构说明

结构特点说明

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

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

  

 

目录结构发展过程

一块盘:根目录

二块盘:/usr目录

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

 

重要目录数据信息说明

网卡配置文件

/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)

  

 

 

 

DNS服务设置方法

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

233.5.5.5

233.6.6.6

 

方法二:通用dns服务器

114.114.114.114

114.114.114.119

 

方法三:利用移动dns服务器

8.8.8.8

 

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

10.0.0.254

 

网卡域名配置解析文件

/etc/resolv.conf
vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 223.5.5.5

  

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

 

 

 

 

主机名称配置文件

centos6

/etc/sysconfig/network

  

centos7

/etc/hostname

  

 

 

 

修改主机名称

临时修改

利用命令修改主机名称

hostname  jasonNB

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

 

 

 

 

永久修改

编辑修改配置文件

vi /etc/hostname 
# centos7有特殊修改主机名称方式
hostnamectl set-hostname  oldboyds05

  

本地域名解析文件

etc/hosts

  

 

 

 

网站页面信息变更

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

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

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

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

 

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

10.0.0.200 www.jd.com # 指定映射关系

 

网络不通排查流程

确认网关地址是否通畅

确认网卡配置是否正确

确认网络管理服务关闭

systemctl stop NetworkManager
systemctl disable NetworkManager

  

etc目录下重要的数据文件

系统挂载信息表

/etc/fstab  # filesystem table

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

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

 

 

 

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

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

设备文件 挂载点

/dev/第一个分区 : /boot

/dev/第二个分区 : swap

/dev/第三个分区 : /

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

blkid # 查看磁盘分区

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

 

只能存放linux系统命令操作信息的文件

/etc/rc.local

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

 

开机自动备份

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

  

运维操作规范

操作之前进行检查

操作之前进行备份

操作之后进行确认

操作之后进行总结

 

具体操作

检查相应路径是否存在备份文件,有备份文件:进行删除

先在命令行进行测试执行

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

重启系统进行确认

 

系统启动运行级别

/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   修改了级别

  

 

 

 

配置环境变量信息或者别名信息文件

/etc/profile

  

 

 

 

环境变量特征

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

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

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

第一个里程:定义变量

[root@jasonNB ~]# oldboy=123

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

[root@jasonNB ~]# echo $oldboy

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

[root@jasonNB ~]# oldboy=456

[root@jasonNB ~]# echo $oldboy

 

专门用于设置别名信息

/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 家规

 

用户登陆系统之后提示信息

/etc/motd

  

 

 

 

用户登陆系统之前提示信息

/etc/issue /etc/issue.net

[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系统如何安装软件(四种方式)

 

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

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

yum install -y tree vim bash-completion

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

yum reinstall -y tree vim bash-completion

 

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 擦出==删除


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

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

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

 

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

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 # 记录系统挂载信息

 

 

 

系统相关优化

性能优化

安全优化

编码优化

 

了解自己的系统情况

cat /etc/redhat-release

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

 

 

 

在系统中创建用户信息

创建用户

useradd jason01

passwd jason01

切换用户状态管理主机

su - jason01 # su == switch user

进行检查确认

whoami

 

 

 

 

环境变量

特征

由大写字母组成

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

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

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

echo $PS1

 

 

修改环境变量:

第一个里程:临时修改

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

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

第二个里程:永久修改

vim /etc/profile

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

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

 

下载软件优化操作

需要修改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/

需要修改yum扩展源epel源

第二个特殊的软件仓库

# epel Extra Packages for Enterprise Linux

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

检查测试

yum install -y bash-completion-extras

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

yum repolist

 

大数据的概念

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

海量:数据量一定要大

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

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

 

研究大数据的目的

海量数据的存储

海量数据的分析计算

 

重要的度量单位

bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB

 

 

 

Hadoop

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

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

2006正式的诞生,标志着大数据时代的到来

 

 

 

 

Hadoop主要版本

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就是将每个节点完成的小人物汇总到一起

 

技术生态圈

数据来源层

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

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

 

posted @ 2021-10-27 23:18  wddwyw  阅读(166)  评论(0编辑  收藏  举报