CDH5.4.7安装部署手册_第1页
CDH5.4.7安装部署手册_第2页
CDH5.4.7安装部署手册_第3页
CDH5.4.7安装部署手册_第4页
CDH5.4.7安装部署手册_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

CDH5.4.7 安装部署手册、文档编号: 版 本 号: V1.0编 写: 审 核:修订记录版本号修订日期章节号修订内容修订人批准人目录1 软件介绍 51.1 关于 CDH 和 Cloudera Manager.52 环境准备 52.1 集群规划 .52.2 环境部署 .72.2.1 MySQL 下载 .72.2.2 JDK 下载 .72.2.3 CDH 下载 72.2.4 JDK 的安装 (所有节点) 82.2.5 关闭防火墙(所有节点) 92.2.6 SSH 无密码登陆 (所有节点) 102.2.7 安装 NTP 时间同步服务(所有节点) 112.2.8 安装 MySQL .143 Cloudera Manager 安装 .173.1 Cloudera Manager 安装 173.1.1 master 配置 .183.1.2 agent 配置 193.2 安装 Cloudera Manager 所需的 rpm 包 203.2.1 安装 rpm 文件 .203.2.2 本地源配置 213.3 启动 Cloudera Manager223.3.1 开启 Cloudera Manager 5 Server 端 223.3.2 重启 Cloudera Manager 5 Server 端 233.3.3 启动 Agent .234 安装 CDH235 CM 卸载 .276 杂记:Namenode 和 Secondarynamenode 的关系 【转】 .271 软件介绍1.1 关于 CDH 和 Cloudera ManagerCM: Cloudera Manager (Cloudera 公司专有的 Hadoop 集群管控平台) 。CDH: Cloudera Distributed Hadoop(Cloudera 公司重新打包发布的 Hadoop 版本) 。Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System) ,简称 HDFS。HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS 放宽了 POSIX 的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop 框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。2 环境准备2.1 集群规划IP 地址 主机名 角色1 c1n1 NN/ RM/ HMaster/ZKFC/JobHistoryServer2 c1n2 NN/ RM/ HMaster/ZKFC 3 c1d1 DN/ NM/ HRegionServer 4 c1d2 DN/ NM/ HRegionServer 5 c1d3 DN/ NM/ HRegionServer 6 c1d4 DN/ NM/ HRegionServer 7 c1d5 DN/ NM/ HRegionServer 8 c1d6 DN/ NM/ HRegionServer 9 c1d7 DN/ NM/ HRegionServer 0 c1d8 DN/ NM/ HRegionServer/ JN/ ZK1 c1d9 DN/ NM/ HRegionServer/ JN/ ZK2 c1d10 DN/ NM/ HRegionServer/ JN/ ZK 服务器配置:软硬件配置: 账号 密码主机型号 Dell PowerEdge R720物理机硬件配置(CPU/MEM)10C/64G物理机硬件配置(DISK)1T 硬盘 x1550G 硬盘 x21Namenode、HmasterResourceManager1-22 台操作系统及版本号RED HAT ENTERPRISE LINUX SERVER RELEASE 6.4root big1data主机型号 Dell PowerEdge R620物理机硬件配置(CPU/MEM)10C/32G物理机硬件配置(DISK)1T 硬盘 x42Datanode、NodeManager、HRegionServer3-97 台操作系统及版本号RED HAT ENTERPRISE LINUX SERVER RELEASE 6.4root big1data主机型号 Dell PowerEdge R620物理机硬件配置(CPU/MEM)10C/32G物理机硬件配置(DISK)1T 硬盘 x43Zookeeper0-23 台操作系统及版本号RED HAT ENTERPRISE root big1data软硬件配置: 账号 密码LINUX SERVER RELEASE 6.42.2 环境部署2.2.1 MySQL 下载(1)MySQL-client-5.6.25-1.el6.x86_64.rpm /Downloads/MySQL-5.6/MySQL-client-5.6.25-1.el6.x86_64.rpm(2)MySQL-server-5.6.25-1.el6.x86_64.rpm /Downloads/MySQL-5.6/MySQL-server-5.6.25-1.el6.x86_64.rpm(3)mysql-connector-java-5.1.36.zip / 中使用/get/Downloads/Connector-J/mysql-connector-java-5.1.36.zip2.2.2 JDK 下载(1)jdk-7u71-linux-x64.tar.gz/technetwork/java/javase/downloads/jdk7-downloads-1880260.html2.2.3 CDH 下载(1)cloudera-manager-el6-cm5.3.4_x86_64.tar.gz/cm5/cm/5/(2)rpm 包/cm5/redhat/6/x86_64/cm/5.4.5/RPMS/x86_64/(3)parcel 文件/cdh5/parcels/5.4.5/以上存放目录:/opt/CDH2.2.4 JDK 的安装 (所有节点)安装好的 Centos 系统有时会自动安装 OpenJdk,用命令 java -version 查看1、删除 CentOS 自带的 JDK 查看当前 JDK rpm 包 #rpm -qa | grep jdkjava-1.7.0-openjdk-5-.el6.x86_64java-1.6.0-openjdk-devel--3.0.el6.x86_64java-1.7.0-openjdk-devel-5-.el6.x86_64java-1.6.0-openjdk--3.0.el6.x86_64 删除自带 JDK rpm -e -nodeps java-1.7.0-openjdk-5-.el6.x86_64rpm -e -nodeps java-1.6.0-openjdk-devel--3.0.el6.x86_64rpm -e -nodeps java-1.7.0-openjdk-devel-5-.el6.x86_64rpm -e -nodeps java-1.6.0-openjdk--3.0.el6.x86_64 检查是否删除干净#rpm -qa | grep jdk2、安装目录/opt/jdk1.7.0_713、 安装 JDK首先将 jdk-7u71-linux-x64.tar.gz 解压tar -xzvf jdk-7u71-linux-x64.tar.gz -C /opt/4 、设置环境变量#vi /etc/profileexport JAVA_HOME=/opt/jdk1.7.0_71export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=$JAVA_HOME/libexport CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib5、使配置生效#source /etc/profile6、检查 JDK 安装java -version2.2.5 关闭防火墙(所有节点)防火墙会引起 hadoop 相关组件通讯的各种异常,需关闭防火墙。用 root 用户权限登录进行操作。1 、关闭防火墙#service iptables stop验证:service iptables status#service iptables stop (临时关闭) #chkconfig iptables off (重启后生效)2、 关闭 selinuxselinux 是一种强制访问控制的实现vi /etc/selinux/configSELINUX=disabled3、验证使用 getenforce 命令查看是否关闭#getenforceDisabled4、绑定 IP 与主机名(所有节点)修改/etc/hosts在每台机器的/etc/hosts 中配置集群中各节点的 IP 和 IP 对应的机器名,具体内容如下:执行命令修改主机名修改/etc/sysconfig/network 文件:将各个节点的 hostname,修改为对应的主机名,便于区分。重启网络,使修改生效#service network restart2.2.6 SSH 无密码登陆 (所有节点)配置 ssh 互信的核心思想如下: 首先,在要配置互信的机器上,生成各自的经过认证的 key 文件; 其次,将所有的 key 文件汇总到一个总的认证文件中; 将这个包含了所有互信机器认证 key 的认证文件,分发到各个机器中去; 验证互信。 1、生成秘钥对#ssh-keygen -t rsa连续 3 个回车即可,不必输入2、分别改变/.ssh 目录和 authorized_keys 文件的权限(非 root 用户务必做,保证只有用户自己有写权限,否则免密码登录无效,root 用户不做)#chmod 700 /.ssh#chmod 600 /.ssh/authorized_keys (备注:root 用户省略此步骤)3、每个节点主机都重复以上步骤,并将各自的/.ssh/id_rsa.pub 文件的公钥拷贝至其他主机。hadoop2:scp /root/.ssh/id_rsa.pub hadoop1:root/.ssh/id_rsa.pub2hadoop3:scp /root/.ssh/id_rsa.pub hadoop1:/root/.ssh/id_rsa.pub3hadoop4:scp /root/.ssh/id_rsa.pub hadoop1:/root/.ssh/id_rsa.pub4hadoop5:scp /root/.ssh/id_rsa.pub hadoop1:/root/.ssh/id_rsa.pub54、创建公钥认证文件 authorized_keys 并将生成的/.ssh 目录下的 id_rsa.pub 文件 的内容输出至该文件。 在 hadoop1 中执行: cat /root/.ssh/id_rsa.pub* /root/.ssh/authorized_keys 5、将生成 authorized_keys 文件拷贝到其他主机上的/root/.ssh/目录中。hadoop2hadoop6 将自己的公钥复制给对方主机scp /root/.ssh/authorized_keys hadoop2:/root/.ssh/scp /root/.ssh/authorized_keys hadoop6:/root/.ssh/scp /root/.ssh/authorized_keys hadoop2-5:/root/.ssh6、测试 ssh 互信在各个节点上运行以下命令,若不需要输入密码就显示系统当前日期,就说明 SSH 互信已经配置成功了。在 c1n1 节点上输入以下命令:ssh c1n2 datessh c1d1 datessh c1d2 datessh c1d3 datessh c1d4 date2.2.7 安装 NTP 时间同步服务(所有节点)集群中所有主机必须保持时间同步,如果时间相差较大(一般大于 6 秒)会引起各种问题。 具体思路如下。master 节点作为 ntp 服务器与外界对时中心同步时间,随后对所有datanode 节点提供时间同步服务。所有 datanode 节点以 master 节点为基础同步时间。NTP 可以使用 yum 直接安装# yum install -y ntp每台机器安装 ntp 与 ntpdate,并执行以下命令:#service ntpd start 启动 NTP 时间同步服务#chkconfig ntpd on 配置开机启动#chkconfig -list ntpd 查看开机启动设置是否成功 #检查是否 ntp 开启,命令结果,2-5 是启用与主控机同步,先配置主控机的时间与实际时间符合,然后搭建时间服务器并进行同步,步骤如下:配置 NTP 主机端 NTP 服务只有一个配置文件,配置好了就 OK。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出。#vim /etc/ntp.conf加入以下内容:restrict mask nomodify notrap # 允许内网其他机器同步时间server # 外部时间服务器不可用时,以本地时间作为时间服务fudge stratum 10 #service ntpd restart#ntpstat #查看验证出现以下状态代表启动成功:synchronised to NTP server () at stratum 2time correct to within 74 mspolling server every 128 s配置 NTP 客户端#vim /etc/ntp.conf 注释带 server 字眼行部分内容 添加 server 主机名或 ip 如:server 0 /proc/sys/vm/swappiness已启用“透明大页面” ,它可能会导致重大的性能问题。版本为“CentOS release 6.5 (Final)”且发行版为 “2.6.32-431.el6.x86_64”的 Kernel 已将 enabled 设置为“always madvise never”,并将 defrag 设置为“always madvise never”。请运行“echo never /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会予以设置。或者,升级到 RHEL 6.5 或更新版本,它们不存在此错误。将会影响到以下主机:解决办法:执行下面即可echo never /sys/kernel/mm/redhat_transparent_hugepage/defragJAVA_HOME=/usr/java/jdk1.6.0_31 java version “1.6.0_31“ Java(TM) SE Runtime Environment (build 1.6.0_31-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)先用 which java 查看用的是哪个 JAVA,结果显示为 /usr/bin/java不是自己安装的 java。环境变量未生效。与其他节点 java 版本不一致。解决方法为:上图说明并不是用的刚安装的 JAVA 版本,那么把 JAVA 路径放到 PATH删除 /usr/java 文件夹: 执行一下命令:sudo update-alternatives -install /usr/bin/java java /usr/local/java/jdk1.7.0_71/bin/java 300总结:第一个:设置为 0#echo 0/proc/sys/vm/swappiness第二个:关闭透明大页面#echo never/sys/kernel/mm/redhat_transparent_hugepage/defrag/*在.bashrc 中添加echo never /sys/kernel/mm/redhat_transparent_hugepage/defragecho 0 /proc/sys/vm/swappinesssource .bashrc*/第三个:java 版本不一致解决方法:# vi /usr/lib64/cmf/service/common/cloudera-config.sh增加自定义 java 路径:export JAVA_HOME=/opt/java1.7_71重启 CDH 后 现象消失,接下来是选择安装服务。5 CM 卸载/content/cloudera/en/documentation/cloudera-manager/v4-8-1/Cloudera-Manager-Installation-Guide/cmig_uninstall_CM.html6 杂记: Namenode 和 Secondarynamenode 的关系【转】NameNode 将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits) 。当一个 NameNode 启动时,它首先从一个映像文件(fsimage)中读取 HDFS 的状态,接着应用日志文件中的 edits 操作。然后它将新的 HDFS 状态写入(fsimage)中,并使用一个空的 edits 文件开始正常操作。因为 NameNode只有在启动阶段才合并 fsimage 和 edits,所以一段时间后日志文件可能会变得非常庞大,特别是对大型的集群。日志文件太大的另一个副作用是下一次NameNode 启动会花很长时间。Secondary NameNode 定期合并 fsimage 和 edits 日志,将 edits 日志文件大小控制在一个限度下。因为内存需求和 NameNode 在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。Secondary NameNode 通过 bin/start-dfs.sh 在 conf/masters 中指定的节点上启动。Secondary NameNode 的检查点进程启动,是由两个配置参数控制的:* fs.checkpoint.period,指定连续两次检查点的最大时间间隔, 默认值是 1 小时。* fs.checkpoint.size 定义了 edits 日志文件的最大值,一旦超过这个值会导致强制执行检查点(即使没到检查点的最大时间间隔) 。默认值是 64MB。Secondary NameNode 保存最新检查点的目录与 NameNode 的目录结构相同。所以 NameNode 可以在需要的时候读取 Secondary NameNode 上的检查点镜像。如果 NameNode 上除了最新的检查点以外,所有的其他的历史镜像和 edits 文件都丢失了, NameNode 可以引入这个最新的检查点。以下操作可以实现这个功能:* 在配置参数 .dir 指定的位置建立一个空文件夹;* 把检查点目录的位置赋值给配置参数 fs.checkpoint.dir;* 启动 NameNode,并加上-importCheckpoint。NameNode 会从 fs.checkpoint.dir 目录读取检查点,并把它保存在 .dir目录下。如果 .dir 目录下有合法的镜像文件,NameNode 会启动失败。 NameNode 会检查 fs.checkpoint.dir 目录下镜像文件的一致性,但是不会去改动它。SecondaryNameNode 工作流程:SecondaryNameNode 节点通知 NameNode 节点生成新的日志文件,以后的日志都写到新的日志文件中。SecondaryNameNode 节点用 http get 从 NameNode 节点获得 fsimage 文件及旧的日志文件。SecondaryNameNode 节点将 fsimage 文件加载到内存中,并执行日志文件中的操作,然后生成新的 fsimage 文件。SecondaryNameNode 节点将新的 fsimage 文件用 http post 传回 NameNode 节点上。NameNode 节点可以将旧的 fsimage 文件及旧的日志文件,换为新的fsimage 文件和新的日志文件( 第一步生成的),然后更新 fstime 文件,写入此次checkpoint 的时间。这样 NameNode 节点中的 fsimage 文件保存了最新的checkpoint 的元数据信息,日志文件也重新开始,不会变的很大了。python -c import socket; print socket.getfqdn(), socket.gethostbyname(socket.getfqdn()/查看主机和 IP遇到问题:1. 报告 JAVA_HOME 未指定错误。因为我的 JAVA_HOME 路径,并不是cloudera 默认路径,好像在/etc/profile 指定,它也找不到. 修改/etc/default/cloudera-scm-agent 如下: export CMF_AGENT_JAVA_HOME=/usr/custom_java+ date+ dateWed Sep 2 13:54:31 CST 2015+ umask 027+ BASE_JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:-CMSConcurrentMTEnabled -XX:+UseParNewGC+ MGMT_JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:-CMSConcurrentMTEnabled -XX:+UseParNewGC + MGMT_JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:-CMSConcurrentMTEnabled -XX:+UseParNewGC -Dmgmt.log.file=+ MGMT_JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:-CMSConcurrentMTEnabled -XX:+UseParNewGC -Dmgmt.log.file= -Djava.awt.headless=true+ MGMT_JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:-CMSConcurrentMTEnabled -XX:+UseParNewGC -Dmgmt.log.file= -Djava.awt.headless=true -D.preferIPv4Stack=true+ MGMT_HOME_ARG_NAME=-mgmt-home+ dirname /usr/lib6

温馨提示

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

评论

0/150

提交评论