Hadoop大数据整本书课件完整版电子教案

上传人:青*** 文档编号:242906786 上传时间:2024-09-11 格式:PPTX 页数:281 大小:19.42MB
返回 下载 相关 举报
Hadoop大数据整本书课件完整版电子教案_第1页
第1页 / 共281页
Hadoop大数据整本书课件完整版电子教案_第2页
第2页 / 共281页
Hadoop大数据整本书课件完整版电子教案_第3页
第3页 / 共281页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/26,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/26,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/26,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/26,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/26,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/26,#,Hadoop大数据,平台构建与应用,项目1,认识大数据,实现学情分析系统设计与环境搭建,任务1.1 设计学情分析系统,A,任务1.2 构建学情分析系统开发环境,B,。,项目描述,项目描述,大数据正在实现人类工作、生活与思维的大变革,其“威力”也强烈地冲击着整个教育系统,正在成为推动教育系统创新与变革的颠覆性力量。,目前大数据在教育领域的应用还存在诸多挑战,诸多因素制约了大数据在教育领域的应用,通过收集学生就业趋向、学习兴趣、专业技能、岗位需求的数据,结合“因材施教”教育理论,帮助学生认识自己,结合学生实际,为其推荐学习资源、就业信息等,如图1-1所示。,图1-1 就业关系影响图,任务1.1,设计学情分析系统,任务描述,1. 借助学习论坛、网络视频等网络资源和各种图书资源,学习大数据导论等相关知识内容,。,2. 明确学情分析系统的设计目标和实现途径,。,3. 完成学情分析系统的设计。,任务目标,1. 熟悉大数据的概念和特征。,2. 熟悉大数据处理与分析流程和工具使用。,3. 熟悉学情分析系统的架构设计方法。,大数据背景知识,技术,技术是大数据价值体现的手段和前进的基石。,理论,理论是认知的必经途径,也是被广泛认同和传播的基线。,实践,实践是大数据的最终价值体现。,1,2,3,( 1 ),理论层面认知大数据,大数据的特征定义,数据类型繁多(Variety),处理速度快(Velocity),数据体量巨大(Volume),价值密度低,商业价值高(Value),大数据的现在和未来,从大数据的价值链条来分析,存在3种模式:,手握大数据,但是没有利用好。,没有数据,但是知道如何帮助有数据的人利用它。,既有数据,又有大数据思维。,未来在大数据领域最具有价值的是2种事物:,拥有大数据思维的人,可以将大数据的潜在价值转化为实际利益。,还未有被大数据触及过的业务领域。,大数据带来的隐私问题,如何有效保护大数据背景下隐私权的建议:,减少信息的数字化,01,建立隐私权立法。,02,增强数字隐私权基础设施,03,改变人类认知(接受忽略过去),04,创造良性的信息生态。,05,06,完全语境化,(2)技术层面认知大数据,感知技术,存储技术,分布式处理技术,云技术,云计算和大数据之间的关系如图所示。,(3)实践层面认知大数据,企业的大数据,政府的大数据,个人的大数据,互联网的大数据,互联网中大数据的典型代表包括:, 用户行为数据。, 用户消费数据。, 用户地理位置数据。, 互联网金融数据。, 用户社交数据。,图1-5 惠普的HAVEn大数据平台,如图1-5所示。,图1-4 IBM大数据平台和应用程序框架,哪些传统企业最需要大数据服务呢?, 对大量消费者提供产品或服务的企业(精准营销)。, 做小而美模式的中长尾企业(服务转型)。, 面临互联网压力之下必须转型的传统企业(生死存亡)。,“数据供应链”。这里尤其有两个明显的现象:, 外部数据的重要性日益超过内部数据。在互联互通的网络时代,单一企业的内部数据与整个互联网数据比较起来只是沧海一粟。, 能提供包括数据供应、数据整合与加工、数据应用等多环节服务的公司会有明显的综合竞争优势。,2.,大数据处理流程,(1)采集,(2)导入和预处理,(3)统计与分析,(4)挖掘,3. 大数据分析工具,(1)Apache Hadoop,图1-6 Hadoop开源项目,它主要有以下几个优点,:,1.,高可靠性,2.,高扩展性,3.,高效性,4.,高容错性,5.,平台与语言的选择灵活,(2)Apache Spark,图1-7 Apache Spark 开源项目,性能特点如下,:高性能,易用性,通用性,Spark组成如下,:Spark Core,Spark SQL,Spark Streaming,MLlib,GraphX,(3)Apache Storm,(4)Apache Drill,图1-8 Apache Storm开源项目,图1-9 Apache Drill 开源项目,(5)RapidMiner,其功能和特点在于:,1.,免费提供数据挖掘技术和库, 100%用Java代码(可运行在操作系统)、,Java API(应用编程接口) ,数据挖掘过程简单,强大和直观。,2.,内部XML保证了标准化的格式来表示交换数据的挖掘过程。,3.,可以用简单脚本语言自动进行大规模进程,命令行(批处理模式)自动大规,模应用。,4.,多层次的数据视图,确保有效和透明的数据。,5.图形用户界面的互动原型,强大的可视化引擎,许多尖端的高维数据的可,视化建模。,6.简单的插件和推广机制。,7.400多个数据挖掘运营商的支持。,(6)Pentaho BI,图1-10 Pentaho BI功能图,图1-11 学情分析系统的目标实现图,1. 案例构思,任务实施,任务实施,思路,实现,A,B,C,D,E,F,G,数据分析,05,数据可视化,06,学情分析系统工程运行,07,构建大数据平台,01,采集岗位信息,02,数据存储,03,数据处理,04,3. 系统整体架构,学情分析系统架构图如图1-12所示,.,图1-12 学情分析系统架构图,任务,1.2,构建学情分析系统开发环境,任务描述,1. 学习JDK、JRE等相关API,了解二者的差别。,2. 学习Java开发工具Eclipse集成开发工具的使用,以及相关配置。,3. 学习JAVA WEB服务器Tomcat的安装和配置。,4. 学习MySQL服务器以及客户端的安装及配置。,5. 完成Hadoop大数据开发环境的配置。,任务目标,1. 学会Java EE开发工具的配置与使用。,2. 学会MySQL数据库和Tomcat的安装与配置,3. 学会Hadoop大数据开发环境的配置。,知识准备,2,Java开发工具Eclipse,3,Tomcat Web服务器,1,认识JDK,4,MySQL数据库,具体步骤如下:,(1)安装配置JDK,1.,单击JDK安装程序,安装向导界面,如图1-13所示。,任务实施,图1-13 开始安装Java JDK,2.,设置安装路径,如图1-14所示。单击“更改”按钮,可以修改安装路径。完成后单击“下一步”按钮。,任务实施,图1-14设置安装路径,3.,安装JRE。,在安装完JDK后,会弹出安装JRE窗口的界面(在这里要注意修改安装路径必须和JDK在同一目录下,而不是安装在JDK目录下),如图1-15所示。,任务实施,图1-15安装JRE,4.,验证安装是否成功。,安装完成后需要验证Java环境是否安装成功。验证方式有多种,可以编写一个最简单的Java程序文件后编译执行它,也可以通过显示Java版本的命令方式进行验证。本书采用通过输入java version命令,验证安装是否成功。读者也可以通过这个命令检查本机所安装的Java环境的版本。具体命令如图1-16所示。,任务实施,图1-16 验证Java环境安装,(2)安装Tomcat,。,1.,从Apache网站(http:/tomcat.apache.org/)下载Tomcat,本书采用Tomcat 7.0版本开发。,2.,将下载好的Tomcat压缩包解压至本地磁盘,如图1-17所示。,任务实施,图1-17 Tomcat目录结构,运行测试Tomcat,。,1.,在Tomcat文件夹下进入bin子文件夹,双击startup.bat文件,启动Tomcat服务器,如图1-18所示。,任务实施,图1-18 启动Tomcat服务器,2.,在浏览器的地址栏内输入http:/localhost:8080,如果Tomcat服务器部署成功,则显示如图1-19所示的界面。,3.,测试成功以后,关闭Tomcat。,任务实施,图1-19 Tomcat运行界面,(3)安装配置Eclipse,下载安装Eclipse,。,将下载好的Eclipse压缩包解压至电脑的本地磁盘,解压好的文件如图1-20所示。,任务实施,图1-20 Eclipse目录结构,运行配置Eclipse,1.,双击eclipse.exe文件启动Eclipse,单击“Browse”按钮,在弹出的对话框中选择工作目录,注意该目录不要有中文字符,完成后单击“OK”按钮,如图1-21所示。,任务实施,图1-21 Eclipse选择工作目录,2.,配置Eclipse的JDK环境。,在主菜单栏中选择“WindowPreferencesJavaInstalled JREs”命令,打开Preferences窗口,如图1-22所示。,任务实施,运行配置Eclipse,单击“Add”按钮,在弹出的窗口中选中Standard VM选项。然后在跳转的窗口中配置JRE home为JDK的安装主目录,“JRE name”文本框中输入“jdk1.7.0_55”,设置Java虚拟机大小Default VM arguments为-Xms2048m -Xmx4096m,最后单击“Finish”按钮,如图1-23所示。,任务实施,图1-21 Eclipse选择工作目录,这时就可以看到已经添加了JDK,勾选该JDK复选按钮,完成后单击“OK”按钮。如图1-24所示。,任务实施,图1-24 选择JDK,3.,配置Eclipse的Web服务器。,在主菜单栏中选择“WindowPreferencesServerRuntime Environments”命令,如图1-25所示。,任务实施,图1-25 配置服务运行环境,单击“Add”按钮,添加Tomcat服务器。在弹出的窗口中选中“ApacheApache Tomcat v7.0”,单击“Next”按钮,如图1-26所示。,任务实施,图1-25 配置服务运行环境,设置Tomcat安装路径(Tomcat installation directory)和JRE,完成后单击“Finish”按钮完成配置,如图1-27所示。,任务实施,图1-25 配置服务运行环境,在主菜单栏中选择“WindowShow ViewServers”命令,可以打开Servers窗口,添加刚才创建的Tomcat服务器,在此窗口中可以直接停止或者启动调试Tomcat服务器,如图1-28所示。,任务实施,图1-28 添加Tomcat服务器,6.,设置Eclipse编码方式。,在主菜单栏中选择“WindowPreferencesGeneralWorkspace”命令,在Text file encoding下设置工作空间的代码编码方式为UTF-8,完成后单击“OK”按钮,如图1-29所示。,至此Eclipse IDE安装完成。,任务实施,图1-29 设置程序编码方式,(4)安装配置MySQL Server,1.,双击打开MySQL 5.0安装程序MySQLSetup.exe,单击“Next”按钮,如图1-30所示。,任务实施,图1-30 MySQL安装向导,2.,在出现选择安装类型的窗口中,有Typical(默认)、Complete(完全)、Custom(用户自定义)3个选项,选中“Custom”单选按钮,单击“Next”按钮,如图1-31所示。,任务实施,图1-31 选择安装的类型,3.,在出现自定义安装界面中选择MySQL数据库的安装路径,本书设置的路径是D:Program FileMySQL。单击Developer Components(开发者部分)前的倒三角按钮,在弹出的下拉菜单中选择“This feature,and all subfeatures,will be installed on local hard drive.”菜单命令,完成上述操作后单击“Next”按钮,如图1-32所示。,任务实施,图1-32 安装设置,4.,接下来进入到准备安装的界面,首先确认一下刚才的设置是否正确,如果有误,单击“Back”按钮返回,可以重新设置。如果之前的配置没有错误,单击“Install”按钮继续安装,如图1-33所示。,任务实施,图1-33 准备安装,5.,此时出现正在安装的界面,如图1-34所示。,任务实施,图1-34 安装向导,6.,安装完成后出现注册界面,选中“Skip Sign-Up”单选按钮,单击“Next”按钮,如图1-35所示。,任务实施,图1-35注册界面,7.,单击“Finish”按钮,完成MySQL安装,如图1-36所示。,任务实施,图1-36 MySQL安装完成,8.,MySQL数据库安装完成之后,出现如图1-37所示的配置界面向导,单击“Next”按钮。,任务实施,图1-37 MySQL 配置参数向导,9.,选中配置的方式为“Detailed Configuration(详细配置)”单选按钮,单击“Next”按钮,如图1-38所示。,任务实施,图1-38 服务器类型,10.,设置MySQL数据库的用途,选中“Multifunctional Database(通用多功能型)”单选按钮,单击“Next”按钮,如图1-39所示。,任务实施,图1-39 数据库用途,11.,对InnoDB Tablespace进行配置,选择InnoDB数据库文件存储位置。单击Installation Path(应用程序安装路径)旁倒三角按钮,选择默认安装目录,单击“Next”按钮,如图1-40所示。,任务实施,图1-40 存储位置,12.,配置MySQL服务器的参数,选择“Manual Setting(手动设置)”,单击“Next”按钮,如图1-41所示。,任务实施,图1-41 MySQL并发参数的设置,13.,设置TCP/IP参数,勾选“Enable TCP/IP Networking”单选按钮,默认的端口为3306,勾选“Enable Strict Mode”复选按钮,最后单击“Next”按钮,如图1-42所示。,任务实施,图1-42 MySQL TCP参数设置,14.,配置字符集配置,选中“Manual Selected Default Character Set / Collation”单选按钮,在Character Set下拉菜单中选择“utf-8”菜单命令,单击“Next”按钮,如图1-43所示。,任务实施,图1-43 MySQL的编码设置,15.,将MySQL安装为Windows服务,勾选“Install As Windows Service”和“Include Bin Direction In Windows PATH”复选按钮,单击“Next”按钮,如图1-44所示。,任务实施,图1-44 安装Windows服务,16.,设置管理员密码,管理员账号为root。勾选“Modify Security Settings”和“Enable root access from remote machines”复选按钮,在“New root password”文本框中输入密码,并在“Confirm”文本框中再次输入该密码,最后单击“Next”按钮,如图1-45所示。,任务实施,图1-45 登录密码参数设置,17.,经过以上操作,MySQL安装的所有配置都已设置完成,单击“Execute”按钮执行配置,如图1-46所示。,任务实施,图1-46 执行配置,18.,安装成功后,单击“Finish”按钮,如图1-47所示。,任务实施,图1-47 安装成功,(5)安装MySQL客户端,1.,使用Navicat作为MySQL的客户端管理工具,运行Navicat 8.0.exe安装程序,设置安装目录后,单击“安装”按钮,如图1-48所示。,任务实施,图1-48 安装MySQL可视化工具,2.,打开Navicat,测试与本地MySQL数据库连接,填入主机名、埠(端口号)、用户名与密码参数,单击“确定”按钮,如图1-49所示。,任务实施,图1-49 输入数据库连接参数,3.,单击“连接测试”按钮,提示连接成功,如图1-50所示。,任务实施,图1-50 测试连接是否成功,4.,进入到Navicat主界面,用户可以对指定的数据库进行操作和管理,如图1-51所示。,任务实施,图1-51 Navicat主界面,(6) 构建Hadoop开发平台。,首先在用于开发的PC机上安装Hadoop 2.7.0,软件包为hadoop-2.7.0.zip,解压到某个路径中,这里是解压到D:Program Files(x86)路径中。下面将hadoop-2.7.0/bin目录下的hadoop.dll文件拷贝到系统路径C:WindowsSystem32下。替换拷贝完成后,将Hadoop安装目录添加到系统环境变量中,在用户变量中添加名为HADOOP_HOME变量(变量值为hadoop-2.7.0的解压路径)。如图1-52所示。,任务实施,图1-52 Hadoop配置环境变量,之后在系统变量的Path中添加Hadoop的bin目录路径,如图1-53所示。,任务实施,图1-53 Hadoop配置环境变量 Path,添加完成后,将关于Hadoop的Eclipse插件hadoop-eclipse-kepler-plugin-2.2.0.jar文件拷贝到Eclipse运行目录下的Plugin中。如图1-54所示。,任务实施,图1-54 配置Hadoop的Eclipse插件,插件拷贝完成后,重新启动Eclipse,配置Hadoop插件。在主菜单栏中选择“WindowPreferencesHadoop Map/Reduce”命令,在“Hadoop installation diretory”的文本框中输入hadoop-2.7.0的目录路径,最后单击“OK”按钮。如图1-55所示。,任务实施,图1-55 在Eclipse中配置Hadoop主目录,插件拷贝完成后,重新启动Eclipse,配置Hadoop插件。在主菜单栏中选择“WindowPreferencesHadoop Map/Reduce”命令,在“Hadoop installation diretory”的文本框中输入hadoop-2.7.0的目录路径,最后单击“OK”按钮。如图1-55所示。,任务实施,图1-55 在Eclipse中配置Hadoop主目录,项目小结,本项目全面阐释了大数据的概念、相关的技术和应用的现状,使读者对大数据的相关技术、应用、产业链以及大数据分析流程、工具等建立了清晰的认识,了解使用大数据的意义,为建立大数据思维奠定了良好的基础。,同时也介绍了本书的核心案例-学情分析系统的架构设计,学习了Java EE的环境配置与安装,完成了Hadoop大数据开发环境的配置,为后续项目的学习搭建了基础环境和平台。,Hadoop大数据,平台构建与应用,项目2,Hadoop大数据平台的构建,任务2.1 搭建Ambari Hadoop系统,A,任务2.2使用Apache Ambari管理Hadoop集群,B,项目描述,项目描述,通过分析学生专业课程技能考核、学生就业、学生学习兴趣、企业岗位需求、互联网招聘等数据信息,建立岗位模型、知识模型和学情模型,指导公司进行就业和学情分析系统的研发。,在综合分析相关技术和应用实践的前提下,选择了主流的Hadoop大数据平台,并采用Apache Ambari管理平台构建Hadoop开发环境。,任务2.1,搭建Ambari Hadoop系统,任务描述,1. 借助学习论坛、网络视频等网络资源和各种图书资源,学习Cloudera Manager、Ambari和MapR等大数据平台管理工具。,2. 借助学习论坛、网络视频等网络资源和各种图书资源,学习Hadoop生态系统的相关技术,了解各项技术的功能。,3. 完成Ambari的安装与配置。,任务目标,1. 了解Hadoop背景知识,熟悉Hadoop的生态系统。,2. 学会Hadoop分布式集群的组建方法。,3. 学会Ambari Server和Ambari Agent的配置方法。,知识准备,1. 认识Hadoop平台产品,相比于SQL数据库,Hadoop在某些方面仍然显得不够完善。Cloudera、Hortonworks、MapR是最具有代表性的公司,他们带来众多的创新并提供强大的集群工具。这些管理工具分别是Cloudera Manager、Ambari和MapR,它们均能对集群进行自动化安装、管理、监控、诊断和集成。如图2-1所示为3大Hadoop平台的供应商。下面向读者扩展一下这些公司的产品服务。,图2-1 三大Hadoop平台的供应商,图1-7 Apache Spark 开源项目,(1)Cloudera,图2-3 HDP资源栈,(2)Hortonworks,(3)MapR,2. 熟悉Hadoop生态系统,Mindmap,Suitable for all categories business and personal presentation,(14,(1)Ambari,(6)Pig,(4)Oozie,(5)Hive,(13)Sqoop,(11)YARN,(12)HDFS,(7)Shark,(8)MapReduce,(3)HBase,(2)ZooKeeper,(9)Tez,(10)Spark,(14)Flume,任务实施,Ambari管理平台通过安装向导来进行集群的搭建,简化了集群供应。,Ambari支持作业与任务执行的可视化与分析,能够更好地查看依赖和性能。,Ambari是一个分布式架构的软件,主要由Ambari Server和 Ambari Agent两部分组成,如图2-5所示。,图2-5 Ambari Server架构,(1)基本环境配置,本任务以两台节点为例来组建 Hadoop分布式集群,这里采用的系统版本为CentOS 7,具体要求见表2-1。,根据表中的资源配置来组建大数据基础平台。,图1-8 Apache Storm开源项目,主机名,内存,硬盘,IP,地址,角色,master,8,GB,100,G,B,192.168.200.131,Ambari-Server,、,Ambari-Agent,、,MySQL,slave1,4,GB,100,G,B,192.168.200.133,Ambari-Agent,首先需要配置主机名。,配置主机名。,# master,# hostnamectl set-hostname master,# hostname,master,# slave1,# hostnamectl set-hostname slave1,# hostname,slave1,1,修改 hosts 映射文件。,# master,# vi /etc/hosts,192.168.200.131 master.hadoop master,192.168.200.133 slave1.hadoop,# slave1,# vi /etc/hosts,192.168.200.131 master.hadoop,192.168.200.133 slave1.hadoop slave1,2,配置Yum源。,# master,将BigData-v2.0-BASE.iso复制到/mnt目录下,将其中的ambari 解压到/opt目录下,并在master节点配置ftp服务。,注意:因为安装大数据相关软件包时,可能会用到相关依赖软件包,所以需要配置CentOS 7 Yum 源,可以配置CentOS 7的本地Yum源文件,如果有网络的话也可以配置公网的Yum源。这里可以采用本地 CentOS 7 Yum 源。,#master& slave1,# cd /etc/yum.repos.d/,# rm -vf *,注意:如果配置公网Yum源,则不需要删除原来的repo文件。,3,编写REPO文件,指定Ambari安装包路径和CentOS 7安装包路径。,# vi ambari.repo,centos7,baseurl=ftp:/192.168.2.10/centos7/,(注:具体的Yum 源根据真实环境配置,本次为实验室测试环境。),gpgcheck=0,enabled=1,name=centos,ambari,name=ambari,baseurl=ftp:/10.0.3.61/ambari,(注:具体的Yum 源根据真实环境配置,本次为实验室测试环境。),enabled=1,gpgcheck=0,#master,# yum -y install httpd,将/mnt/目录下的HDP-2.4-BASE和HDP-UTILS-1.1.0.20两个文件夹拷贝到/var/www/html/目录下。启动httpd服务。,# systemctl enable httpd.service,# systemctl status httpd.service,配置ntp。,# master,# yum -y install ntp,# vi /etc/ntp.conf,注释或者删除以下4行,server 0.centos.pool.ntp.org iburst,server 1.centos.pool.ntp.org iburst,server 2.centos.pool.ntp.org iburst,server 3.centos.pool.ntp.org iburst,添加以下两行,server 127.127.1.0,fudge 127.127.1.0 stratum 10,#systemctl enable ntpd,#systemctl start ntpd,4,# slave1,# yum -y install ntpdate,# ntpdate master.hadoop,# systemctl enable ntpdate,配置SSH。,# master& slave1,检查 2个节点是否可以通过无密钥相互访问,如果未配置,则进行SSH无密码公钥认证配置。如下:,# yum install openssh-clients,# ssh-keygen,# ssh-copy-id master.hadoop,# ssh-copy-id slave1.hadoop,ssh登录远程主机查看是否成功。,# ssh master.hadoop,# exit,# ssh slave1.hadoop,# exit,5,禁用 Transparent Huge Pages。,操作系统后台有一个khugepaged 的进程,它会一直扫描所有进程占用的内存,在可能的情况下会把4k page交换为Huge Pages,在这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能,并且这个过程对于应用是透明的,在应用层面不可控制,对于专门为4k page优化的程序来说,可能会造成随机的性能下降现象。,#master& slave1,# cat /sys/kernel/mm/transparent_hugepage/enabled,always madvise never,# echo never /sys/kernel/mm/transparent_hugepage/enabled,# echo never /sys/kernel/mm/transparent_hugepage/defrag,# cat /sys/kernel/mm/transparent_hugepage/enabled,always madvise never,重启后失效,需要再次执行。,6,安装配置 JDK。,#master,# mkdir /usr/jdk64/,# mount -o loop XianDian-BigData-v2.0.5-BASE.iso /mnt/,# cd /mnt/,# tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/,# vi /etc/profile,export JAVA_HOME=/usr/jdk64/jdk1.8.0_77,export PATH=$JAVA_HOME/bin:$PATH,# source /etc/profile,#Java version,Java version 1.8.0_77,Java(TM) SE Runtime Environment (build 1.8.0_77-b03),Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode),7,# slave1,#mkdir /usr/jdk64/,#scp 172.24.14.106:/mnt/jdk-8u77-linux-x64.tar.gz .,# tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/,# vi /etc/profile,export JAVA_HOME=/usr/jdk64/jdk1.8.0_77,export PATH=$JAVA_HOME/bin:$PATH,# source /etc/profile,#Java version,Java version 1.8.0_77,Java(TM) SE Runtime Environment (build 1.8.0_77-b03),Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode),(2) 配置Ambari Server,#master,# yum -y installambari-server,配置MariaDB数据库。,#master,安装MariaDB数据库。,# yum install mariadb mariadb-server mysql-connector-java,启动MariaDB数据库。,# systemctl enable mariadb,# systemctl start mariadb,配置MariaDB数据库。,#mysql_secure_installation,按Enter 键确认后设置数据库 root 密码,这里设置为“bigdata”,Remove anonymous users? Y/n y,Disallow root login remotely? Y/n n,Remove test database and access to it? Y/n y,Reload privilege tables now? Y/n y,创建Ambari数据库。,# mysql -uroot -pbigdata,MariaDB (none) create database ambari;,MariaDB (none) grant all privileges on ambari.* to ambarilocalhost identified by bigdata;,MariaDB (none) grant all privileges on ambari.* to ambari% identified by,bigdata;,MariaDB (none) use ambari;,MariaDB ambari source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql,MariaDB ambari Bye,安装配置Ambari Server。,#master,# ambari-server setup,WARNING: SELinux is set to permissive mode and temporarily disabled. OK to continue y/n (y)?,Customize user account for ambari-server daemon y/n (n)? n,Checking JDK.,1 Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8 2 Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7 3 Custom JDK,=,Enter choice (1): 3,Path to JAVA_HOME: /usr/jdk64/jdk1.8.0_77,Validating JDK on Ambari Server.done. Completing setup.,Configuring database.,Enter advanced database configuration y/n (n)? y,Configuring database.,= Choose one of the following options:,1 - PostgreSQL (Embedded) 2 - Oracle,3 - MySQL,4 - PostgreSQL,5 - Microsoft SQL Server (Tech Preview) 6 - SQL Anywhere,= Enter choice (1): 3,Hostname (localhost): Port (3306):,Database name (ambari): Username (ambari):,Enter Database Password (bigdata):,Proceed with configuring remote database connection properties y/n (y)?,Ambari Server setup completed successfully.,启动Ambari Server服务。,# ambari-server start,打开浏览器,登录页面 http:/192.168.200.131:8080/,在“用户名”的文本框中输入“admin”,在“密码”的文本框中输入“admin”,如图2-6所示。,图2-6 Ambari登录页面,(3)配置Ambari Agent,# master& slave1,安装Ambari Agent并修改ambari-agent.ini文件指定Ambari Server的地址或者主机名。,# yum -y install ambari-agent,# vi /etc/ambari-agent/conf/ambari-agent.ini,server,hostname= master,# ambari-agent restart,打开Ambari Agent的log日志文件/var/log/ambari-agent/ambari-agent.log,查看是否存在“Building Heartbeat: responseId = ”等字样,如果有则表示Ambari Server和Ambari Agent之间已经成功传递了心跳连接信号。,# tail -f /var/log/ambari-agent/ambari-agent.log,INFO 2017-01-12 09:44:20,919 Controller.py:265 - Heartbeat response received (id = 1340) INFO 2017-01-12 09:44:30,820 Heartbeat.py:78 - Building Heartbeat: responseId = 1340,timestamp = 1484214270820, commandsInProgress = False, componentsMapped = True,(4)部署管理 Hadoop集群,登录页面http:/IPAddress:8080/,在“用户名”的文本框中输入“admin”,在“密码”的文本框中输入“admin”。接下来就可以启动安装向导、创建集群和安装服务。如图2-7和图2-8所示。,图2-7 Ambari管理页面,图2-8 Ambari安装向导,在“选择安装栈”时指定安装源HDP-2.4和HDP-UTILS-1.1.0.20的位置。指定相应的目标主机并选择手动注册主机,选择所需要安装的服务,本任务需安装HDFS、YARN+MapReduce2、Zookeeper、Ambari Metrics、Hive、HBase、Mahout、Sqoop、Spark等服务。在整个过程需要设置Grafana Admin和Hive的密码。部署完成页面,如图2-9所示。,图2-9 部署完成页面,单击页面导航栏的“主界面”按钮,在主界面中可以查看集群状态和监控信息,如图2-10所示。单击页面导航栏的“主界面”按钮,在主界面中可以查看集群状态和监控信息,如图2-10所示。至此,大数据基础平台已经部署完毕了。,图2-10 平台主界面,任务,2.2,使用Apache Ambari管理Hadoop集群,任务目标,1. 学会使用Ambari Web管理界面对Hadoop服务进行管理的方法。,2. 学会使用Ambari Web管理界面对集群主机进行管理的方法。,3. 学会使用Ambari Web管理界面对Hadoop服务进程进行管理的方法。,4. 学会使用Ambari Web管理界面对服务配置文件进行管理的方法。,(1)服务管理,在页面左侧的服务列表中,可以选中任何一个想要操作的服务。以 HDFS为例,单击左侧服务列表中的“HDFS”按钮后,就会在服务列表右侧看到该服务的相关信息,如图2-11所示。,图2-11 HDFS概要展示页面,Hadoop的集群部署完成后,并不知道这个集群是否可用。这时候就可以借助“运行服务检查”命令来确保集群服务可以正常运行。选择这个命令后,就会在弹出的对话框中出现如图2-12所示的HDFS服务操作进度显示。,当进度条执行完毕后,全绿代表服务运行正常,全红代表服务运行失败,黄色代表出现告警信息。,图2-12 HDFS服务操作进度显示,“服务操作”下拉菜单中的“启动”、“停止”、“重启所有”3个命令的含义分别是指:启动、停止、重启集群中所有该服务的进程。当执行进度页面打开时,可以进入查看每个主机进程的操作进度和运行log,如图2-13所示。,图2-13 HDFS服务重启界面,(2)主机管理,单击页面导航栏中“主机”按钮,就可以打开Ambari所管理的主机列表,如图2-14所示:,图2-14 主机列表,单击导航栏左下方的“动作”按钮,在弹出的下拉菜单中列出与主机相关操作的命令,这个效果和“服务操作”是类似的,只是执行的范围不一样,如图2-15所示。,图2-15 主机动作操作,在导航栏右下方有一个“主机动作”按钮,通过单击该按钮可以进行一系列的操作,如图2-16所示。,图2-16 主机监控页面,(3)进程管理,进入到master节点中,找到需要进行管理的进程,如NameNode,该进程后面有个“Started”按钮,表示该进程正在运行中,单击该按钮可以改变进程的运行状态,如“重启”、“停止”、“移动”、“打开维护模式”、“均衡HDFS”等,如图2-17所示。,图2-17主机进程操作,(4)配置管理,具体操作步骤如下:在页面导航栏中选择“服务HDFS”命令,然后在其服务列表右侧选择“配置AdvancedGeneralBlock replication”命令,将Block replication修改为2,然后单击“保存”按钮,如图2-18所示。,图2-18 HDFS修改Block复制因子,保存成功后,可以看到相应的版本信息,如图2-19所示,然后单击“重启”按钮,重启所有标记重启的组件。,图2-19 相关服务提示重启,项目小结,本项目主要介绍了Hadoop基本知识、相关产品及其衍生产品等,了解了它们之间的关系和工作模式以及每个产品的特点,学习了利用Ambari部署工具来构建大数据平台并对集群进行管理的方法,不仅为学情分析系统的实现做好了平台准备,而且为今后进行企业大数据平台管理与维护打下坚实的基础。,Hadoop大数据,平台构建与应用,项目3,就业岗位数据采集和存储,任务3.1 使用网络爬虫采集岗位招聘数据,A,任务3.2 采集的数据上传到HDFS,B,任务3.3 使用Sqoop转换Mysql中的学生成绩数据到Hive中,C,项目描述,任务3.1,使用网络爬虫采集岗位招聘数据,【知识目标】, 识记WebMagic的流程架构和HDFS的基础架构以及Hive的基本概念和特点。, 领会网络爬虫的编程实现的步骤和方法。,【技能目标】, 学会使用WebMagic开发网络爬虫的步骤和方法, 学会HDFS服务进程管理。, 学会HDFS属性配置管理。, 学会HDFS上传文件的方法。, 学会Sqoop上传文件至Hive中的方法。,知识准备,webmagic-scripts,webmagic-selenium,webmagic-saxon,webmagic-samples,WebMagic项目里还有几个包,这些都是一些实验性的功能,目的只是提供一些与外围工具整合的样例。,webmagic-avalon,1,3,5,2,4,WebMagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。其架构流程如图3-1所示。,3-1 WebMagic架构图,任务实施,(1)解析岗位列表页源代码,岗位信息页,后续列表分页,图3-2 岗位列表页结构,这是在WebMagic框架中的PageProcessor组件中定制实现的,首先要做的是设置抓取的基本配置,包括编码、抓取间隔、重试次数,代码如下:,private Site site = Site.me().setRetryTimes(3).setSleepTime(10).setCharset(gbk);,这里选择重试次数为3次,抓取间隔为10毫秒,编码根据为51job网页源代码可以查看得到,如下所示:,【云计算招聘,求职】-前程无忧,该招聘网站的编码为gbk。,接下来,判断当前分析的页面是否为岗位列表页。不难发现,列表页的URL中都含有字符段,可以通过简单的if语句判断:,if (page.getUrl().toString().contains(),下面分析岗位信息页链接的HTML源代码,并用Xpath语法解析出,添加至抓取队列。,检查某个链接源代码的方法,在岗位列表中右击一项,在弹出的下拉菜单中选择“Inspect”命令,如图3-3所示。,图3-3 选择Inspect命令,右击并选择检查(Inspect)后,出现了该链接的HTML源码,如图3-4所示。,图3-4 查看HTML源代码,可以发现,所需要的URL地址是一个标签下的唯一的超链接,该标签的class名为t1。同理,这个岗位列表页下的所有岗位信息页的URL都有着相同的格式。因此可以使用Xpath全部识别,并添加至抓取队列,代码实现如下:,select = page.getHtml().xpath(/pclass=t1);,urls = select.links().all();,page.addTargetRequests(urls);,添加后续分页的链接也是如上一样的方法,在此省去分析HTML源码的截图,直接贴上代码:,select = page.getHtml().xpath(/divclass=dw_page);,urls = select.links().all();,这里需要注意的是,要防止添加空白搜索结果页的链接,不然将会把整个,51job的岗位全都抓取下来。尽管按照定制的抓取逻辑,这种意外不会出现,,但还是添加了踢出队列的保护机制,代码如下:,Iterator it = urls.iterator();,while(it.hasNext(),String x = it.next();,if(x.equals( if (page.getUrl().toString().startsWith( ,page.putField(url, page.getUrl().toStr
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!