Hadoop平台搭建与应用(第2版)(微课版) 课件 项目7 Ambari搭建与集群管理_第1页
Hadoop平台搭建与应用(第2版)(微课版) 课件 项目7 Ambari搭建与集群管理_第2页
Hadoop平台搭建与应用(第2版)(微课版) 课件 项目7 Ambari搭建与集群管理_第3页
Hadoop平台搭建与应用(第2版)(微课版) 课件 项目7 Ambari搭建与集群管理_第4页
Hadoop平台搭建与应用(第2版)(微课版) 课件 项目7 Ambari搭建与集群管理_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务7.1搭建AmbariHadoop系统任务实施1.Ambari的安装与配置(1)基本环境配置因为Docker容器都在同一个网段内直接互通,配置hosts文件后每次重启都会重置,所以不需要对主机名(hostname)进行额外设置。①

配置NTP在master节点安装网络时间协议(NTP),操作命令如下。[root@masteropt]#yuminstall-yntp配置ntp.conf文件,操作命令及文件编辑如下。[root@masteropt]#vi/etc/ntp.conf//注释或者删除以下4行代码#pool0.iburst#pool1.iburst#pool2.iburst#pool3.iburst//添加以下两行代码serverfudgestratum10[root@masteropt]#systemctlenablentpd[root@masteropt]#systemctlstartntpd在slave1节点安装和配置网络时间协议(NTP),操作命令如下。[root@slave1opt]#yuminstall-yntpdate#[root@slave1opt]#ntpdate

master[root@slave1opt]#systemctlenablentpd②安装与配置SSH安装软件并分别在master和slave1节点执行命令“ssh-keygen-trsa”生成密钥对,操作命令及结果如下。[root@master~]#yuminstall-yopenssh

openssh-clientsopenssh-serverwhichnet-toolsLoadedplugins:fastestmirror,ovlDeterminingfastestmirrors[root@master~]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/root/.ssh/id_rsa.Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.#分别执行“ssh-copy-idmaster”和“ssh-copy-idslave1”命令分发公钥完成认证配置操作,操作命令及结果如下。[root@master~]#ssh-copy-idmaster#省略部分内容Areyousureyouwanttocontinueconnecting(yes/no)?yesroot@master'spassword:andchecktomakesurethatonlythekey(s)youwantedwereadded.

[root@master~]#ssh-copy-idslave1Areyousureyouwanttocontinueconnecting(yes/no)?yesroot@slave1'spassword:③通过SSH登录远程主机,查看master节点能否免密登录master和slave1节点,操作命令及结果如下。[root@master~]#sshmaster

Lastlogin:WedMar815:09:422023from[root@master~]#exitlogoutConnectiontomasterclosed.[root@master~]#sshslave1Lastlogin:WedMar815:55:022023frommaster.ambari[root@slave1~]#exitlogoutConnectiontoslave1closed.[root@master~]#④禁用SELinux的操作过程如下。编辑/etc/selinux/config配置文件,将配置项修改如下。(宿主机中)SELINUX=disabled⑤禁用TransparentHugePages的操作过程如下。CentOS6版本开始引入了透明大页(TransparentHugePages,THP),从CentOS7版本开始,默认启用该特性默认(操作系统后台会生成一个名为khugepaged的进程),它会一直扫描所有进程占用的内存,在可能的情况下,其会把4kPage交换为HugePages,在这个过程中,对操作的内存的各种分配活动都需要各种内存锁,直接影响了程序内存的访问性能,且此过程对于应用是透明的,在应用层面不可控制,对于专门为4kPage优化的程序来说,可能会造成随机性能下降现象,操作命令及结果如下。[root@CentOS~]#cat/sys/kernel/mm/transparent_hugepage/enabled[always]madvisenever[root@CentOS~]#echonever>/sys/kernel/mm/transparent_hugepage/enabled[root@CentOS~]#echonever>/sys/kernel/mm/transparent_hugepage/defrag[root@CentOS~]#cat/sys/kernel/mm/transparent_hugepage/enabledalwaysmadvise[never]重启后代码会失效,需要再次执行。⑥安装配置JDK的操作过程如下。在master节点安装配置JDK,操作命令及结果如下。[root@masteropt]#tar-zxvfjdk-8u181-linux-x64.tar.gz-C/usr/lib[root@masterlib]#cd/usr/lib[root@masterlib]#mvjdk1.8.0_181jdk1.8.0

[root@masterlib]#vim~/.bashrcexportJAVA_HOME=/usr/lib/jdk1.8.0PATH=$PATH:$JAVA_HOME/bin

[root@masterlib]#source~/.bashrc

[root@masterlib]#java-versionjavaversion"1.8.0_181"Java(TM)SERuntimeEnvironment(build1.8.0_181-b13)JavaHotSpot(TM)64-BitServerVM(build25.181-b13,mixedmode)在slave1节点安装配置JDK,操作命令及结果如下。[root@masterlib]#scp-r~/.bashrcslave1:~/.bashrc[root@masterlib]#scp-r/usr/lib/jdk1.8.0slave1:/usr/lib[root@slave1opt]#source~/.bashrc[root@slave1opt]#java-versionjavaversion"1.8.0_181"Java(TM)SERuntimeEnvironment(build1.8.0_181-b13)JavaHotSpot(TM)64-BitServerVM(build25.181-b13,mixedmode)(2)设置本地仓库①安装制作本地库的工具。使用curl命令来验证网页是否可以访问,操作命令及结果如下。[root@master~]#yum-yinstallyum-utils

createrepocurl[root@master~]#yum-yinstallhttpd[root@master~]#/sbin/chkconfighttpdonNote:Forwardingrequestto'systemctlenablehttpd.service'.Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/httpd.serviceto/usr/lib/systemd/system/httpd.service.[root@master~]#/sbin/servicehttpdstartRedirectingto/bin/systemctlstarthttpd.service[root@master~]#curl0如果不能访问通常会报错:302或404等错误代码。②创建Web服务目录,操作命令如下。[root@master~]#mkdir-p/var/www/html/③将ambari-、HDP-和HDP-GPL-等压缩包解压到/var/www/html/中,将HDP-utils目录通过“mv”命令移动到/var/www/html/下,操作命令及结果如下。[root@masteropt]#tar-zxvf

ambari--centos7.tar.gz-C/var/www/html/[root@masteropt]#tar-zxvfHDP--centos7-rpm.tar.gz-C/var/www/html/[root@masteropt]#tar-zxvfHDP-GPL--centos7-gpl.tar.gz-C/var/www/html/[root@masteropt]#mvHDP-UTILS/var/www/html/④为了使用上述配置的Web服务器作为yum源服务器,需要操作命令及配置“priorities.conf”如下。[root@masteropt]#yum-yinstallyum-plugin-priorities[root@masteropt]#vi/etc/yum/pluginconf.d/priorities.conf#文件内容如下[main]enabled=1gpgcheck=0⑤将准备好的ambari.repo和hdp.repo文件移动到/etc/yum.repos.d目录下,编辑ambari.repo文件内容,注意baseurl的修改值,具体操作如下。#VERSION_NUMBER=-1[ambari-]name=ambariVersion-ambari-baseurl=0/ambari/centos7/-1gpgcheck=0gpgkey=0/ambari/centos7/-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1⑥编辑hdp.repo文件内容,注意baseurl的修改值,具体操作如下。(文本位于页面下方)#VERSION_NUMBER=-292[HDP-]name=HDPVersion-HDP-baseurl=0/HDP/centos7/-292/gpgcheck=0gpgkey=0/HDP/centos7/-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

[HDP-UTILS-2]name=HDP-UTILSVersion-HDP-UTILS-2baseurl=0/HDP-UTILS/centos7/1/gpgcheck=0gpgkey=0/HDP-UTILS/centos7/1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

[HDP-GPL-]name=HDP-GPLVersion-HDP-GPL-baseurl=0/HDP-GPL/centos7/-292/gpgcheck=0gpgkey=0/HDP-GPL/centos7/-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1(3)配置MySQL数据库Ambariserver需要一个数据库存储元数据,默认使用PostgreSQL数据库。默认的用户名和密码是:ambari/bigdata。但是一般情况下,还需要安装Hive和Ranger,因此也需要一个存元数据的数据库。于是,在此选用MySQL做为第三方数据库来使用。在该任务中将使用RMP包安装MySQL数据库。①禁用SELinux服务,过程如下。如果不禁用的话,后面启动MySQL服务会被阻止。另外,不要自行卸载CentOS自带的mariadb数据库,安装过程会自动替换mariadb,自行卸载可能会带来一些操作问题。②解压mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar,过程如下。解压mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar,并在解压目录下,使用yum命令进行安装,操作命令如下。[root@masteropt]#tar-xvfmysql-5.7.27-1.el7.x86_64.rpm-bundle.tar[root@masteropt]#yuminstallmysql-community-{server,client,common,libs}-*③完成安装后,编辑/etc/f文件,在[mysqld]配置项中添加skip-grant-tables,过程如图所示。④对MySQL数据库执行初始化,过程如下。执行命令mysqld--defaults-file=/etc/f--initialize-insecure--user=mysql,命令执行结束后,执行命令servicemysqldrestart,重启mysql服务,操作命令及结果如下。[root@masteropt]#mysqld--defaults-file=/etc/my.cnf--initialize-insecure--user=mysql[root@masteropt]#servicemysqldrestart⑤MySQL权限设置,操作命令及结果如下。[root@master~]#mysql-uroot-p#直接回车进入,没有密码,进入MySQL后,通过执行setglobalread_only=0命令,#用来关掉数据库的只读属性。mysql>setglobalread_only=0;mysql>flushprivileges;#通过执行setglobalread_only=1命令,用来设置数据库为只读mysql>setglobalread_only=1;mysql>flushprivileges;mysql>exit;⑥将MySQL的驱动jar包移动到/usr/share/java目录下,如果该目录下没有此目录,需要先自行创建该目录,操作命令如下。[root@masteropt]#mkdir-p/usr/share/java[root@masteropt]#mvmysql-connector-java-5.1.40.jar/usr/share/java/(4)配置AmbariServer①安装AmbariServer,操作命令如下。[root@master~]#yum-yinstallambari-server修改配置文件perties,操作命令如下。[root@master~]#vi/etc/ambari-server/conf/ambari.properties为配置AmbariServer与MySQL的连接,还需要在配置文件的最后添加如下内容。server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.40.jar②AmbariServer需要一个数据库存储元数据,该任务使用M相应ySQL作为第三方数据库。下面为Ambari创建的数据库和用户,操作命令如下。mysql>createdatabaseambaridefaultcharacterset='utf8';mysql>CREATEUSER'ambaridba'@'localhost'IDENTIFIEDBY'123456';如果执行“CREATEUSER'ambaridba'@'localhost'IDENTIFIEDBY'123456';”报错,请运行命令“FLUSHPRIVILEGES;”后,再次运行。mysql>CREATEUSER'ambaridba'@'%'IDENTIFIEDBY'123456';mysql>GRANTALLPRIVILEGESONambari.*TO'ambaridba'@'localhost';mysql>GRANTALLPRIVILEGESONambari.*TO'ambaridba'@'%';mysql>FLUSHPRIVILEGES;进入MySQL,使用新创建的ambari数据库,执行“source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql”命令。mysql>useambari;mysql>source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

#重启MySQL服务servicemysqldrestart③安装AmbariServer,操作命令如下。[root@master~]#ambari-serversetup需要注意的是,在所有操作需要进行选择的时候,选择y,在提示“CheckingJDK…”时,选择3,并输入JDK安装路径,如图所示。此外,在系统提示“Chooseoneofthefollowoptions”时选择3,在Hostname提示项中输入master容器IP地址,在Port和Databasename提示项中选择默认值(直接回车即可),在Username提示项中输入“ambaridba”,在“EnterDatabasePassword”提示项中输入密码“123456”,在“Re-enterpassword”提示项中再次重复输入密码“123456”进行确认。配置完成后,如果可以看到“Successfully”字样即表示配置成功,如图所示。④执行命令“ambari-serverstart”,启动ambari-server,操作命令及结果如下。[root@master~]#ambari-serverstartUsingpython/usr/bin/pythonStartingambari-serverAmbariServerrunningwithadministratorprivileges.Organizingresourcefilesat/var/lib/ambari-server/resources...Ambaridatabaseconsistencycheckstarted...ServerPIDat:/var/run/ambari-server/ambari-server.pidServeroutat:/var/log/ambari-server/ambari-server.outServerlogat:/var/log/ambari-server/ambari-server.logWaitingforserverstartServerstartedlisteningon8080

DBconfigsconsistencycheck:noerrorsandwarningswerefound.AmbariServer'start'completedsuccessfully.访问“http://宿主机IP:8080”,在打开的页面中输入正确的用户名和密码,默认都是“admin”,登录页面如图所示。执行命令“ambari-serverstop”,停止ambari-server服务,执行命令“ambari-serverstatus”,查看ambari-server的状态,操作命令及结果如下。[root@master~]#ambari-serverstop[root@master~]#ambari-serverstatusUsingpython/usr/bin/pythonAmbari-serverstatusAmbariServerrunningFoundAmbariServerPID:258at:/var/run/ambari-server/ambari-server.pid2.部署管理Hadoop集群登录页面http://{IP地址}:8080/,在“用户名”文本框中输入“admin”,在“密码”文本框中输入“admin”,即可启动安装向导、创建集群和安装服务。Ambari管理界面如图所示。单击“启动安装向导”开始部署,安装向导提示为集群起名称,此处名称设置为“hdpCluster”,然后单击“Next”按钮,如图所示。在新页面中,单击“AddVersion”菜单选项,进行版本的选择,如图所示。在图7-8中单击“AddVersion”菜单,打开AddVersion窗口,输入标志版本文件的URL,如图所示。单击“ReadVersionInfo”按钮,修改默认设置为“UseLocalRepository”,并移除除了redhat7以外的版本。默认设置页面,如图所示。移除其他版本后,设置对应版本的“BaseURL”,如图所示。随后需要设置“TargetHosts”,此处设置为“master”,同时需要设置“HostRegistrationInformation”,在输入框中粘贴master节点的id_rsa文件的内容,如图所示。单击“RegisterandConfirm”按钮,打开“ConfirmHosts”界面,并等待认证结果。在该界面中经常会出现认证失败,此时可以单击“Failed”链接,查看失败原因,如图所示。下面给出错误的解决方案。(1)修改权限,操作命令如下。[root@mastercentos7]#chmodo=r/var/lib/ambari-agent/data(2)编辑ambari-agent.ini文件,操作命令及修改文件如下。[root@mastercentos7]#vi/etc/ambari-agent/conf/ambari-agent.ini#末尾添加配置如下[security]force_https_protocol=PROTOCOL_TLSv1_2(3)更新openssl版本,操作命令如下。[root@mastercentos7]#yuminstallopenssl最后单击“RetryFailed”按钮,

直到“Status”项为“Success”为止,需要注意的是该处必须全部检查通过,才能保证后续操作的顺利实现,如图所示。在检查成功后,ambari-agent安装就成功了。接下来就进入安装Hadoop组件的环节。单击“Next”按钮,选择要安装的软件,操作演示中,我们选择安装“HDFS”、“Zookeeper”和“AmbariMetrics”3个组件,如图所示。选择组件后,单击“Next”按钮,将会打开“AssignMasters”界面,如图所示。根据负载均衡的原则,将要安装的组件指派给Master节点。在图7-17中单击“Next”按钮,

打开“AssignSlavesandClient”界面,可根据需要指派master上安装的组件,这里选择安装“DataNode”和“Client”。单击“Next”按钮,如图所示。在打开的“CustomizeServices”页面中,查看各项的参数配置,主要看内存配置,例如“Javaheapsize”等,根据机器总内存大小来分配,这些参数待集群建好后都是可以调整的。单击“AmbariMetrics”链接,在打开页面中的红色提示框中输入默认密码,“admin”,如图所示。单击“SmartSense”链接,在页面的右边部分输入默认密码“admin”,如图所示。在两个红色提示处理完成后,单击“Next”按钮,

进入“Review”页面,可以下载集群节点服务部署信息,如图所示。再次确认安装软件正确后,单击“Deploy”按钮,开始全自动化的部署安装,部署操作完成,如图所示。单击“Next”按钮,打开“Summary”页面,查看软件安装进程的情况,并单击“Complete”按钮,完成软件的安装和部署操作。如图所示。单击页面导航栏中的“Dashboard”按钮

,在主页面中可以查看集群状态和监控信息,如图所示。2.利用Ambari扩展集群可以利用Ambari扩展已经搭建好的集群,主要过程如下。(1)单击导航条中“Hosts”,进入“Hosts”界面,

单击左上角的“Actions”下拉按钮,在弹出的下拉列表中选择“AddNewHosts”选项,如图所示。(2)进入“AddHostWizard”界面,需要输入新增的机器名(包含完整域名)及AmbariService机器上生成的私钥,如图所示。(3)在“ConfirmHosts”页面,若出现failed,重复master节点的修改操作,并重新部署,直到“Status”显示“Success”。如图所示。选择slave1节点安装的组件,如图所示。通过复选框选择slave1节点要安装的组件,操作完成后,即可安装AmbariAgent,并安装选择的组件。

(5)随后的“Configurations”和“Review”页面,Ambari为用户选择了默认的配置。单击“Next”按钮即可,转到“Install,StartandTest”页面进行服务的部署,等待部署完成后单击“Next”按钮,如图所示。当添加主机设置完成时,可以从“Hosts”界面中看到新的机器,以及安装的模块,如图所示。任务7.2

使用Ambari管理Hadoop集群任务实施集群管理包含服务管理、主机管理、进程管理和配置管理。1.服务管理在主界面左侧的服务列表中,可以选择任意一个想要操作的服务。以HDFS为例,选择左侧服务列表中的“HDFS”进项后,可在界面右侧看到该服务的相关信息。选择“概要”选项卡,可以看到HDFS运行的进程信息,包括运行状态、资源使用情况及监控信息。单击页面导航栏中的“服务”按钮,单击导航栏下方的“服务操作”下拉按钮,在弹出的下拉列表中看到很多服务的控制进项,如“启动”“停止”“重启”等,如图7-32所示。通过这些控制项,可以对服务进行管理。Hadoop的集群部署完成后,并不知道这个集群是否可用。此时可以借助“运行服务检查”选项来确保集群服务正常运行。选择此选项后,会在弹出的对话框中显示,如图所示。其实,这里就是通过向HDFS文件系统/tmp目录中上传一个临时文件来检测系统运行是否正常。当进度条执行完毕后,全绿代表服务运行正常,全红代表服务运行失败,黄色代表出现告警信息。“服务操作”下拉列表中的“启动”“停止”“重启”3个选项的含义分别是指启动、停止、重启集群中所有该服务的进程。当进入HDFS服务重启界面时,可以查看每个主机进程的操作进度和运行日志,如图所示。在“服务操作”下拉列表中有“打开维护模式”进项,该选项用于在用户调试或者维护过程中抑制不必要的告警信息,以及避免批量操作的影响(启动所有服务、停止所有服务、重启所有服务等)。维护模式中有不同的级别设置,分别是服务级别、主机级别及进程级别。3种级别之间存在着覆盖关系。例如,由于HDFS部署在多台主机中,当它的维护模式功能启用后,HDFS便不会产生任何新的告警。当用户重启集群所有服务时,该服务会忽略这个批量操作。当用户重启一个机器的所有进程时,该服务的进程也会被忽略。在主界面左侧的服务列表的最下方有一个“动作”按钮,单击该按钮,可以弹出对服务进行操作的下拉列表,其中包含“增加服务”“启动所有服务”“停止所有服务”等进项。2.主机管理单击导航栏中的“主机”按钮,可以打开Ambari所管理的主机列表,如图所示。单击导航栏左下方的“动作”下拉按钮,在弹出的下拉列表中列出了与主机相关的动作的选项,其效果和“服务操作”是类似的,只是执行的范围不一样,如图所示。当用户在“动作”下拉列表中选择“显示主机”→“主机”→“启动所有组件”选项时,Ambari会启动主机中的所有服务。当用户在“动作”下拉列表中选择“所有主机”→“DataNodes”→“停止所有组件”选项时,Ambari会关闭所有机器关于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论