(19.5)--实验实践5.大数据计算框架Hadoop3.0的安装部署与配置及H.pdf
《(19.5)--实验实践5.大数据计算框架Hadoop3.0的安装部署与配置及H.pdf》由会员分享,可在线阅读,更多相关《(19.5)--实验实践5.大数据计算框架Hadoop3.0的安装部署与配置及H.pdf(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、图示图示说明HDFS架构:NameNodeSecondaryNamenodeDataNodeClient1、大数据计算框架Hadoop3.0的安装部署与配置 1.1 Hadoop的概述 1、Hadoop是什么?Hadoop就是存储海量数据和分析海量数据的工具,是公认的大数据通用存储和分析平台,它实现了分布式文件系统HDFS(Hadoop Distributed File System)、分布式运行程序编程框架MapReduce以及资源管理系统YARN(Yet Another Resource Negotiator),其中HDFS和MapReduce是它的核心设计部分。2、Hadoop能够解决什
2、么问题?Hadoop主要是为了解决海量数据的存储(HDFS)和分析计算(MapReduce)问题,同时为解决以上两种问题的资源(计算、存储)调度(Yarn)。3、HDFS Hadoop是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。HDFS是Master和Slave的主从结构。主从结构是一种概念模型,将设备分为主设备和从设备,主设备负责分配工作并整合结果,或作为指令的来源;从设备负责完成工作,一般只能和主设备通信)。(1)NameNode:分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等(2)Secondary Nam
3、eNode:辅助 NameNode,分担其工作,紧急情况可以辅助恢复(3)DataNode:Slave节点,实际存储数据、执行数据块的读写并汇报存储信息给NameNodeHDFS客户端的存储流程:当客户需要写数据时,先在NameNode 上创建文件结构并确定数据块副本将要写到哪几个 DataNode,然后将多个待写 DataNode 组成一个写数据管道,保证写入过程完整统一写入。读取数据时则先通过 NameNode 找到存储数据块副本的所有 DataNode,根据与读取客户端距离排序数据块,然后取最近的。图示图示说明Yarn架构:整体属于master/slave模型1.2 伪分布式(seudo
4、-Distributed Mode)(1)hadoop完全分布式(Fully Distributed Mode):所有的守护进程运行在集群中,3个及以上的实体机或者虚拟机组件的机群。(2)hadoop伪分布式:是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点。伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。如果要开发基于Hadoop的分布式程序,伪分布式足够实验了。如果你要做很多其他事情,比如学习oozie、hbase,建议装多个虚
5、拟机。Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管理器系统,Yarn从hadoop 2引入,最初是为了改善MapReduce的实现,但是它具有通用性,同样执行其他分布式计算模式。Yarn主要组件:(1)ResourceManager,是集群资源的仲裁者,它包括两部分:一个是可插拔式的调度Scheduler,一个是ApplicationManager,用于管理集群中的用户作业。(2)每个节点上的NodeManager,管理该节点上的用户作业和工作流,也会不断发送自己Container使用情况给ResourceManager。(3)App
6、licationMaster,管理一个在YARN内运行的应用程序的每个实例。它的主要功能就是向ResourceManager(全局的)申请计算资源(Containers)并且和NodeManager交互来执行和监控具体的task。(4)ASM:applicationsmanager 应用程序管理器,负责管理系统中所有应用程序。(5)container:对任务运行环境进行抽象,封装CPU、内存等多维度的资源以及环境变量、启动命令等任务运行相关的信息。比如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。YARN会为每个任务分配一个Contai
7、ner,且该任务只能使用该Container中描述的资源。(6)scheduler:根据应用程序的资源需求进行资源分配 https:/ 用VM程序创建几个虚拟机配置完全分布式,然后做实验是完全可行的。可能要求你的电脑cpu和内存足够支撑你这一计划。1.3 配置ssh免登陆 在启动机器中启动一台就要输密码,这里是伪分布式所以只输一次,若启动多台,则要输很多次,不现实,可以设置免密登录)。备注:伪分布式虽只有一台也要配置给自己,不然要不断输密码)1.4 安装环境准备 1.4.1设置主机名 1.4.2 完成主机名和IP地址映射 1、Hadoop中为什么要配置免密码登录 在集群中,Hadoop控制脚本
8、依赖SSH来执行针对整个集群的操作。例如,某个脚本能够终止并重启集群中的所有守护进程。所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录。2、免密码登录的大致流程(1)在客户端创建密钥文件 每个节点都是客户端,也都是服务器端,需要在每个节点上创建一对密钥文件,密钥文件包括公钥(/.ssh/id_rsa.pub)和私钥文件(/.ssh/id_rsa)(2)把公钥文件放到要登录的节点上 客户端在使用ssh登录到其他节点上的时候,ssh会发送私钥去和其他节点上的公钥去匹配,如果匹配成功,
9、那么就会自动登录,而不需要输入密码,这就实现了无密码登录。所以,客户端要实现免密码登录到目标节点上的时候,就需要把公钥写入目标节点上的/.ssh/authorized_keys中。3、设置主机A到主机B免密登录(1)在主机A上生成rsa密钥对 在命令行下输入命令:ssh-keygen-t rsa,所有提示均按回车默认。你会发现在用户的home目录下会自动生成一个隐藏的文件夹“.ssh”,里面会有两个文件,分别是id_rsa和id_rsa.pub。id_rsa是本机的私钥,在使用ssh协议向其它主机传输数据前,主机会使用该私钥对数据进行加密;id_rsa.pub是本机的公钥,因为ssh协议采用非
10、对称加密法(公钥可以用来解密使用私钥进行加密的数据,同样,私钥也可以用来解密公钥进行加密的数据),所以主机一般将该公钥放到其它需要远程登录到的主机的ssh服务器中;(2)将主机A上生成的公钥传到主机B中 使用命令:在主机A的命令行上执行ssh-copy-id userhost,就可以将主机A上生成的公钥传到主机B中,开启无密码SSH登录。输入的命令是userhost,为何不是IP地址呢?这是因为我们在/etc/hosts文件中指定了userhost的ip地址为 192.168.1.*(3)测试免密登录 客户端通过ssh连接远程服务器,就可以免密登录了。ssh userhosthadoophad
11、oop$hostnamehadoophadoophadoop$sudo vi/etc/hostname hadoop011.4.3 防火墙关闭 1.4.4 SELinux禁用 1.4.5 创建Hadoop用户并给用户提权 1.4.6 安装JDK并检查是否安装成功 hadoophadoop$sudo vi/etc/hosts192.168.1.180 hadoop01#增加一行,实现主机名和IP地址映射#查看防火墙是否永久关闭hadoophadoop$sudo systemctl status firewalld firewalld.service-firewalld-dynamic firew
12、all daemon Loaded:loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendor preset:enabled)Active:inactive(dead)Docs:man:firewalld(1)#查看SELINUX是否禁用hadoophadoop$sudo vi/etc/selinux/configSELINUX=disabled#SELINUX 禁用通过编辑/etc/sudoers文件,授权hadoop用户,进行提权,使得hadoop用户具有超级管理员的权限 思路:将用户添加到sudo列表 roothado
13、op etc#cat sudoers【1】修改/etc/sudoers权限,增加可写 chmod u+w/etc/sudoers【2】修改/etc/sudoers(101行添加hadoop用户的信任信息)hadoop ALL=(ALL)NOPASSWD:ALL【3】修改/etc/sudoers权限,删除可写 chmod u+w/etc/sudoershadoophadoop$which java/opt/model/jdk1.8/bin/javahadoophadoop$java-versionjava version 1.8.0_231Java(TM)SE Runtime Environme
14、nt(build 1.8.0_231-b11)Java HotSpot(TM)64-Bit Server VM(build 25.231-b11,mixed mode)1.4.7 SSH免密登录(1)生成RSA公钥与私钥对(2)将生成的公钥复制到免密登录的主机上hadoophadoop$ssh-keygen-t rsa#创建rsa密钥对,3-4次回车确认Generating public/private rsa key pair.Enter file in which to save the key(/home/hadoop/.ssh/id_rsa):Created directory/hom
15、e/hadoop/.ssh.Enter passphrase(empty for no passphrase):Enter same passphrase again:Your identification has been saved in/home/hadoop/.ssh/id_rsa.Your public key has been saved in/home/hadoop/.ssh/id_rsa.pub.The key fingerprint is:SHA256:neynCzhIfDS6r4lF8edU7R9sUahs+nKMaPnY4OENDGI hadoophadoopThe ke
16、ys randomart image is:+-RSA 3072-+|.|.|.o .|.=.+o+.|E+S+o.+|+=B.o.|+o Bo.+.|o o+Ooo+|.o.+.*+|+-SHA256-+hadoophadoop$ll/.ssh#查看生成的密钥对总用量 8-rw-1 hadoop hadoop 2602 3月 26 15:42 id_rsa-rw-r-r-1 hadoop hadoop 567 3月 26 15:42 id_rsa.pubhadoophadoop$cat/.ssh/id_rsa#查看生成的私钥-BEGIN OPENSSH PRIVATE KEY-b3BlbnN
17、zaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcnhadoophadoop$ssh-copy-id hadoop01/usr/bin/ssh-copy-id:INFO:Source of key(s)to be installed:/home/hadoop/.ssh/id_rsa.pubThe authenticity of host hadoop01(192.168.1.180)cant be established.ECDSA key fingerprint is SHA256:y/NxgLTyyWNRqBYSkP
18、4scDIHWSLj7eaEyv+jujIB/9E.Are you sure you want to continue connecting(yes/no/fingerprint)?yes#确定连接hadoop01/usr/bin/ssh-copy-id:INFO:attempting to log in with the new key(s),to filter out any that are already installed/usr/bin/ssh-copy-id:INFO:1 key(s)remain to be installed-if you are prompted now i
19、t is to install the new keyshadoophadoop01s password:#输入hadoop用户密码Number of key(s)added:1Now try logging into the machine,with:ssh hadoop01and check to make sure that only the key(s)you wanted were added.图示图示说明从宿主物理机上传文件到Linux机器指定路径下(3)测试免密登录1.5 hadoop 安装 1.5.1 上传Hadoop安装包到Linux 机器上 1.5.2 解压安装包并配置环境
20、变量 hadoophadoop$ll/.ssh#查看公钥是否复制到要登录的节点机器上。总用量 16-rw-1 hadoop hadoop 567 3月 26 15:46 authorized_keys-rw-1 hadoop hadoop 2602 3月 26 15:42 id_rsa-rw-r-r-1 hadoop hadoop 567 3月 26 15:42 id_rsa.pub-rw-r-r-1 hadoop hadoop 184 3月 26 15:46 known_hostshadoophadoop$ssh hadoop01Activate the web console with:s
21、ystemctl enable-now cockpit.socketLast login:Sat Mar 26 15:04:10 2022#查看hadoop3.2.1安装包文件hadoophadoop$cd/opthadoophadoop opt$lsdata model softwarehadoophadoop opt$cd softwarehadoophadoop software$ll总用量 189604drwxrwxr-x 2 hadoop hadoop 119 3月 26 16:10 hadoop3.2.1-rw-rw-r-1 hadoop hadoop 194151339 10月
22、10 2020 jdk-8u231-linux-x64.tar.gzdrwxrwxr-x 2 hadoop hadoop 220 3月 26 15:06 MySQL-8.0.19hadoophadoop software$cd hadoop3.2.1/hadoophadoop hadoop3.2.1$ll总用量 350796-rw-rw-r-1 hadoop hadoop 1112 10月 10 2020 core-site.xml查看 hadoop是否安装成功1.5.3 修改配置文件-rw-rw-r-1 hadoop hadoop 359196911 10月 10 2020 hadoop-3
23、.2.1.tar.gz-rw-rw-r-1 hadoop hadoop 1314 10月 10 2020 hdfs-site.xml-rw-rw-r-1 hadoop hadoop 1383 10月 10 2020 mapred-site.xml-rw-rw-r-1 hadoop hadoop 1429 10月 10 2020 yarn-site.xml#解压上传安装包到指定目录 /opt/modelhadoophadoop hadoop3.2.1$tar-zxvf hadoop-3.2.1.tar.gz-C/opt/model#配置环境变量hadoophadoop hadoop3.2.1$v
24、i/.bashrcJAVA_HOME=/opt/model/jdk1.8HADOOP_HOME=/opt/model/hadoop-3.2.1#增加环境变量HADOOP_HOMEPATH=$HOME/.local/bin:$HOME/bin:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin#增加:$HADOOP_HOME/bin:$HADOOP_HOME/sbin,bin目录和sbin目录下都有相应的可执行文件export PATHexport JAVA_HOMEexport HADOOP_HOME#输出export HADOOP_
25、HOMEhadoophadoop hadoop3.2.1$source/.bashrc#执行source指令使环境变量立即生效hadoophadoop hadoop3.2.1$which hadoop#查看Hadoop安装路径/opt/model/hadoop-3.2.1/bin/hadoophadoophadoop hadoop3.2.1$hadoop version#查看Hadoop安装版本Hadoop 3.2.1Source code repository https:/gitbox.apache.org/repos/asf/hadoop.git-r b3cbbb467e22ea829b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 19.5 实验 实践 数据 计算 框架 Hadoop3 安装 部署 配置
限制150内