保姆级别CDH安装运维手册_第1页
保姆级别CDH安装运维手册_第2页
保姆级别CDH安装运维手册_第3页
保姆级别CDH安装运维手册_第4页
保姆级别CDH安装运维手册_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

PreparedforPAGEhao.shi@ruis.ioCDH运维手册hao.shi@ruis.ioCDH运维手册

目录1. ClouderaManager使用 12. 配置安装源 22.1. 配置Linux源 22.2. 配置CDH源 33. 集群管理 43.1. 升级CM和CDH 43.1.1. Cloudera升级概述 43.1.2. CDH升级概述 63.1.3. JDK升级 63.1.4. 配置安装源 73.1.5. 升级CM 73.1.6. 升级CDH 143.2. 升级JDK 223.2.1. JDK8安装包准备 233.2.2. 部署JDK8到集群 243.2.3. ClouderaManager配置 243.2.4. 验证集群JDK8环境 253.2.5. 常见问题 263.3. 升级Kafka和Spark 263.3.1. 设置源地址 263.3.2. 更换SparkCSD文件 263.3.3. 配置Spark2的JAVA环境变量 293.4. 集群数据备份 293.4.1. namenode节点元数据备份 293.4.2. 备份MySQL元数据 313.4.3. 集群用户数据备份 313.5. 卸载CDH 323.5.1. 数据备份 323.5.2. 停止所有服务 323.5.3. 删除集群 343.5.4. 停止CM相关服务 343.5.5. 卸载所有服务 343.5.6. 移除ClouderaManager和用户数据 353.5.7. 移除用户数据 363.5.8. 停止并移除外部数据库 373.6. 迁移数据库 383.6.1. 环境说明 383.6.2. 停止所有集群服务 383.6.3. 停止CM服务 393.6.4. 备份原数据库数据 403.6.5. 安装数据库 403.6.6. 启动数据库 403.6.7. 初始化数据库 403.6.8. 导入备份数据至新库 413.6.9. 修改CM的数据库配置信息 413.6.10. 启动CM服务 423.6.11. 修改集群服务配置 423.6.12. 启动所有集群服务 443.7. 迁移Clouderamanager 443.7.1. 环境说明 443.7.2. 服务器配置 443.7.3. 配置安装源 473.7.4. 安装ClouderaManager服务 493.7.5. 为CM配置外部数据库 493.7.6. 停止所有集群服务 503.7.7. 停止CM服务 513.7.8. 迁移原CM节点数据 513.7.9. 更新集群所有节点的CMServer指向 513.7.10. 启动CM服务 523.7.11. 启动所有集群服务 523.8. 集群功能测试 523.8.1. 安全测试 523.8.2. 性能测试 534. 集群节点管理 584.1. 增加节点 584.1.1. 异构节点说明 584.1.2. 环境说明 584.1.3. 服务器配置 594.1.4. 配置kerberos客户端 624.1.5. 模板准备 644.1.6. 安装CDH 674.1.7. 应用主机模板 724.1.8. 迁移角色组 734.1.9. 增加节点后续配置 754.2. 删除节点 764.3. HDFS数据平衡 784.3.1. Balance参数说明 784.3.2. 查看数据分布情况 794.3.3. 使用CM 804.3.4. 额外注意事项 815. 集群用户管理 815.1. Clouderamanager用户添加 815.1.1. 未配置CM和LDAP的集成 815.1.2. 已经配置CM和LDAP的集成 825.2. HUE用户添加 835.2.1. 未配置HUE和LDAP的集成 835.2.2. 已经配置HUE和LDAP的集成 855.2.3. 设置用户为HUE的超级管理员 875.2.4. 设置用户在HUE中的权限 875.3. 集群用户添加 885.3.1. linux用户添加 885.3.2. 为用户生成kaytab 926. 集群资源管理 936.1. YARN动态资源池 936.1.1. 前期配置 946.1.2. 资源池设置 966.1.3. 创建资源池 1006.1.4. YARN任务放置规则配置 1016.2. 静态资源池 1027. 集群安全管理 1047.1. HDFS的权限控制 1047.1.1. 通过命令行授权 1057.1.2. 通过HUE授权 1067.2. Sentry简介 1097.2.1. Sentry术语 1097.2.2. Sentry语法 1107.2.3. Sentry的管理员设置 1127.3. Hive和Impala的权限管理 1137.3.1. 可授权对象 1147.3.2. Hive/Impala操作所需要的权限 1147.3.3. 操作示例 1197.4. Hbase的权限管理 1347.4.1. 设置Hbase的超级用户 1347.4.2. Hbase权限设置 135PAGE1睿势数据ClouderaManager使用ClouderaManager是CDH市场领先的管理平台。作为业界第一的端到端ApacheHadoop的管理应用,ClouderaManager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过ClouderaManger,运维人员得以提高集群的性能,提升服务质量,提高合规性并降低管理成本。ClouderaManager设计的目的是为了使得对于企业数据中心的管理变得简单和直观。通过

ClouderaManager,可以方便地部署并且集中式的操作完整的大数据软件栈。该应用软件会自动化安装过程,从而减少了部署集群的时间。通过ClouderaManager可以提供一个集群范围内的节点实时运行状态视图。同时,还提供了一个中央控制台,可以用于配置集群。不仅如此,ClouderaManager通过包含一系列的报道和诊断工具,可以帮助优化集群性能,并且提高利用率。ClouderaManager能够提供以下的功能:自动化Hadoop安装过程,大幅缩短部署时间提供实时的集群概况,例如节点、服务的运行状况提供了集中的中央控制台对集群的配置进行更改包含全面的报告和诊断工具,帮助优化性能和利用率ClouderaManager

的架构如图所示,主要由如下几部分组成:服务端/Server:ClouderaManager的核心。主要用于管理webserver和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。代理/agent:安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。数据库/Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的Cloudera管理器服务和监视后台程序使用不同的逻辑数据库。ClouderaRepository:用于软件分发由Cloudera软件仓库。客户端/Clients:提供了一个与Server交互的接口:管理平台/AdminConsole:提供一个管理员管理集群和ClouderaManage的基于网页的交互界面。API:为开发者提供了创造自定义ClouderaManager程序的API。配置安装源配置Linux源安装前选择一台机器安装配置本地源并安装http服务,如utility01挂载redhat的安装光盘,/root/rhel-server-x86_64-dvd.is为iso镜像的地址mount-oloop-tiso9660/root/rhel-server-x86_64-dvd.iso/mnt/boson在/etc/yum.repos.d下添加rhel6.repo文件[rhel6]name=RedhatEnterpriseLinuxbaseurl=file:///mnt/bosonenabled=1gpgcheck=1gpgkey=file:///mnt/boson/RPM-GPG-KEY-redhat-release安装http服务yum-yinstallhttpd设置开机自启动chkconfighttpdon启动http服务servicehttpdstart将光盘内容拷贝到/var/www/html下scp-r/mnt/boson/var/www/html/redhat/确认使用http:///redhat可以访问到下载的文件夹。在其他服务器上配置源,在/etc/yum.repos.d下添加rhel.repo文件[local]name=RedhatEnterpriseLinuxbaseurl=/redhatenabled=1gpgcheck=1gpgkey=http:///redhat/RPM-GPG-KEY-redhat-release配置CDH源由于本次在内网环境安装,需要在cloudera官网下载cm安装包和cdhparcel包cm安装包下载地址如下,可按照需要选择自己需要的版本,目前采用的版本为5.11.2/cm5/repo-as-tarball/cdhparcel包下载地址如下,请选择和cm配套的版本/cdh5/parcels/下载后将所有安装包传输至内网环境任一机器,解压缩后的目录结构如下(仅为示意):将所有文件拷贝至/var/www/html/供集群使用,确认使用http:///cdh和http:///cm可以访问到安装包在/etc/yum.repos.d/文件夹下创建repo文件,如cloudera-manager.repo,内容如下。[cloudera-manager]baseurl=http:///cm/5/gpgkey=http:///RPM-GPG-KEY-clouderagpgcheck=1集群管理升级CM和CDHCloudera升级概述下面描述的流程适用于由ClouderaManager管理的集群,对于不是由ClouderaManager管理的集群升级,请参考:/documentation/enterprise/latest/topics/cdh_ig_upgrade_command_line.html#xd_583c10bfdbd326ba--5a52cca-1476e7473cd--7f99CDH和ClouderaManager不用同时升级,但是需要保证ClouderaManager和CDH版本的兼容。ClouderaManager可以管理当前或以前的major版本的CDH,或相同minor版本的CDH,或较低minor版本的CDH。比如,CloudearManager5.7.1可以管理CDH5.7.2,CDH5.6.1和CDH4.8.6,但是不能管理CDH5.8.1.ClouderaManager5.x不能管理CDH3.x。升级时具体有如下几种选择:评估升级影响一般需要规划一个足够长的维护窗口(停机时间)进行升级。根据需要升级的组件,集群的节点数,以及不同的硬件情况,可能需要一整天来进行升级。开始升级之前,需要做好一些前置条件准备以及关键数据备份,这篇文档在讲述升级步骤时也会说明。升级之前,需要查阅ClouderaManager的/documentation/enterprise/release-notes/topics/rg_release_notes.html了解API更改,不推荐的功能,新的功能以及不兼容的更改。同时需要检查/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html来确认支持的操作系统,JDK,数据库和其他组件。ClouderaManager升级概述升级ClouderaManager包括以下步骤:1.在CM节点上升级ClouderaManagerServer,使用操作系统的命令,比如Redhat的yum。也可以手动通过tarballs来升级。2.在所有主机上升级ClouderaManageragent,ClouderaManager的升级向导可以帮助你升级agent(JDK升级可选),同时也可以手动的通过tarballs升级JDK和agent。ClouderaManager升级,可以参考官网文档:/documentation/enterprise/latest/topics/cm_upgrade.html#concept_q1q_mbs_wxCDH升级概述CDH升级包含Hadoop相关组件的升级,可以使用ClouderaManager来升级CDH,采用parcel或package的方式都可以。建议使用parcels来升级CDH,因为ClouderaManager管理这些parcels自动下载,分发和激活。JDK升级在升级ClouderaManager和CDH之前,请确保集群内的所有主机都是使用受支持的OracleJDK参考:/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html。同时,所有主机必须使用相同版本的JDK参考:/documentation/enterprise/latest/topics/cdh_cm_upgrading_to_jdk8.html#xd_583c10bfdbd326ba-590cb1d1-149e9ca9886--7c46配置安装源配置新的CM和CDH源修改/etc/yum.repos.d/cloudera-manager.repo指向新的CM源[cloudera-manager]name=ClouderaManager,Version5.13.0baseurl=31/cm/5gpgkey=31/cm/RPM-GPG-KEY-clouderagpgcheck=1升级CM暂停cms服务选择集群-ClouderaManagementService,选择停止备份数据库在数据库所在服务器上执行如下命令备份原数据库数据mysqldump-uroot-p-A>/root/oldmysql.dump停止CM服务停止cloudera-scm-server和所有cloudera-scm-agentservicecloudera-scm-serverstopservicecloudera-scm-agentstop在ClouderaManager上备份以下目录scp-r/etc/cloudera-scm-server//root/cm_bak/scp-r/etc/cloudera-scm-agent//root/cm_bak/升级CMyumcleanallyumupgradecloudera-manager-servercloudera-manager-daemonscloudera-manager-agent重启Clouderamanagerservicecloudera-scm-serverstart登入CM执行升级向导CM会自动启动升级向导填写CM源选择安装JDK和JCE输入SSH登录凭证等待升级完成检查主机正确性

升级完成进入审核更改向导界面重启ClouderaManagementService重启完成CM显示过期配置,重启服务重启完成升级CDH停止集群服务备份NameNode上的HDFSMetastore,注意,此目录实际地址需要在CM的HDFS配置中查看cd/dfs/tar-czvf/root/nn_bak/nn_backup.tar.gznn/在数据库所在服务器上执行如下命令备份原数据库数据mysqldump-uroot-p-A>/root/newmysql.dump向集群中添加新版的CDH存储库在主页选择升级集群,进入升级向导选择升级版本确认备份通过检测等待parcel分发完成通过主机正确性验证选择完整集群升级等待升级完成升级完成最终化元数据升级在最终化元数据之前,进行几天甚至几周的运行观察集群是否正常,在发现所有任务都没有任何异常情况后,再进行最终化元数据操作。一旦进行最终化元数据之后,就不能回滚到老的版本了,除非有数据备份。对NameNode的主备节点都执行最终化元数据升级操作:功能验证建议参照集群功能测试确认集群功能。升级JDKCDH支持的JDK包括JDK7以及JDK8。Cloudera提供相应JDK包,并可以通过CM自动在集群中部署安装。CDH的版本都能提供对OracleJDK7的支持,而JDK8的支持则需要CDH5.3之后的版本。目前在CDH发行版中自带的JDK版本为1.7.0_67版本。参考文档:/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdkJDK7版本支持情况:JDK7SupportedinallC5.x1.7u80Recommended/Latestversiontested1.7u75Recommended1.7u67Recommended1.7u55MinimumrequiredJDK8版本支持情况:JDK8SupportedinC5.3andHigher1.8u131Recommended/Latestversiontested1.8u121Recommended1.8u111Recommended1.8u102Recommended1.8u91Recommended1.8u74Recommended1.8u31Minimumrequired建议使用Cloudera官网推荐的JDK版本。JDK8安装包准备在oracle官网下载JDK81.8u131的安装包/technetwork/java/javase/downloads/java-archive-javase8-2177648.html下载JDK8的无限制权限策略文件JCE,如果集群未启动Kerberos,无需下载,但是建议下载,以免日后出现问题。/technetwork/java/javase/downloads/jce8-download-2133166.html解压下载的两个压缩包,将UnlimitedJCEPolicyJDK8目录下所有文件拷贝至./jdk1.8.0_131/jre/lib/security目录下覆盖原有文件tarzxvfjdk-8u131-linux-x64.tar.gzunzipjce_policy-8.zipcpUnlimitedJCEPolicyJDK8/*jdk1.8.0_131/jre/lib/security/部署JDK8到集群将jdk1.8.0_131目录拷贝至/usr/java目录下cp-rjdk1.8.0_131//usr/java/jdk1.8.0_131-cloudera将jdk1.8.0_131-cloudera目录同步至集群所有节点的/usr/java目录下。注意:集群中所有节点jdk1.8.0_131-cloudera的部署目录必须一致。nodes=`cat/etc/hosts|grep-v"localhost"|awk'{print$3}'|grep-vkdc*`fortargetin$nodes;doecho$target"==========>";scp-r/usr/java/jdk1.8.0_131-cloudera/$target:/usr/java/;doneClouderaManager配置登录ClouderaManager的Web管理界面,进入主机列表页面点击配置进入主机配置页面选择高级类别,在Java主目录输入jdk8的路径并保存配置回到CM主页根据页面提示重启相应服务验证集群JDK8环境使用ps-ef命令查看启动的java服务使用的jdk版本常见问题cloudera-scm-server使用的jdk版本仍然为jdk7,如需将其切换为jdk8,可以删除CM节点的/usr/java/jdk1.7.0_67-cloudera文件夹并重启cmserver升级Kafka和Spark本文以升级Kafka0.11及Spark2.2为例,这两个版本都需要JDK1.8的支持,因此需要首先按照将CDH集群JAVA升级至JDK8中的步骤升级JDK设置源地址根据配置安装源配置新的Kafka和Spark2源Kafka下载地址/kafka/parcelsSpark2下载地址/spark2/parcels在集群中增加新的parcel库更换SparkCSD文件CSD文件下载地址/spark2/csd/将下载的文件放入/opt/cloudera/csd目录cpSPARK2_ON_YARN-2.2.0.cloudera1.jar/opt/cloudera/csdCSD文件存放的地址可以通过CM中的CustomServiceDescriptors配置项修改重启cloudera-scm-server服务servicecloudera-scm-serverrestart设置parcel下载、分配Parcel包激活parcel包时提示重启,选择滚动重启或重启激活成功回到CM主页,根据提示重启服务并下发客户端配置配置Spark2的JAVA环境变量配置Spark2的JAVA环境变量为JDK8集群数据备份namenode节点元数据备份在CM中选择活动的namenode选择该namenode,进入安全模式选择保存Namespace,此命令将所有edits修改flush到fsimage进入活动namenode的服务器,将namenode元数据备份,根据集群namenode目录进行如下操作mkdir/root/namenode_backtar-czvf/root/namenode_back/nn_back.tar.gz/dfs/nn备份MySQL元数据在utility01上执行以下命令mysqldump-uroot-p-A>/root/oldmysql.dump集群用户数据备份以下路径为Cloudera默认安装目录下各组件用户数据,需在安装相关组件的所有服务器上备份数据/var/lib/flume-ng/var/lib/hadoop*/var/lib/hue/var/lib/navigator/var/lib/oozie/var/lib/solr/var/lib/sqoop*/var/lib/zookeeper#data_driver_path为集群环境部署时设置的目录,如根目录data_drive_path/dfsdata_drive_path/mapreddata_drive_path/yarn可参考以下备份zookeeper数据的方式备份以上所有数据mkdirzookeeper_backscp-r/var/lib/zookeeper//root/zookeeper_back/zookeeper_1卸载CDH数据备份参考集群数据备份备份数据停止所有服务在CM界面中停止所有集群服务先停止集群服务再停止cms服务解除并移除Parcels在CM主页右上角选择parcel图标停用所有parcel删除停用后的parcel,此处以KUDU为例,所有parcel都需删除删除集群在CM界面选择集群,删除停止CM相关服务停止utility01的clouderamanagersystemctlstopcloudera-scm-server停止所有节点的clouderamanageragentsystemctlstopcloudera-scm-agent也可以使用脚本停止clouderamanageragent,此脚本在utility01上执行,并假设utility01已经设置到所有服务器的免密登录,可参考配置操作系统,下同。nodes=`cat/etc/hosts|grep-v"localhost"|awk'{print$3}'|grep-vkdc*`fortargetin$nodes;doecho$target"==========>";ssh-oStrictHostKeyChecking=no$target"servicecloudera-scm-agentstop";done卸载所有服务在所有集群节点上运行以下命令yumremove'cloudera-manager-*'avro-toolscrunchflume-nghadoop-hdfs-fusehadoop-hdfs-nfs3hadoop-httpfshadoop-kmshbase-solrhive-hbasehive-webhcathue-beeswaxhue-hbasehue-impalahue-pighue-pluginshue-rdbmshue-searchhue-sparkhue-sqoophue-zookeeperimpalaimpala-shellkitellamamahoutooziepigpig-udf-datafusearchsentrysolr-mapreducespark-corespark-masterspark-workerspark-history-serverspark-pythonsqoopsqoop2whirrhue-commonoozie-clientsolrsolr-docsqoop2-clientzookeeperyumcleanall移除ClouderaManager和用户数据杀死ClouderaManager和Managed进程在所有集群节点上运行以下命令,将所有服务器的ClouderaManager和Managed进程杀死foruincloudera-scmflumehadoophdfshbasehivehttpfshueimpalallamamapredooziesolrsparksqoopsqoop2yarnzookeeper;dosudokill$(ps-u$u-opid=);done移除ClouderaManager数据在所有集群节点上运行以下命令,删除所有ClouderaManager数据umountcm_processesrm–rf/usr/share/cmf/var/lib/cloudera*/var/cache/yum/x86_64/6/cloudera*/var/log/cloudera*/var/run/cloudera*/etc/cloudera*/usr/lib64/cmf移除ClouderaManagerLockFile在所有集群节点上运行以下命令,删除ClouderaManagerLockFilerm–rf/tmp/.scm_prepare_node.lock移除用户数据在所有集群节点上运行以下命令,删除用户所有数据#用户数据目录rm-rf/var/lib/flume-ng/var/lib/hadoop*/var/lib/hue/var/lib/navigator/var/lib/oozie/var/lib/solr/var/lib/sqoop*/var/lib/zookeeperrm-rf/usr/lib/hadoop/usr/lib/hadoop*/usr/lib/hive/usr/lib/hbase/usr/lib/oozie/usr/lib/sqoop*/usr/lib/zookeeper/usr/lib/bigtop*/usr/lib/flume-ng/usr/lib/hcatalogrm-rf/var/run/hadoop*/var/run/flume-ng/var/run/cloudera*/var/run/oozie/var/run/sqoop2/var/run/zookeeper/var/run/hbase/var/run/hbase/var/run/impala/var/run/hive/var/run/hdfs-sockets#服务命令rm-rf/usr/bin/hadoop*/usr/bin/zookeeper*/usr/bin/hbase*/usr/bin/hive*/usr/bin/hdfs/usr/bin/mapred/usr/bin/yarn/usr/bin/sqoop*/usr/bin/oozie#集群配置文件目录rm-rf/etc/cloudera*/etc/hadoop*/etc/zookeeper*/etc/hive*/etc/hue/etc/impala/etc/sqoop*/etc/oozie/etc/hbase*/etc/hcatalog#集群配置文件目录rm-rf/etc/alternatives/avro-tools/etc/alternatives/beeline/etc/alternatives/catalogd/etc/alternatives/cli_*/etc/alternatives/flume*/etc/alternatives/hadoop*/etc/alternatives/hbase*/etc/alternatives/hcat/etc/alternatives/hdfs/etc/alternatives/hive*/etc/alternatives/hue*/etc/alternatives/impala*/etc/alternatives/llama*/etc/alternatives/load_gen/etc/alternatives/mahout*/etc/alternatives/mapred/etc/alternatives/oozie*/etc/alternatives/pig*/etc/alternatives/pyspark/etc/alternatives/sentry*/etc/alternatives/solr*/etc/alternatives/spark*/etc/alternatives/sqoop*/etc/alternatives/statestored/etc/alternatives/whirr/etc/alternatives/yarn/etc/alternatives/zookeeper*#rm-rf/var/lib/alternatives/avro-tools/var/lib/alternatives/beeline/var/lib/alternatives/catalogd/var/lib/alternatives/cli_*/var/lib/alternatives/flume*/var/lib/alternatives/hadoop*/var/lib/alternatives/hbase*/var/lib/alternatives/hcat/var/lib/alternatives/hdfs/var/lib/alternatives/hive*/var/lib/alternatives/hue*/var/lib/alternatives/impala*/var/lib/alternatives/llama*/var/lib/alternatives/load_gen/var/lib/alternatives/mahout*/var/lib/alternatives/mapred/var/lib/alternatives/oozie*/var/lib/alternatives/pig*/var/lib/alternatives/pyspark/var/lib/alternatives/sentry*/var/lib/alternatives/solr*/var/lib/alternatives/spark*/var/lib/alternatives/sqoop*/var/lib/alternatives/statestored/var/lib/alternatives/whirr/var/lib/alternatives/yarn/var/lib/alternatives/zookeeper*#请修改data_drive_path为自己机器上的路径rm-rfdata_drive_path/dfsdata_drive_path/mapreddata_drive_path/yarn#删除Hadoop相关服务安装目录、服务软件包数据,数据格式为parcels、服务软件包缓存数据rm-rf/opt/cloudera/停止并移除外部数据库在安装mysql的服务器上进行操作。停止mysql数据库,操作如下:servicemysqldstop卸载mysql数据库,操作如下yumremovemysql*删除mysql数据目录,操作如下rm–rf/var/lib/mysql迁移数据库环境说明假设集群已经安装CDH5.12.1并配置了kerberosip及主机名如下31utility068master067master068slave030slave069slave03数据库安装在utility01上,迁移到一台新的主机utility076utility02请注意,本次操作仅仅迁移数据库本身,没有迁移任务其他服务。停止所有集群服务在CM界面中停止所有集群服务先停止集群服务再停止cms服务停止CM服务停止utility01的clouderamanagersystemctlstopcloudera-scm-server停止所有节点的clouderamanageragentsystemctlstopcloudera-scm-agent也可以使用脚本停止clouderamanageragent,此脚本在utility01上执行,并假设utility01已经设置到所有服务器的免密登录,可参考配置操作系统,下同。nodes=`cat/etc/hosts|grep-v"localhost"|awk'{print$3}'|grep-vkdc*`fortargetin$nodes;doecho$target"==========>";ssh-oStrictHostKeyChecking=no$target"servicecloudera-scm-agentstop";done备份原数据库数据在utility01上执行以下命令mysqldump-uroot-p-A>/root/oldmysql.dump安装数据库在utility02上安装新的数据库yuminstall-yMariaDB-serverMariaDB-client启动数据库servicemysqlstartchkconfigmysqlon初始化数据库#创建root访问数据库的密码#禁止远程机器以root用户登录#禁止以匿名方式登录数据库#mysql_secure_installation[...]Entercurrentpasswordforroot(enterfornone):OK,successfullyusedpassword,movingon...[...]Setrootpassword?[Y/n]yNewpassword:Re-enternewpassword:Removeanonymoususers?[Y/n]Y[...]Disallowrootloginremotely?[Y/n]N[...]Removetestdatabaseandaccesstoit[Y/n]Y[...]Reloadprivilegetablesnow?[Y/n]YAlldone!导入备份数据至新库将备份数据传输至新的数据库服务器,在utility01上执行命令scp/root/oldmysql.dumproot@utility02:/root/在utility02上导入数据mysql-uroot-p<oldmysql.dump刷新权限,在mysql命令行执行命令FLUSHPRIVILEGES;修改CM的数据库配置信息修改新CM的数据库配置文件/etc/cloudera-scm-server/perties,将数据库地址指定为新的主机地址utility02,修改后文件如下#Auto-generatedbyscm_prepare_database.shon2017年11月15日星期三10:07:50CST##ForinformationdescribinghowtoconfiguretheClouderaManagerServer#toconnecttodatabases,seethe"ClouderaManagerInstallationGuide."#com.cloudera.cmf.db.type=mysqlcom.cloudera.cmf.db.host==scmcom.cloudera.cmf.db.user=scmcom.cloudera.cmf.db.setupType=EXTERNALcom.cloudera.cmf.db.password=password启动CM服务启动所有节点的clouderamanageragentsystemctlstartcloudera-scm-agent也可以使用脚本启动clouderamanageragentnodes=`cat/etc/hosts|grep-v"localhost"|awk'{print$3}'|grep-vkdc*`fortargetin$nodes;doecho$target"==========>";ssh-oStrictHostKeyChecking=no$target"servicecloudera-scm-agentstart";done启动clouderamanagerserversystemctlstartcloudera-scm-server修改集群服务配置由于做了数据库迁移,所以需要修改依赖到数据库的服务配置,否则服务无法正常启动。这些服务包括ReportsManager,ActivityMonitor,HiveMetastoreServer,oozie,hue,sentry,ClouderaNavigatorAuditServer,ClouderaNavigatorMetadataServer修改方式为进入每个服务的配置页面,搜索数据库主机,将数据库主机修改为utility02以ReportsManager,ActivityMonito为例,修改前配置信息如下修改后配置信息如下启动所有集群服务在新的CM界面中启动所有集群服务,先启动cms服务,再启动集群服务,启动后建议使用集群测试中测试确认服务正常运作。迁移Clouderamanager环境说明假设集群已经安装CDH5.12.1并配置了kerberosip及主机名如下31utility068master067master068slave030slave069slave03clouderamanager安装在utility01上,迁移到一台新的主机utility076utility02请注意,本次操作仅仅迁移clouderamanager本身服务,没有迁移数据库,也没有迁移其他安装在utility01上的其他服务。服务器配置设置主机名centos7下可以用以下命令设置主机名hostnamectlset-hostname配置完成后使用hostname-f命令确认设置正确。配置/etc/hosts文件在每台机器上设置/etc/hosts文件如下,添加一行utiliyt02的解析31utility068master067master068slave030slave069slave0325kdc075kdc076utility02关闭防火墙关闭utility02的防火墙#停止firewallsystemctlstopfirewalld.service#禁止firewall开机启动systemctldisablefirewalld.service#确认关闭firewall-cmd--state关闭SELINUX#临时关闭setenforce0#永久关闭#/etc/sysconfig/selinux是/etc/selinux/config的一个软链接sed-is@enforcing@disabled@g/etc/selinux/config#确认关闭/usr/sbin/sestatus-v禁用大内存页面这一参数默认值可能会导致CDH性能下降#临时关闭echonever>/sys/kernel/mm/transparent_hugepage/enabledechonever>/sys/kernel/mm/transparent_hugepage/defrag#永久关闭echo"echonever>/sys/kernel/mm/transparent_hugepage/enabled">>/etc/rc.localecho"echonever>/sys/kernel/mm/transparent_hugepage/defrag">>/etc/rc.local#确认关闭grep-iHugePages_Total/proc/meminfocat/proc/sys/vm/nr_hugepagessysctlvm.nr_hugepages禁止交换内存内存页面交换在某些情况下会导致CDH性能下降#forruntimeeffectsudosysctlvm.swappiness=1#forpermanenteffectechovm.swappiness=1>>/etc/sysctl.conf#checkcat/proc/sys/vm/swappiness修改文件描述符大小修改/etc/security/limits.conf,添加*softnofile65535*hardnofile65535配置NTP服务yuminstall-yntp修改/etc/ntp.conf文件,添加serverserver重启ntp服务systemctlrestartntpd配置安装源配置mysql-connector-java#下载最新的mysql-connector-javawget/get/Downloads/Connector-J/mysql-connector-java-5.1.44.tar.gztar-xzvfmysql-connector-java-5.1.44.tar.gzmkdir-p/usr/share/javasudomvmysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar/usr/share/java/ln-s/usr/share/java/mysql-connector-java-5.1.44-bin.jar/usr/share/java/mysql-connector-java.jar安装JDK在utility02上安装oraclejdkyuminstall-yoracle-j2sdk1.7配置kerberos客户端由于本次使用freeipa,因此在utility02上安装freeipa的客户端yuminstallipa-clientopenldap-clients-y#--mkhomedir用户自动创建用户家目录,如不需要可以省去ipa-client-install--mkhomedir#命令执行过程Continuetoconfigurethesystemwiththesevalues?[no]:yesUserauthorizedtoenrollcomputers:adminPasswordforadmin@CDHTEST.COM:修改/etc/krb5.conf文件在[libdefaults]下增加renew_lifetime=7d在[libdefaults]下注释下行#default_ccache_name=KEYRING:persistent:%{uid}安装ClouderaManager服务在utility02上安装cm服务端和客户端yum-yinstallcloudera-manager-server安装完成ClouderaManager后暂时不要启动服务。注意:新节点的ClouderaManager版本必须与原ClouderaManager版本一致;节点上不要安装CDH的其它组件为CM配置外部数据库使用以下命令设定cm的数据库,其中第一个scm为数据库名,第二个scm为用户名,password为密码,由于cm的数据库在utility01上,所以用-h命令指定,如果数据库已经迁移,可以在此处指定新的数据库地址,在迁移数据库后,启动集群服务器还需要一些额外配置,否则某些服务无法正常启动,具体可参考迁移数据库#-h<MYSQL_HOST>可以不指定,默认是localhost#DB_TYPE可以是mysql,oracle等#--scm-host<SCM_HOST>可以不指定,默认是本机#DATABASE即为之前为ClouderaManager配置的数据库#USERNAME/PASSWORD即为可以访问这个数据库的用户#/usr/share/cmf/schema/scm_prepare_database.sh–h<MYSQL_HOST><DB_TYPE>--scm-host<SCM_HOST><DATABASE><USERNAME><PASSWORD>/usr/share/cmf/schema/scm_prepare_database.sh-hutility01mysqlscmscmpassword停止所有集群服务在CM界面

温馨提示

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

评论

0/150

提交评论