cdh

hadoop 集群调优实践总结

余生长醉 提交于 2019-11-29 17:42:19
调优概述 # 几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况. IO受限例子: 索引 分组 数据倒入导出 数据移动和转换 CPU受限例子: 聚类/分类 复杂的文本挖掘 特征提取 用户画像 自然语言处理 我们需要从硬件规划和软件规划等多方面结合实现性能和效率的提升。 硬件规划 # 评估集群规模 # 我们需要搭建多少节点的hadoop集群?回答这个问题考虑的因素比较多:预算?数据量?计算资源? 需要多少计算资源可能不是特别好评估,推荐横向扩展,随业务规模和应用发展再考虑扩展。开始可以就按照数据量来评估数据规模,估计一下每天的数据增量?保存数据的周期是多少?有没有冷数据方案? 假设每天增长的数据为600G、3备份存储,以一年规划为例,大概存储为600G 3 360天=633T, 再考虑增加%20的预留,考虑未来数据增长的趋势,考虑应用计算等空间需求。为节省空间可考虑压缩存储(大概可以节省70%空间)。 同时考虑一定冗余量,如果集群一部分节点不可用也要保证业务正常使用(根据集群规模评估冗余比例)。 然后结合节点硬件规划和预算,确定集群规模。假如我们需要650T存储,可以采用30台12 x 2TB的存储配置或者 60台6 x 2TB配置,但是节点数量翻翻

Cloudera Manager5及CDH5离线安装说明

有些话、适合烂在心里 提交于 2019-11-29 09:42:42
关于技术选型 --- http://www.tuicool.com/articles/7RRrie 同时可参考: http://www.doc88.com/p-0042075356791.html ‍1. 概述 ‍本文概述了在CentOS6环境下,离线安装Cloudera Manager5(以下称CM5)及CDH5的相关步骤说明。 ‍至于Cloudera Manager及CDH所代表的含义属本文范围外。如果你不了解什么是Cloudera Manager及CDH,建议先进行相关知识的了解,再阅读本文。 ‍本次安装的环境如下: IP HOSTNAME Role 192.168.10.101 work01 CM5 CDH5 192.168.10.102 work02 CDH5 192.168.10.103 work03 CDH5 192.168.10.104 work04 CDH5 特别说明: ‍1.采用的安装顺序是先安装CM5,再通过CM5来安装CDH5。 ‍2.之所以选择离线安装是因为国内连接国外的网速实在太慢,且一旦安装失败就会导致全部回滚从头安装,所以不得不选择离线安装。否则选择联机安装将会更简单。 3.本次安装说明里记述的CentOS6的具体版本为CentOS release 6.4 (Final),CDH5具体版本为CDH5.0.2。 ‍4.全程root用户操作。 ‍5

Hadoop CDH5 Spark部署

爱⌒轻易说出口 提交于 2019-11-29 09:12:13
Spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速,Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。 CDH5 Spark安装 1 Spark的相关软件包 spark-core: spark的核心软件包 spark-worker: 管理spark-worker的脚本 spark-master: 管理spark-master的脚本 spark-python: Spark的python客户端 2 Spark运行依赖的环境 CDH5 JDK 3 安装Spark apt-get install spark-core spark-master spark-worker spark-python 4 配置运行Spark (Standalone Mode) 1 Configuring Spark(/etc/spark/conf/spark-env.sh) SPARK_MASTER_IP, to bind the master to

CDH脚本化一键部署

与世无争的帅哥 提交于 2019-11-29 06:50:50
一、为什么要用脚本来实现 避免人为操作导致的频繁问题,统一实现标准,简化部署启动流程。 二、基础环境配置 2.1 参照之前的cdh基础配置部分 2.2 jdk安装 选择 64位版本 2.3 mysql安装 无密码策略的选择Mysql5.6 (推荐--部署减少问题) 有密码策略选择Mysql5.7 (建立Mysql账户的时候会按照密码等级报错,cdh启动创建scm账户会有些问题,当然也有解决方案) 2.4 centos&cdh版本选择 centos一定要用64位的, cdh要针对性的下载 el6与el7分别对应centos6和centos7。 三、脚本构建和启动 3.1 标准部署模板 cdhfile中放置 3.2 启动部署脚本 启动脚本 [root@master soft]# sh base-env-cdh-master.sh 来源: https://blog.csdn.net/qq_24935049/article/details/100544559

CM & CDH 基本概念

佐手、 提交于 2019-11-29 06:40:20
什么是 CDH Hadoop 是开源项目,所以很多公司在这个基础上进行商业化,不收费的 Hadoop 主要有三个: Apache,最原始的版本,所有发行版均基于这个版本进行 Cloudear,全称 Cloudera’s Distribution Including Apache Hadoop,简称 CDH Hortonworks,全称 Hortonworks Data Platform,简称 HDP 什么是 Cloudera Manager Cloudear Manager,简称 CM,用于管理 CDH 集群,其主要功能是对 CDH 集群进行监控,大大改善原生 Apache Hadoop 的安装、配置复杂度和需要使用第三方开源监控工具所带来的诸多问题,可进行节点安装、配置、诊断、集成并提供 web 界面。 CM 架构 基本组成: Server Agent:安装在每个集群节点上,Server 下发的操作都由 Agent 来实现 Management Service:监控报警等功能 Database:存储各种服务配置信息和报警信息 Cloudera Repoistory:用来分发 Parcels 包的远程仓库 Clients Server 和 Agent 通信方式:默认情况下,Agent 每隔 15s 向 Server 发送心跳。但是当状态发生变化时,为了减少用户等待时间

CDH安装错误集锦

泄露秘密 提交于 2019-11-28 13:34:32
CDH安装过程中出现的错误 1、iptables: /sbin/iptables 不存在 我是因为误删将 /sbin/下的文件删除了。 解决方法: yum install iptables 2、com.mysql.jdbc.execptions.jdbc4.CommunicationsException:Communication link failure 连接MySQL 的驱动包找不到。 解决方法:需要将 mysql-connector-java-5.1.31-bin.jar 包 拷贝到/opt/cm-5.4.3/share/cmf/lib下 3、安装失败,无法接受到Agent发出的检测信号。 查看主机名有错,查看 /etc/hosts 和 /etc/sysconfig/network 下的配置是否一致 关闭防火墙 service iptables stop 启动 Httpd服务 service httpd start 4、重装HDFS出错 Error:正在连接NameNode的名称目录是否为空,尽在为空时格式化HDFS 解决办法:需要在namenode和所有的datanode上执行 rm -rf /def 5、重装oozie出错 Error:DB schema exists java.lang.Exception:DB schema exists 解决办法:rm -rf

CDH安装时,无法纳管全部的节点的一个bug

僤鯓⒐⒋嵵緔 提交于 2019-11-28 13:21:38
问题描述: 使用CDH 5.2版本安装时,agent节点有12个。按照安装说明,在各个节点启动cm-agent之后,发现只有6个节点能被纳管。其它的节点总是无法加入纳管中。 在确认防火墙已经关闭后,仍然无法解决问题 问题分析: 1. 查看已经加入纳管的节点,发现这6个节点并不是固定的,有一个节点是不断变换的。查看数据库中。 mysql> select * from HOSTS; +---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+ | HOST_ID | OPTIMISTIC_LOCK_VERSION | HOST_IDENTIFIER | NAME | IP_ADDRESS | RACK_ID | STATUS | CONFIG_CONTAINER_ID |

CDH环境Hive小文件合并设置

拜拜、爱过 提交于 2019-11-28 07:55:24
Hive迁移数据时发现大量小文件,严重影响Hive执行效率,在这里记录下小文件合并的问题。 小文件产生的原因 执行MapReduce任务时,通过会作一些优化,比如增加Reduce并行度来提升计算效率。而Reduce的增多意味着输出结果文件的增多,所以会产生小文件问题。 小文件产生的问题 NameNode存储元数据信息,包括HDFS的抽象目录树结构,存储数据和block分块对应关系、位置、大小等,启动时会加载到内存。每个存储对象大约150字节,所以当文件达到千万级时,内存中的元数据达到3G以上,NameNode的性能就会受影响。 HDFS文件读写时,会先向NameNode获取元数据信息,再通过元数据找到block对应的DataNode进行文件读写,大量的小文件会导致HDFS的读写受到影响。 执行Hive任务时,每个文件执行一个MapTask,小文件数据过多,会导致大量MapTask的不断启动和初始化,这样时间远远大于逻辑处理时间,导致Hive任务时间太长,造成资源浪费,甚至oom。执行Hive任务时,如果发现数据量不大但是任务数很多时,应该注意在Map的输入进行小文件合并。 Hive优化方式 1. 输入合并,也就是在Hive读取文件,Map读取时进行小文件合并。 2. 输出合并,在MapReduce输出结果时进行小文件合并。 3. JVM重用

zeppelin on CDH及配置spark查询hive表

守給你的承諾、 提交于 2019-11-28 07:51:18
2019独角兽企业重金招聘Python工程师标准>>> 1.下载zeppelin http://zeppelin.apache.org/download.html 我下载的是796MB的那个已经编译好的,如果需要自己按照环境编译也可以,但是要很长时间编译,这个版本包含了很多插件,我虽然是CDH环境但是这个也可以使用。 2.修改配置文件 cd /zeppelin-0.7.3-bin-all/conf cp zeppelin-env.sh.template zeppelin-env.sh cp zeppelin-site.xml.template zeppelin-site.xml vim zeppelin-env.sh 添加配置如下:我的是spark2用不了spark1.6版本这个版本的zeppelin export HIVE_HOME=/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive export JAVA_HOME=/usr/java/jdk1.8.0_121 export MASTER=yarn-client export ZEPPELIN_JAVA_OPTS="-Dmaster=yarn-client -Dspark.yarn.jar=/home/zeppelin-0.7.3-bin-all

CDH集群安装出现问题参考

半腔热情 提交于 2019-11-28 07:09:49
一、登录Cloudera Manager (http://192.168.201.128:7180/cmf/login)时,无法访问web页面   针对此问题网上有较多的解决方案(e.g. https://www.cnblogs.com/zlslch/p/7078119.html), 如果还不能解决你的问题,请看下面的解决方案。   登录MySQL数据库(或利用Navicat),会发现有一个mysql数据库(下图所示),在mysql数据库中有一个user表,将User="root"的两条记录进行删除 select * from user; delete from user where User='root';   再次登录http://192.168.201.128:7180/cmf/login,发现登录成功! 二、利用Navicat连接MySql数据库时,错误信息:Can't connect to MySQL server on 'xxxxx'(10038)    解决方案:      查看网络的端口信息:netstat -ntpl,下图状态为正常状态(不是请进行如下操作),如果没有netstat,在CentOS 7下利用yum -y install net-tools进行安装。          查看防火墙的状态,发现3306的端口是丢弃状态: iptables -vnL