1、高等学校信息技高等学校信息技术术人才能力培养系列教材大数据技术基础与实战BigDataTechnologyFoundationandPractices主讲人目录1.大数据的概念与基本特性2.大数据处理流程3.Hadoop大数据技术4.实践环境准备大数据的概念与基本特性1BigDataBigData大数据的概念与基本特性当前各行各业都尝试通过大数据技术对产业进行升级、改造,从而出现了工业大数据、金融大数据、环境大数据、医疗健康大数据、教育大数据等新概念。在实际使用大数据的过程中,人们对大数据的概念及价值有了新的认识。本章在介绍大数据的概念与基本特性的基础上,介绍大数据处理流程及Hadoop大数据
2、技术,并对实践开发需要的VirtualBox的安装与配置进行介绍。BigDataBigData大数据的概念与基本特性大数据是指在一定时间内,无法用常规软件工具对其内容进行抓取、处理、分析和管理的数据集合。大数据中的数据一般会涉及两种以上的数据形式。大数据有4个特性规模性(Volume)、多样性(Variety)、高速性(Velocity)、价值性(Value),简称4V特性。BigDataBigData大数据的概念与基本特性(2)多样性:指大数据承载信息的数据形式多样、繁杂。可将大数据分为结构化、非结构化和半结构化数据。结构化数据,如财务系统数据、信息管理系统数据、医疗系统数据等,其特点是数据
3、间因果关系强;非结构化的数据,如图片、音频、视频等,其特点是数据间没有因果关系;半结构化数据,如HTML文档、邮件、网页等,其特点是数据间的因果关系弱。(1)规模性:指大数据的规模大。大数据的存储单位已经从过去的GB、TB,发展到PB、EB。随着网络和信息技术的高速发展,数据开始爆发式增长。不仅社交网络、移动网络、各种智能终端等都成为数据的来源,企业也面临着自身数据的大规模增长。BigDataBigData大数据的概念与基本特性(4)价值性:指大数据的信息密度低,而价值高。大数据最大的价值在于可从大量不相关的多样数据中,挖掘出对未来趋势与模式预测分析有价值的数据,并通过机器学习方法、人工智能方
4、法或数据挖掘方法深度分析,发现新规律和新知识并将之运用于农业、金融、医疗等各个领域,从而最终达到改善社会治理、提高生产效率、推进科学研究的目的。(3)高速性:指大数据被创建、移动、使用的速度快。为满足企业快速创建数据、处理与分析数据、实时反馈的需求,大数据越来越依赖高速处理器或服务器。大数据处理流程2BigDataBigData大数据处理流程一般而言,我们可以将大数据处理流程分为4个步骤:数据采集、数据导入与清洗处理、数据统计与数据分析、数据挖掘和应用,如图所示。这4个步骤看起来与一般的数据处理分析没有太大区别,但实际上大数据的数据集更多、更大,数据相互之间的关联也更多,需要的计算量更大,通常
5、依赖分布式系统采用分布式计算的方法完成。BigDataBigData大数据处理流程1数据采集数据采集数据采集强调数据全体性、完整性,而不是抽样调查。需要依靠合理的分流、公有云等架构方法,才能保证每一个数据准确和有用。在大数据的采集过程中,其主要特点和挑战是并发数高其主要特点和挑战是并发数高。2数据导入与清洗处理数据导入与清洗处理采集好的数据,其中肯定有不少是重复的或无用的数据,此时需要通过技术手段对数据进行处理,将这些来自前端的数据导入集中的大型分布式数据库,并进行简单的清洗和预处理工作。而这个过程中最大的挑战是导入的数据规模十分庞大最大的挑战是导入的数据规模十分庞大。BigDataBigDa
6、ta大数据处理流程3数据统计与数据分析数据统计与数据分析数据统计与数据分析需要用工具来处理,比如可视化工具、SPSS工具、一些结构算法模型,并进行分类、汇总以满足企业的数据分析需求。这个过程最大的特点最大的特点是目的清晰,按照一定规则去分类、汇总,才能得到有效的分析结果目的清晰,按照一定规则去分类、汇总,才能得到有效的分析结果,这也很耗费系统资源。4数据挖掘和应用数据挖掘和应用采集数据的最终目的无疑是通过挖掘数据背后的联系,分析原因并找出规律,然后将之应用到实际业务中。数据挖掘是指在通过各种算法对前面几个步骤中的数据进行计算分析后,预测结果、大胆假设,使用数据验证并得出结论。数据挖掘过程的主要
7、挑战是挖掘算法复杂,计算涉及的数据量和计算量都很大主要挑战是挖掘算法复杂,计算涉及的数据量和计算量都很大。大数据处理的实现至少需要上述4个基本步骤,不过有关细节、工具的使用、数据的完整性等需要结合业务、行业特点和时代变化等不断更新。Hadoop大数据技术3BigDataBigDataHadoop大数据技术大数据技术涉及大数据处理的各个阶段,包括采集、存储、计算处理和可视化等,而Hadoop则是一个集合了大数据不同阶段技术的生态系统。1.3.1Hadoop简介Hadoop来自ApacheLucene搜索引擎子项目Nutch。Google公司为了解决其搜索引擎中大规模Web网页数据的处理问题,提出
8、了MapReduce大规模数据并行处理技术。2006年,关键技术从Nutch项目中分离出来,成为一套独立的大规模数据处理软件系统,并命名为“Hadoop”。Hadoop生态圈不仅包含HadoopCommon、HDFS、HadoopYARN、HadoopMapReduce等组件,还包含Ambari、Avro、Cassandra、Chukwa、HBase、Hive、Flume、Mahout、Pig、Spark、Tez、MLlib、Tachyon、ZooKeeper等。下面简单介绍Hadoop大数据技术核心组件。BigDataBigDataHadoop大数据技术核心组件1HDFSHadoop分布式文
9、件系统(HadoopDistributedFileSystem,HDFS)源于Google公司发表于2003年10月关于Google文件系统(GoogleFileSystem,GFS)的论文,是Hadoop体系中数据存储管理的基础。HDFS是一个高度容错的系统,能检测和应对硬件故障,能够运行在低成本的硬件上。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序的数据访问功能,适合带有大型数据集的应用程序。HDFS提供了一次写入、多次读取的机制,数据以块的形式,同时分布在集群的不同物理机上,具有很高的读取效率和很强的容错性。HDFS的架构是基于一组特定的节点构建的,这是由它自身
10、的特点决定的。这些节点包括一个NameNode和若干个DataNode。其中,NameNode在HDFS内部提供元数据服务,DataNode为HDFS提供存储块服务。BigDataBigDataHadoop大数据技术核心组件2MapReduceMapReduce是一种用于大数据计算的分布式计算框架,源于Google公司在2004年12月发表的MapReduce论文。MapReduce屏蔽了分布式计算框架的细节,将计算抽象成映射(Map)和规约(Reduce)两部分。其中Map对数据集上的独立元素进行指定的操作,生成键值(KeyValue)对形式的中间结果。Reduce则对中间结果中相同“键”的
11、所有“值”进行规约,以得到最终结果。MapReduce非常适合在大量计算机组成的分布式并行环境里处理数据。BigDataBigDataHadoop大数据技术核心组件3HBaseHBase是一个建立在HDFS之上,面向列并针对结构化数据的可伸缩、高可靠、高性能、分布式的动态模式数据库,源于Google公司在2006年11月发表的Bigtable论文。HBase采用增强的稀疏排序映射(键值对)表,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读/写访问。HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。HBase是Goog
12、leBigtable的开源实现,将HDFS作为其文件存储系统,利用MapReduce处理HBase中的海量数据,将ZooKeeper作为协同服务。4YARN另一种资源协调者(YetAnotherResourceNegotiator,YARN)是由第一代经典MapReduce演变而来的,主要是为了解决原始Hadoop扩展性较差、不支持多计算框架而提出的。YARN是一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。BigDataBigDataHadoop大数据技术核心组件5HiveHive是Facebook公司开源的、基于Hadoop的一个数据仓库,最初用于解决海量结构化的日志
13、数据统计问题。Hive使用类结构化查询语言(StructuredQueryLanguage,SQL)的Hive查询语言(HiveQueryLanguage,HQL)实现数据查询,并将HQL转化为在Hadoop上执行MapReduce任务(Task)。Hive用于离线数据分析,可让不熟悉MapReduce的开发人员使用HQL实现数据查询分析,降低了大数据处理应用的门槛。Hive本质上是基于HDFS的应用程序,其数据都存储在Hadoop兼容的文件系统(例如,AmazonS3、HDFS)中。6FlumeFlume是Cloudera公司开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特
14、点。Flume将数据从产生、传输、处理并最终写入目标路径的过程抽象为数据流。在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。同时,Flume不仅能对日志数据进行过滤、格式转换等简单处理,也能够将日志写入各种数据目标。BigDataBigDataHadoop大数据技术核心组件7SparkSpark是一个更快、更通用的数据处理平台。最早Spark是加州大学伯克利分校AMP实验室(UCBerkeleyAMPLab)开源的类MapReduce的通用并行计算框架。和Hadoop相比,Spark可以让程序在内存中运行的速度提升约100倍,或者在磁盘上运行的速度提升约
15、10倍。8SparkStreamingSparkStreaming支持对流数据的实时处理,以“微批”的方式对实时数据进行计算。它是构建在Spark上处理流数据的框架,基本原理是将流数据分成小的时间(几秒)片断,以类似批量(Batch)处理的方式来处理小部分数据,也可以用于准实时计算。BigDataBigDataHadoop大数据技术核心组件9MLlib机器学习库(MachineLearningLibrary,MLlib)提供了多种常用算法,这些算法用来在集群上处理分类、回归、聚类、协同过滤等。MLlib是Spark常用的机器学习算法的实现库,同时包括相关的测试和数据生成器。Spark的设计初衷
16、就是为了支持一些迭代的作业(Job),这正好符合很多机器学习算法的特点。10TachyonTachyon是以内存为中心的分布式存储系统,诞生于加州大学伯克利分校AMP实验室。它拥有高性能和容错能力,并具有类Java的文件应用程序接口(ApplicationProgramInterface,API)、插件式的底层文件系统、兼容MapReduce和ApacheSpark等特征,能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。Tachyon充分使用内存和文件对象之间的“血统”(Lineage)信息,速度很快,官方称最高比HDFS吞吐量高约300倍。BigData
17、BigDataHadoop大数据技术1.3.2Hadoop的发行版本的发行版本Hadoop版本包括ApacheHadoop(又称社区版)和第三方发行版Hadoop,其中ApacheHadoop是一款支持数据密集型分布式应用并以Apache2.0许可协议发布的开源软件框架。第三方发行版Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改。很多厂家在ApacheHadoop的基础上开发自己的Hadoop产品。公司公司Hadoop产品品ClouderaCDHMapRMapRAmazonAmazonElasticMapReduce华为FusionInsightBigDataBigData
18、Hadoop的发行版本1Cloudera公司的公司的CDH在Hadoop生态系统中,规模最大、知名度最高的公司之一则是Cloudera。Cloudera公司提供的CDH拥有强大的Hadoop部署、管理和监控工具,以及众多的部署案例,Cloudera公司开发、贡献了可实时处理大数据的Impala项目。2MapR公司的公司的MapRMapR与其竞争产品相比,使用了一些不同的概念,特别是为了获取更好的性能和易用性,支持本地UNIX文件系统而不是HDFS。可以使用本地UNIX命令来代替Hadoop命令。除此之外,MapR的产品还凭借诸如快照、镜像或有状态的故障恢复之类的高可用性特性来与其竞争产品相区别
19、。3Amazon公司的公司的AmazonElasticMapReduceAmazonElasticMapReduce(EMR)是一个托管的解决方案,其运行在由Amazon弹性计算云和Amazon简易存储服务组成的云基础设施之上。如果需要一次性或不常见的大数据处理,选择EMR可能会节省大笔开支。EMR默认只包含了Hadoop生态系统中的Pig和Hive项目,并优化为使用S3中的数据。EMR上的文件I/O相比于物理机上Hadoop集群或私有EC2集群来说会慢很多,并有更大的延时。BigDataBigDataHadoop的发行版本4华为公司的华为公司的FusionInsight华为公司的Fusion
20、Insight大数据平台,能够帮助企业快速构建海量数据信息处理系统,通过对企业内部和外部的巨量信息数据进行实时与非实时的分析挖掘,发现全新价值点和企业商机。FusionInsight是完全开放的大数据平台,可运行在开放的x86架构服务器上。它以海量数据处理引擎和实时数据处理引擎为核心,并针对金融、通信等数据密集型行业的运行维护、应用开发等需求,打造了敏捷、智慧、可信的平台软件、建模中间件及运营管理系统(OperationManagementSystem,OMS),让企业可以更快、更准、更稳地从各类繁杂、无序的海量数据中发现价值。FusionInsight还集成了企业知识引擎和实时决策支持中心等
21、功能。丰富的知识库和分析套件工具、全方位企业实时知识引擎和决策中心,能够帮助运营商在瞬息万变的数字商业环境中快速决策,实现敏捷的商业成功。开发者合作伙伴可以在华为FusionInsight上,基于大数据的各类商业应用场景,比如增强型商务智能(BusinessIntelligence,BI)、客户智能和数据开放,为金融、通信等行业的客户实现数据的价值效率提升和收入提升。BigDataBigDataHadoop的发行版本FusionInsight整体架构BigDataBigDataHadoop的发行版本第三方发行版针对社区版的不足以及自身企业优势进行优化,有以下优点。(1)基于Apache协议,1
22、00%开源。(2)版本管理清晰。(3)在兼容性、安全性、稳定性上有所增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量地运行到各种生产环境。(4)版本更新快。通常情况,比如CDH每个季度会有一个更新,每一年会发布一个新版本。(5)基于稳定版ApacheHadoop,并应用了最新的bug修复或Feature的补丁。(6)提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。(7)运维简单。提供了管理、监控、诊断、修改配置的工具,管理配置方便,定位问题快速、准确,使运维工作简单、有效。尽管第三方发行版有诸多优势,本书依然采用社区版作为教学环境,旨在帮助学
23、生深入理解Hadoop的基本知识。实践环境准备4BigDataBigData实践环境准备VirtualBox是一个很受欢迎的开源虚拟机软件,可以在其官方网站下载最新版本,如图所示。本书实践的物理机使用Windows操作系统,选择Windowshosts选项下载VirtualBox的Windows版本安装文件(VirtualBox-5.2.18-124319-Win.exe),并从CentOS官网下载CentOS7的Minimal镜像文件(CentOS-7-x86_64-Minimal-1804.iso)。BigDataBigData实践环境准备(1)安装VirtualBox之前,首先需要确认B
24、IOS中的Virtualization选项已经开启。双击VirtualBox安装文件以完成安装,并启动VirtualBox,VirtualBox主界面如图所示。(2)单击左上角的“新建”按钮新建虚拟机。如图所示,在弹出的对话框中填写名称,并选择类型和版本。名称填写为hadoop,类型选择Linux,版本选择RedHat(64-bit),单击“下一步”按钮。注意,如果版本中没有64位的选项,首先确定当前主机是否支持64位系统;如果不支持,则只能安装32位系统。BigDataBigData实践环境准备(3)设置虚拟机内存为2048MB,可以拖动滑动条改变内存大小,单击“下一步”按钮。(4)设置虚拟
25、硬盘,选择“现在创建虚拟硬盘”选项,单击“创建”按钮。(5)虚拟硬盘文件类型选择VDI,如所示。VDI是VirtualBox的基本格式,目前仅VirtualBox软件支持这种文件类型。设置好后单击“下一步”按钮。(6)设置虚拟硬盘文件的存放方式。如果磁盘空间较大,就选择“固定大小”,这样可以获得较好的性能;如果硬盘空间比较“紧张”,就选择“动态分配”。单击“下一步”按钮。(7)设置虚拟硬盘文件的位置和大小。选择一个容量充足的磁盘来存放虚拟硬盘文件,因为该文件通常都比较大,然后单击“创建”按钮。BigDataBigData实践环境准备(8)这样,一个“空壳”虚拟机就创建好了,其基本信息如图所示。
26、接下来开始安装CentOS7。单击左上角的“启动”按钮来启动虚拟机。BigDataBigData实践环境准备(9)在“选择启动盘”对话框中选择下载好的CentOS7镜像文件后,单击“启动”按钮。(10)用上、下方向键来选择InstallCentOS7,然后按Enter键。(11)选择安装过程中使用的语言,默认选择English(UnitedStates)。单击“Continue”按钮。(12)配置基本信息,单击“BeginInstallation”按钮。此处由于使用了CentOSMinimal镜像文件,默认最小化安装,只安装系统基本的安装包,不包含XWindows和桌面管理器。后续如果需要使用
27、相关的安装包,都可以通过YUM、RPM等工具进行安装。单击INSTALLATIONDESTINATION配置项,进入系统的分区设置。单击左上角的“Done”按钮,使用默认的自动分区设置。BigDataBigData实践环境准备返回安装界面,单击“BeginInstallation”按钮开始安装,如图所示。BigDataBigData实践环境准备(13)如图1-19所示,安装时可一边安装一边设置root密码和创建用户。弱密码需要双击“Done”按钮,界面下方有提示信息。(14)安装完成后,重启进入系统,输入设置好的root密码登录。输入cat/etc/redhat-release命令查看系统版本
28、为CentOS7.5,如右图所示。至此,完成了基于VirtualBox的Linux虚拟机的安装任务。BigDataBigData习题1简述大数据的4V特性。2简述大数据处理流程并思考每个步骤所解决的问题。3简述Hadoop核心组件及其主要功能。4使用VirtualBox创建CentOS虚拟机。高等学校信息技高等学校信息技术术人才能力培养系列教材Linux基础与集群搭建Linuxfoundationandclusterconstruction主讲人目录1.Linux常用命令2.网络配置3.Linux集群配置4.快速配置Linux集群Linux常用命令 1BigDataBigDataLinux基础
29、与集群搭建 1创建用户为Linux操作系统创建用户的基本命令为useradd和passwd,分别用于创建用户和设置用户密码。在Linux命令行界面,root用户提示符用“#”表示,普通用户提示符用“$”表示。本书部分注释用“%”开头。使用root用户创建hadoop用户的示例命令如下:#useradd hadoop#passwd hadoop1.1 用户和用户组BigDataBigDataLinux基础与集群搭建 创建用户命令结果如下:BigDataBigDataLinux基础与集群搭建 2创建用户组Linux文件系统的安全管理权限有用户组管理权限,可以通过groupadd命令创建用户组,以方
30、便用户管理。#groupadd testgroup%创建建test用用户组BigDataBigDataLinux基础与集群搭建 在创建用户test时将其增加到用户组testgroup中的命令如下:#useradd-g testgroup test%创建建 test用用户并将其增加到并将其增加到testgroup用用户组中中Linux也支持给已有的用户增加用户组,命令如下#groupadd testgroup%创建建test用用户组BigDataBigDataLinux基础与集群搭建 3永久删除用户和用户组Linux支持userdel和groupdel删除用户和用户组,命令示例如下:#userd
31、el test#userdel r test%删除用除用户的主目的主目录和和邮件池件池#groupdel testgroup1.1 用户和用户组BigDataBigDataLinux基础与集群搭建永久删除用户和用户组操作示例如图:BigDataBigDataLinux基础与集群搭建 1切换目录切换目录用cd命令,命令的用法如下:#cd/home%进入入 home 目目录#cd.%返回上返回上级目目录#cd./.%返回上两返回上两级目目录#pwd%显示当前工作目示当前工作目录名称名称1.2 文件与目录BigDataBigDataLinux基础与集群搭建 2查看目录中的文件信息查看目录中的文件信息
32、用ls命令,用法示例如下:#ls a%查看看当当前前目目录下下的的所所有有文文件件(包包括括隐藏藏文件)文件)#ls al%显示文件的示文件的详细信息信息#ls alrt%按按时间显示示文文件件(l表表示示详细列列表表,r表表示示反反向排序,向排序,t表示按表示按时间排序)排序)BigDataBigDataLinux基础与集群搭建 3文件或目录复制可以用cp命令进行文件或目录复制,命令示例如下:#cp file1 file2%将将file1复制复制为file2#cp-a dir1 dir2%复制一个目复制一个目录(包括目(包括目录下所有子目下所有子目录和文件)和文件)#cp-a/tmp/dir
33、1.%复制一个目复制一个目录到当前工作目到当前工作目录(.代表当前目代表当前目录)BigDataBigDataLinux基础与集群搭建 cp命令操作示例如图:BigDataBigDataLinux基础与集群搭建 4文件或目录的创建、移动、删除创建、移动、删除文件或目录涉及mkdir、mv和rm这3个命令。用法示例如下:#mkdir dir1%创建建 dir1 目目录#mkdir dir1 dir2%同同时创建两个目建两个目录#mkdir-p/tmp/dir1/dir2%创建一个目建一个目录树#mv dir1 dir2%移移动/重命名一个目重命名一个目录#rm-f file1%删除文件名除文件名
34、为 file1 的文件的文件#rm-rf dir2%删除除 dir2 目目录及其子目及其子目录的内容的内容BigDataBigDataLinux基础与集群搭建 文件或目录的创建、移动、删除操作示例如图BigDataBigDataLinux基础与集群搭建 5查看文件内容可以使用cat、tac和more命令查看文件内容。cat命令按照文本文件的行顺序依次显示文件内容;tac命令是“cat”反向拼写,表示从最后一行开始倒序依次显示文本文件的内容。more命令可以分页显示文本文件内容。用法示例如下:#cat file1%从第一行开始正向从第一行开始正向查看文件的内容看文件的内容#tac file1%从
35、最后一行开始反向从最后一行开始反向查看一个文件的内容看一个文件的内容#more file1%查看一个看一个长文件的内容文件的内容1.2 文件与目录BigDataBigDataLinux基础与集群搭建 6文本内容处理在Linux下经常需要从文本文件中查找相关字符串,或比较文件的差异。常用命令为grep和diff命令。#grep str/tmp/test%在文件在文件/tmp/test 中中查找找 str#grep str/tmp/test%在文件在文件/tmp/test 中中查找以找以str开始的行开始的行#grep 0-9/tmp/test%查找找/tmp/test 文件中所有包含数字的行文件
36、中所有包含数字的行#grep str-r/tmp/*%在目在目录/tmp 及其子目及其子目录中中查找找str#diff file1 file2%找出两个文件的不同找出两个文件的不同处#sdiff file1 file2%以以对比的方式比的方式显示两个文件的不同示两个文件的不同处1.2 文件与目录BigDataBigDataLinux基础与集群搭建 文本内容处理操作示例如图:BigDataBigDataLinux基础与集群搭建 7Vim文件编辑操作Vim是Linux操作系统常用的文本编辑器(Linux操作系统自带Vi编辑器,Vim为其升级版,需要通过yuminstallvim命令安装后才能使用)
37、。Vim有命令模式(CommandMode)、插入模式(InsertMode)和底行模式(LastLineMode)3种工作模式。BigDataBigDataLinux基础与集群搭建 命令模式:在此模式下只能控制光标的移动,进行文本的删除、复制等文字编辑工作,以及进入插入模式,或者回到底行模式。插入模式:只有在插入模式下,才可以输入文字。在此模式下按Esc键可回到命令模式。打开Vim编辑器时Vim处于命令模式,需要按i键进入插入模式。底行模式:在此模式下可以保存文件或退出Vim,同时也可以设置编辑环境和进行一些编译工作,如列出行号、搜索字符串、执行外部命令等。BigDataBigDataLin
38、ux基础与集群搭建 例如,打开一个文件:#vimtest.txt进入Vim界面后,按i键,Vim进入插入模式,用户就可以像使用其他编辑器一样编辑文件。编辑完毕后按Esc键退出插入模式。并按键进入底行模式。常用操作命令如下。(1):w用于保存当前修改。(2):q!用于不保存并强制退出Vim。(3):wq用于保存当前修改并退出Vim。BigDataBigDataLinux基础与集群搭建 8查询可以通过find命令查找相关的文件或文件目录。命令示例如下:#find/-name hosts%进进入入/etc文件文件目目录查查找找hosts文件和目文件和目录录#find/-user root%查查找属于
39、用找属于用户户user1的文件和目的文件和目录录#find/root-name*.cfg%在目在目录录/root中中查查找以找以.cfg为扩为扩展名的文件展名的文件BigDataBigDataLinux基础与集群搭建 9压缩、解压可以利用tar命令对文件进行压缩、解压。tar命令可以解压.tar、.tar.gz、.tar.bz2文件,其参数z和j分别代表.tar.gz和.bz2文件,示例如下:#tar-cvf archive.tar file1%把把file1压压缩缩成成 archive.tar(-c:建建立立压压缩缩档档案案。-v:显显示所有示所有过过程。程。-f:使用档案名字,它是必使用档
40、案名字,它是必须须的,也是最后一个参数)的,也是最后一个参数)#tar-tf archive.tar%显显示一个包中的内容示一个包中的内容#tar-xvf archive.tar%解解压压一个包(一个包(-x:解:解压压)#tar-xzvf archive.tar.gz%解解压压一一个个.tar.gz压压缩缩包包(-x 解解压压gz:表表示示解解压压或或压压缩缩的的为为.tar.gz文件)文件)#tar-xjvf archive.tar.bz2 -C/tmp%把把archive.tar.bz2压缩压缩包解包解压压到到/tmp目目录录下下BigDataBigDataLinux基础与集群搭建 压缩
41、、解压操作示例如图:BigDataBigDataLinux基础与集群搭建 10修改文件或目录权限Linux文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限。Linux操作系统根据对文件安全的设置将用户分成3种不同的类型:文件所有者、同组用户、其他用户。文件所有者一般是文件的创建者,不仅可以允许同组用户访问文件,还能将文件的访问权限赋予Linux操作系统中的其他用户。BigDataBigDataLinux基础与集群搭建 每一个文件或目录的访问权限都有3组,每组访问权限都使用3位数据表示,分别为文件所有者的读、写和执行权限,文件所有者同组用户的读、写和执行权限,以及其他用户的读、写和执
42、行权限。当用ls-l命令显示文件或目录的详细信息时,最左边的一列即文件的访问权限。可以使用chmod、chgrp、chown分别修改所有用户的权限、修改同组用户的读、写、执行的权限,以及修改文件的所有者。BigDataBigDataLinux基础与集群搭建 命令示例如下:#chmod 777 test%把把test文件修改文件修改为为所有用所有用户户可可读读、写、写、执执行,是行,是chmod的数字的数字设设定法定法#chmod a+rwx test%同同上上,是是chmod的的文文字字设设定定法法(a:所所有有用用户户。g:同同组组用用户户。o:其其他他用用户户。r:读读。w:写。:写。x:
43、执执行)行)#chgrp student /opt/book%把把/opt/book的用的用户组户组修改修改为为student(需要(需要root权权限)限)#chown zhangsan/opt/book%把把/opt/book的文件所有者修改的文件所有者修改为张为张三(需要三(需要root权权限)限)BigDataBigDataLinux基础与集群搭建 修改文件或目录权限操作示例BigDataBigDataLinux基础与集群搭建 1查看主机名可以使用hostname查看当前主机名,命令如下:#hostname2永久修改主机名#hostnamectl set-hostname hadoop
44、%修改主机名修改主机名为hadoop#cat/etc/hostname%用用cat 命令在命令行界面命令在命令行界面显示文件内容示文件内容hadoop1.3 主机名BigDataBigDataLinux基础与集群搭建 也可以通过直接修改/etc/hosts文件中的主机名来修改主机IP地址对应的域名。还可以使用Vim等编辑工具打开该文件,修改对应IP地址后的主机名。#vim/etc/hosts%注意:在打开文件并修改主机名后,需保存文件注意:在打开文件并修改主机名后,需保存文件#cat/etc/hosts执行命令后,内容如下:127.0.0.1 localhost localhost.local
45、domain localhost4 localhost4.localdomain4:1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.142.106 controller%修改修改对应的主机名的主机名为controller192.168.142.107 compute注意:下划线标注部分为对应的修改内容。BigDataBigDataLinux基础与集群搭建 1查看硬盘的使用状况使用df命令查看当前硬盘的使用状况,命令如下:#df-h%-h:将容量:将容量显示示为易易读的格式(如的格式(如1K、
46、234M、2G等)等)2硬盘分区使用fdisk命令可以对硬盘进行分区,命令如下:#fdisk-l%查看所有分区看所有分区1.4 分区管理BigDataBigDataLinux基础与集群搭建 3挂载硬盘把/media/rhel-server-5.3-x86_64-dvd.iso挂载到/mnt/vcdrom的命令如下:#mkdir/mnt/vcdrom#mount-o loop-t iso9660/media/rhel-server-5.3-x86_64-dvd.iso/mnt/vcdrom注意:-oloop允许用户以一个普通磁盘文件虚拟一个块设备,-tiso9660指定挂载格式为iso镜像挂载网
47、络文件系统(NetworkFileSystem,NFS)分区(需要配置好NFS服务器),命令如下:#mount-t nfs 192.168.123.2:/tmp/mnt注意:192.168.123.2为NFS服务器地址网络配置 2BigDataBigDataLinux基础与集群搭建 2.1基本网络配置1关闭防火墙(1)查看防火墙#firewall-cmd-list-all(2)关闭防火墙/禁止防火墙开机自启动#systemctl stop firewalld#systemctl disable firewalldBigDataBigDataLinux基础与集群搭建 2关闭SELinux(1)查
48、看SELinux的状态#getenforceEnforcing(2)关闭SELinux可以临时或永久关闭SELinux。使用setenforce0命令可以临时关闭SELinux;永久关闭SELinux可以通过编辑/etc/selinux/config文件,将SELINUX=enforcing修改为SELINUX=disabled实现。修改后需要保存config文件并重启虚拟机才能生效。#setenforce 0%临时关关闭#vim/etc/selinux/config%打开打开config文件,参考上面的内容修改文件,参考上面的内容修改设置,永久关置,永久关闭SELinuxBigDataBig
49、DataLinux基础与集群搭建 2.2集群网络配置1VirtualBox的桥接网卡模式在桥接网卡模式下,虚拟机通过主机网卡架设一条网桥,直接连入主机所在网络。虚拟机能获取网络中的一个独立IP地址,其所处的网络环境和在网络中的物理机完全一样。由于虚拟机在真实网络中有独立IP地址,因此虚拟机与主机之间可以相互访问,虚拟机与虚拟机之间也可以相互访问。BigDataBigDataLinux基础与集群搭建 2网络管理命令行工具CentOS中的nmcli网络管理命令行工具(NetworkManagerCommandTools),比传统网络管理命令ifconfig的功能要更加强大、复杂。其命令语法如下:n
50、mcli OPTIONS OBJECT COMMAND|help 其中,OBJECT指的是device和connection。device指的是网络接口,是物理设备;而connection指的是连接,偏重于逻辑设置。多个connection可以应用到同一个device,但在同一时间只有其中一个connection能被启用。这样配置的优势是可以针对一个物理网络接口设置多个网络连接,比如静态IP地址和动态IP地址,再根据需要启用相应的connection。COMMAND指的是具体命令。BigDataBigDataLinux基础与集群搭建 2.3Linux集群配置1SSH免密码登录安全外壳(Secu