0


原来你是这样的Hadoop!

文章目录


仅代表个人作业


一、Hadoop 生态圈组件介绍

Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。
Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:
在这里插入图片描述
1.1.HDFS(分布式文件系统)
HDFS是整个hadoop体系的基础,负责数据的存储与管理。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

1.2.MapReduce(分布式计算框架)
MapReduce是一种基于磁盘的分布式并行批处理计算模型,用于处理大数据量的计算。其中Map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,Reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

1.3.Spark(分布式计算框架)
Spark是一种基于内存的分布式并行计算框架,不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

1.4.Flink(分布式计算框架)
Flink是一个基于内存的分布式并行处理框架,类似于Spark,但在部分设计思想有较大出入。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。

Flink VS Spark

Spark中,RDD在运行时是表现为Java Object,而Flink主要表现为logical plan。所以在Flink中使用的类Dataframe api是被作为第一优先级来优化的。但是相对来说在spark RDD中就没有了这块的优化了。
Spark中,对于批处理有RDD,对于流式有DStream,不过内部实际还是RDD抽象;在Flink中,对于批处理有DataSet,对于流式我们有DataStreams,但是是同一个公用的引擎之上两个独立的抽象,并且Spark是伪流处理,而Flink是真流处理。`

1.5.Yarn/Mesos(分布式资源管理器)
YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。
Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache项目,当前有一些公司使用Mesos管理集群资源,比如Twitter。与yarn类似,Mesos是一个资源统一管理和调度的平台,同样支持比如MR、steaming等多种运算框架。

1.6.Zookeeper(分布式协作服务)
解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。

1.7.Sqoop(数据同步工具)
Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

1.8.Hive/Impala(基于Hadoop的数据仓库)
Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。
Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。 它是一个用C ++和Java编写的开源软件。 与Apache Hive不同,Impala不基于MapReduce算法。 它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。因此执行效率高于Apache Hive。

1.9.HBase(分布式列存储数据库)
HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。
HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。
HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

1.10.Flume(日志收集工具)
Flume是一个可扩展、适合复杂环境的海量日志收集系统。它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。

1.11.Kafka(分布式消息队列)
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。实现了主题、分区及其队列模式以及生产者、消费者架构模式。
生产者组件和消费者组件均可以连接到KafKa集群,而KafKa被认为是组件通信之间所使用的一种消息中间件。KafKa内部氛围很多Topic(一种高度抽象的数据结构),每个Topic又被分为很多分区(partition),每个分区中的数据按队列模式进行编号存储。被编号的日志数据称为此日志数据块在队列中的偏移量(offest),偏移量越大的数据块越新,即越靠近当前时间。生产环境中的最佳实践架构是Flume+KafKa+Spark Streaming。

1.12.Oozie(工作流调度器)

**
Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。它能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。
Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。
Oozie使用hPDL(一种XML流程定义语言)来描述这个图。
————————————————

二、mapreduce概述

1.1 MapReduce定义
MapReduce是一个分布式运算程序的编程框架,其核心功能为把用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在Hadoop集群上。

1.2 MapReduce优缺点
1.2.1 优点
(1)易于编程
它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的 PC 机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。

(2)良好的扩展性
当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。

(3)高容错性
MapReduce 设计的初衷就是使程序能够部署在廉价的 PC 机器上,这就要求它具有很高
的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行, 不至于这个任务运行失败,而且这个过程不需要人工参与,而完全是由 Hadoop 内部完成的。

(4)适合PB级以上海量数据的离线处理
可以实现上千台服务器集群并发工作,提供数据处理能力。

1.2.2 缺点
(1)不擅长实时计算
MapReduce 无法像 MySQL 一样,在毫秒或者秒级内返回结果。

(2)不擅长流式计算
流式计算的输入数据是动态的,而 MapReduce 的输入数据集是静态的,不能动态变化。
这是因为 MapReduce 自身的设计特点决定了数据源必须是静态的。

(3)不擅长DAG(有向无环图)计算
多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出。在这种情况下,
MapReduce 并不是不能做,而是使用后,

每个 MapReduce 作业的输出结果都会写入到磁盘, 会造成大量的磁盘 IO,导致性能非常的低下。

MapReduce核心思想


1.分布式的运算程序往往需要分成至少2个阶段。

    第一个阶段的MapTask并发实例,完全并行运行,互不相干。

  第二个阶段的ReduceTask并发实例互不相干,但是他们的数据依赖于上一个阶段的所有MapTask并发实例的输出。

(2)MapReduce编程模型只能包含一个Map阶段和一个Reduce阶段,如果用户的业务逻辑非常复杂,那就只能多个MapReduce程序,串行运行。
————————————————

三,spark技术特点和概述

1. spark的特点
a. spark是继Hadoop的MapReduce之后,最具影响的大数据框架之一。

与Hadoop相比,Spark基于Mapreduce将计算的中间结果内存化并引入DAG(有向无环图)执行引擎。

是对Mapreduce的重大改进,中间数据压缩保存到内存,运算时间会比磁盘低两个数量级。
是对RDD的建模,描述了RDD之间的依赖关系。
b. Spark生态系统是以Spark core(RDD)为核心提供计算框架。

无论是Spark SQL、Spark Streaming、GraphX还是MLlib,都可以使用Spark核心API处理问题,它们的方法几乎是通用的,处理的数据也可以共享,对数据的无缝集成大大提高了灵活性。

Spark最核心的数据结构只有一种:RDD(Resilient Distributed Dataset,弹性分布式数据集

),从API上来说,它和普通集合几乎完全相同,但是它却抽象了分布式文件系统中的文件,可以说RDD是一个分布式的集合。

c. 微批的流计算

Spark Streaming将流式计算分解成一系列短小的批处理计算,并且提供高可靠和吞吐量服务。

d. 函数式编程思想

函数式接口
Spark API同样提供了map、reduce、filter等算子(operator)来构建数据处理管道,用户的业务逻辑以高阶函数的形式定义,用户通过高阶函数与算子之间的组合,像搭积木一样,构建了整个作业的执行计划。

惰性求值
Spark的算子分为两类,转换(transform)算子和行动(action)算子,只有行动算子才会真正触发整个作业提交并运行。

容错
spark job由一个个算子结合起来,算子之间的依赖称为血缘。通过保存血缘关系和上游数据集,当下游出现问题时,可利用这两者进行计算恢复。这利用了函数(血缘依赖)在给定参数(上游数据)的情况下一定能得到既定输出(下游数据)的特性。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/hiliang521/article/details/126961384

2. spark的知识范畴

在这里插入图片描述
Spark是一种由Scala语言开发的快速、通用、可扩展的大数据分析引擎
Spark Core中提供了Spark最基础与最核心的功能
Spark SQL是Spark用来操作结构化数据的组件。通过Spark SQL,用户可以使用SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。
Spark Streaming是Spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的API。
由上面的信息可以获知,Spark出现的时间相对较晚,并且主要功能主要是用于数据计算,所以其实Spark一直被认为是Hadoop 框架的升级版。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/mengxianglong123/article/details/121274745

四.mapreduce和spark的区别

Spark和MapReduce都是可以处理海量数据,但是在处理方式和处理速度上存在着差异,总结如下:

1.spark处理数据是基于内存的,而MapReduce是基于磁盘处理数据的

MapReduce是将

中间结果保存到磁盘中,减少了内存占用,牺牲了计算性能。

Spark是

将计算的中间结果保存到内存中,可以反复利用,提高了处理数据的性能

2.Spark在处理数据时构建了DAG有向无环图,减少了shuffle和数据落地磁盘的次数


Spark 计算比 MapReduce 快的根本原因在于 DAG 计算模型。一般而言,DAG 相比MapReduce 在大多数情况下可以减少 shuffle 次数。Spark 的 DAGScheduler 相当于一个改进版的 MapReduce,如果计算不涉及与其他节点进行数据交换,Spark 可以在内存中一次性完成这些操作,也就是中间结果无须落盘,减少了磁盘 IO 的操作。但是,如果计算过程中涉及数据交换,Spark 也是会把 shuffle 的数据写磁盘的!有一个误区,Spark 是基于内存的计算,所以快,这不是主要原因,要对数据做计算,必然得加载到内存,Hadoop 也是如此,只不过 Spark 支持将需要反复用到的数据给 Cache 到内存中,减少数据加载耗时,所以 Spark 跑机器学习算法比较在行(需要对数据进行反复迭代)

3.Spark是粗粒度资源申请,而MapReduce是细粒度资源申请

粗粒度申请资源指的是在提交资源时,spark会提前向资源管理器(yarn,mess)将资源申请完毕,如果申请不到资源就等待,如果申请到就运行task任务,而不需要task再去申请资源。

MapReduce是细粒度申请资源,提交任务,task自己申请资源自己运行程序,自己释放资源,虽然资源能够充分利用,但是这样任务运行的很慢。
在这里插入图片描述

————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/u013963379/article/details/106460616

五.结构化数据与非结构化数据

##**

1. 什么是结构化数据*

大多数人都熟悉结构化数据的工作原理。结构化数据,可以从名称中看出,是高度组织和整齐格式化的数据。它是可以放入表格和电子表格中的数据类型。它可能不是人们最容易找到的数据类型,但与非结构化数据相比,无疑是两者中人们更容易使用的数据类型。另一方面,计算机可以轻松地搜索它。

结构化数据也被成为定量数据,是能够用数据或统一的结构加以表示的信息,如数字、符号。在项目中,保存和管理这些的数据一般为关系数据库,当使用结构化查询语言或SQL时,计算机程序很容易搜索这些术语。结构化数据具有的明确的关系使得这些数据运用起来十分方便,不过在商业上的可挖掘价值方面就比较差。

典型的结构化数据包括:信用卡号码、日期、财务金额、电话号码、地址、产品名称等。


2.什么是非结构化数据

非结构化数据本质上是结构化数据之外的一切数据。它不符合任何预定义的模型,因此它存储在非关系数据库中,并使用NoSQL进行查询。它可能是文本的或非文本的,也可能是人为的或机器生成的。简单的说,非结构化数据就是字段可变的的数据。

非结构化数据不是那么容易组织或格式化的。收集,处理和分析非结构化数据也是一项重大挑战。这产生了一些问题,因为非结构化数据构成了网络上绝大多数可用数据,并且它每年都在增长。随着更多信息在网络上可用,并且大部分信息都是非结构化的,找到使用它的方法已成为许多企业的重要战略。更传统的数据分析工具和方法还不足以完成工作。

典型的非结构化数据包括:文字处理、电子表格、演示文稿、电子邮件、日志。

3.结构化数据与非结构化数据有何区别

从上文的解释中,结构化和非结构化数据之间的差异逐渐变得清晰。除了存储在关系数据库和存储非关系数据库之外的明显区别之外,最大的区别在于分析结构化数据与非结构化数据的便利性。针对结构化数据存在成熟的分析工具,但用于挖掘非结构化数据的分析工具正处于萌芽和发展阶段。

并且非结构化数据要比结构化数据多得多。非结构化数据占企业数据的80%以上,并且以每年55%~65%的速度增长。如果没有工具来分析这些海量数据,企业数据的巨大价值都将无法发挥。

六,Linux简单操作命令实训练习

  1. pwd 命令 格式:pwd 功能:显示当前所在目录(即工作目录)。 [root@localhost ~]# pwd /root

  2. ls 命令 格式:ls [选项] [文件|目录] 功能:显示指定目录中的文件或子目录信息。当不指定文件或目录时,显示 当前工作目录中的文件或子目录信息。 命令常用选项如下: -a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来。 -l :长格式显示,包含文件和目录的详细信息。 -R :连同子目录内容一起列出来。 说明:命令“ls –l”设置了别名:ll,即输入 ll 命令,执行的是 ls –l 命令。 [root@localhost ~]# ls -a / . bin dev home lib64 mnt proc run srv tmp var … boot etc lib media opt root sbin sys usr [root@localhost ~]# ls -l / 总用量 20 lrwxrwxrwx. 1 root root 7 12月 20 2021 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 12月 20 2021 boot drwxr-xr-x. 20 root root 3280 12月 20 2021 dev [root@localhost ~]# ls -R /home/ /home/:

3.cd 命令
格式:cd <路径>
功能:用于切换当前用户所在的工作目录,其中路径可以是绝对路径也可以
是相对路径。
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd …
[root@localhost sysconfig]# ls
anaconda cpupower init kernel network-scripts selinux
authconfig crond ip6tables-config man-db rdisc sshd
cbq ebtables-config iptables-config modules readonly-root
wpa_supplicant
chronyd firewalld irqbalance netconsole rsyslog
console grub kdump network run-parts
[root@localhost sysconfig]# cd ./network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]#

4.mkdir 命令
格式: mkdir [选项] 目录
功能:用于创建目录。创建目录前需保证当前用户对当前路径有修改的权
限。参数 -p 用于创建多级文件夹。
[root@localhost ~]# mkdir test
[root@localhost ~]# ls
anaconda-ks.cfg test
[root@localhost ~]# mkdir -p /test/test1/test2

5.rm 命令
格式: rm [选项] <文件>
功能:用于删除文件或目录,常用选项-r -f,-r 表示删除目录,也可以用于
删除文件,-f 表示强制删除,不需要确认。删除文件前需保证当前用户对当
前路径有修改的权限。
[root@localhost ~]# rm -rf /test/

6.cp 命令
格式: cp [选项] <文件> <目标文件>
功能:复制文件或目录。
[root@localhost ~]# cp /etc/profile ./
[root@localhost ~]# ls
anaconda-ks.cfg profile test

7.mv 命令
格式:mv [选项] <文件> <目标文件>
功能:移动文件或对其改名。常用选项-i -f -b,-i 表示若存在同名文件,则向用户
询问是否覆盖;-f 直接覆盖已有文件,不进行任何提示;-b 当文件存在时,覆盖
前为其创建一个备份。
[root@localhost ~]# ls
anaconda-ks.cfg profile test
[root@localhost ~]# mv profile test/
[root@localhost ~]# ls test/
Profile

8.cat 命令
格式:cat [选项] [文件]
功能:查看文件内容。常用选项:-n 显示行号(空行也编号)。
[root@localhost ~]# cat -n test/profile
1 # /etc/profile
2
3 # System wide environment and startup programs, for login setup
4 # Functions and aliases go in /etc/bashrc

9.tar 命令
格式:tar [选项] [档案名] [文件或目录]
功能:为文件和目录创建档案。利用 tar 命令,可以把一大堆的文件和目录
全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便
于网络传输是非常有用的。该命令还可以反过来,将档案文件中的文件和目
录释放出来。
常用选项:
-c 建立新的备份文件。
-C <目录> 切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于
仅压缩特定目录里的内容或解压缩到特定目录。
-x 从归档文件中提取文件。
-z 通过 gzip 指令压缩/解压缩文件,文件名为*.tar.gz。
-f<备份文件> 指定备份文件。
-v 显示命令执行过程。
[root@localhost ~]# ls
anaconda-ks.cfg test
[root@localhost ~]# tar -cvf test.tar test
test/
test/profile

10.useradd 命令
格式:useradd 用户名
功能:创建新用户,该命令只能由 root 用户使用。
[root@localhost ~]# useradd teacher
[root@localhost ~]# id teacher
uid=1000(teacher) gid=1000(teacher) 组=1000(teacher)

11.passwd 命令
格式:passwd 用户名
功能:设置或修改指定用户的口令。
[root@localhost ~]# passwd teacher
更改用户 teacher 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

12.chown 命令
格式:chown [选项]
功能:将文件或目录的拥有者改为指定的用户或组,用户可以是用户名或者
用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件
列表支持通配符。选项“-R”表示对目前目录下的所有文件与子目录进行相同
的拥有者变更。
[root@localhost ~]# chown teacher:teacher test.tar.gz
[root@localhost ~]# ll
总用量 20
-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 root root 21 11月 9 23:19 test
-rw-r–r–. 1 root root 10240 11月 10 00:01 test.tar
-rw-r–r–. 1 teacher teacher 1008 11月 10 00:02 test.tar.gz
[root@localhost ~]# chown -R teacher:teacher test
[root@localhost ~]# ll
总用量 20
-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11月 9 23:19 test
-rw-r–r–. 1 root root 10240 11月 10 00:01 test.tar
-rw-r–r–. 1 teacher teacher 1008 11月 10 00:02 test.tar.gz
[root@localhost ~]# ll test/
总用量 4
-rw-r–r–. 1 teacher teacher 1795 11月 9 23:17 profile


1.4.2.4. 步骤四:chmod 命令
格式:chmod [-R] 模式 文件或目录
功能:修改文件或目录的访问权限。选项“-R”表示递归设置指定目录下的所
有文件和目录的权限。
模式为文件或目录的权限表示,有三种表示方法。
(1) 数字表示
用 3 个数字表示文件或目录的权限,第 1 个数字表示所有者的权限,第 2个
数字表示与所有者同组用户的权限,第 3 个数字表示其他用户的权限。每类
用户都有 3 类权限:读、写、执行,对应的数字分别是 4、2、1。一个用户
的权限数字表示为三类权限的数字之和,如一个用户对 A 文件拥有读写权
限,则这个用户的权限数字为 6(4+2=6)。
示例:
[root@localhost ~]# chmod 764 test.tar.gz
[root@localhost ~]# ll
总用量 20
-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11月 9 23:19 test
-rw-r–r–. 1 root root 10240 11月 10 00:01 test.tar
-rwxrw-r–. 1 teacher teacher 1008 11月 10 00:02 test.tar.gz

(2)字符赋值
用字符 u 表示所有者,用字符 g 表示与所有者同组用户,用字符 o 表示其他
用户。用字符 r、w、x 分别表示读、写、执行权限。用等号“=”来给用户赋
权限。
示例:
[root@localhost ~]# chmod u=rwx,g=rw,o=r test.tar.gz
[root@localhost ~]# ll
总用量 20
-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11月 9 23:19 test
-rw-r–r–. 1 root root 10240 11月 10 00:01 test.tar
-rwxrw-r–. 1 teacher teacher 1008 11月 10 00:02 test.tar.gz

(3)字符加减权限
用字符 u 表示所有者,用字符 g 表示与所有者同组用户,用字符 o 表示其他
用户。用字符 r、w、x 分别表示读、写、执行权限。用加号“+”来给用户加
权限,加号“-”来给用户减权限。
示例:
[root@localhost ~]# chmod u+x,g+x,o-w test.tar.gz
[root@localhost ~]# ll
总用量 20
-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11月 9 23:19 test
-rw-r–r–. 1 root root 10240 11月 10 00:01 test.tar
-rwxrwxr–. 1 teacher teacher 1008 11月 10 00:02 test.tar.gz

13.su 命令
格式:su [-] 用户名
功能:将当前操作员的身份切换到指定用户。如果使用选项“-”,则用户切换
后使用新用户的环境变量,否则环境变量不变。
[root@localhost ~]# su - teacher
[teacher@localhost ~]$ exit

14.vi命令
格式:vi [文件名]
功能:vi 是 Linux 的常用文本编辑器,vim 是从 vi 发展出来的一个文本编辑器,
其在代码补全、编译等方便的功能特别丰富,在程序员中被广泛使用。
vi/vim 有三个工作模式:
1.命令模式
用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被 vi
识别为命令,而非输入字符。以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到末行模式,用以在最底一行输入命令
[root@localhost ~]# cd test
[root@localhost test]# vi profile
之后输入 i、x 或:会有相应的效果
2.输入模式
在输入模式下可以对文件执行写操作,编写完成后按 Esc 键即可返回命令模式。
3.末行模式
如果要保存、查找或者替换一些内容等,就需要进入末行模式。以下是常用的几个命
令:
Set nu:每一行显示行号
r 文件名:读取指定的文件。
w 文件名:将编辑内容保存到指定的文件内。
q:退出 vi
wq:保存文件并退出 vi
q!:强制退出 vi,不管是否保存文档内容。
15.clear 命令
格式:clear
功能:清除屏幕。实质上只是让终端显示页向后翻了一页,如果向上滚动屏
幕还可以看到之前的操作信息。
[root@localhost test]# clear
16.hostname 命令
格式:hostname [选项]
功能:用于显示和设置系统的主机名称。在使用 hostname 命令设置主机名
后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机
名。如果需要永久修改主机名,需要同时修改/etc/hostname 的相关内容。
常用选项:
-a 显示主机别名,-i 显示主机的 ip 地址。
[root@localhost ~]# hostname
localhost

17.hostnamectl 命令
格式 1:hostnamectl
功能:显示当前主机的名称和系统版本。
格式 2:hostnamectl set-hostname
功能:永久设置当前主机的名称。
示例:
[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# bash
[root@master ~]#

18.ip 命令
CentOS 7 已不使用 ifconfig 命令,其功能可通过 ip 命令代替。
格式 1:ip link <命令选项> dev <设备名>
功能:对网络设备(网卡)进行操作,选项 add、delete、show、set 分别对
应增加、删除、查看和设置网络设备。
示例:
[root@master ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP mode DEFAULT qlen 1000
link/ether 00:0c:29:b7:35:be brd ff:ff:ff:ff:ff:ff
格式 2:ip address <命令选项> dev <设备名>
功能:对网卡的网络协议地址(IPv4/IPv6)进行操作,选项 add、change、
del、show 分别对应增加、修改、删除、查看 IP 地址。
示例: #这里将 address 缩写为 addr
[root@master ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP qlen 1000
link/ether 00:0c:29:b7:35:be brd ff:ff:ff:ff:ff:ff
inet 192.168.47.140/24 brd 192.168.47.255 scope global dynamic ens33
valid_lft 1610sec preferred_lft 1610sec
inet6 fe80::29cc:5498:c98a:af4b/64 scope link
valid_lft forever preferred_lft forever

#19.systemctl 命令
格式:systemctl <命令选项> service_name.service
功能:管理系统中的服务,“.service”表示管理的服务均包含了一个
以 .service 结尾的文件,存放于 /lib/systemd/目录中,可以省略。命令选项
有 start、restart、reload、stop、status,分别对应服务的启动、重启、重
新加载、停止和显示状态。另外选项 enable 表示开机时启动,disable 表示
撤销开机启动。
示例:
#启动网络服务
[root@master ~]# systemctl start network
#关闭防火墙,注意 CentOS 7 的防火墙服务名称改为 firewalld
[root@master ~]# systemctl stop firewalld
#查看 ssh 服务的状态
[root@master ~]# systemctl status sshd
#设置 ssh 服务开机启动
[root@master ~]# systemctl enable sshd

#20.reboot 命令
格式: reboot
功能:用于重新启动计算机,但是机器重启必须要 root 用户才有权限。
注意:本操作无需在平台系统执行
[root@master ~]# reboot

21.poweroff 命令
格式:poweroff
功能:用来关闭计算机操作系统并且切断系统电源。如果确认系统中已经没
有用户存在且所有数据都已保存,需要立即关闭系统,可以使用 poweroff
命令。
注意:本操作无需在平台系统执行
[root@master ~]# poweroff

22.export 命令
格式:export [选项] [变量名]
功能:用于将 Shell 变量输出为环境变量,或者将 Shell 函数输出为环境变
量。一个变量创建时,它不会自动地为在它之后创建的 Shell进程所知,而
命令export 可以向后面的 Shell 传递变量的值。当一个Shell 脚本调用并执行
时,它不会自动得到父脚本(调用者)里定义的变量的访问权,除非这些变
量已经被显式地设置为可用。export 命令可以用于传递一个或多个变量的值
到任何子脚本。
常用选项:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行
环境中。
-p 列出所有的 Shell 赋予程序的环境变量。
示例:
[root@master ~]# export -p #列出当前所有的环境变量
[root@master ~]# export MYENV=8 #定义环境变量,并赋值 MYENV=8

23.echo 命令
格式:echo [字符串]
功能:用于在终端设备上输出字符串或变量提取后的值。一般使用在变量前
加上符号的方式提取出变量的值,例如: 符号的方式提取出变量的值,例如:符号的方式提取出变量的值,例如:PATH然后再用 echo 命令予以
出。
示例:
#输出一段字符串 LinuxCool.com
[root@master ~]# echo “LinuxCool.com”
LinuxCool.com
#输出变量 PATH 值
[root@master ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

24.source 命令
格式:source [文件]
功能:用于重新执行刚修改的初始化文件,使之立即生效,而不必注销用
户,重新登录。
示例: #读取和执行/etc/profile 文件
[root@master ~]# source /etc/profile
——————————————————

提示:这是个人作业,看看就行!!!


本文转载自: https://blog.csdn.net/qq_66665894/article/details/136535815
版权归原作者 岁岁宜. 所有, 如有侵权,请联系我们删除。

“原来你是这样的Hadoop!”的评论:

还没有评论