工作中Hadoop,Spark,Phoenix,Impala 集群中遇到坑及解决方案
1.HDFS 修复
问题描述:其他部门在yarn平台上跑spark 程序错误的生成了海量的不到100K的小文件,导致namenode压力过大,其中一个namenode宕机后,没有及时发现 使得edits文件大量积累,在namenode1宕机后,namenode2 随后在凌晨1点也宕机。
原因分析:NameNode 内存设置太低,之前内存设置在1G,后调高namenode 堆内存,调高到18G。编写程序的人员不应该生成海量的小文件落地HDFS,大量的小文件不适合存储在HDFS上。
问题解决方案:提高namenode 内存,由于edits文件太多,删除了edits文件,但是journalNode 上edits txid不一致,导致namenode 无法启动,后执行命令 初始化edits文件的txid ,修复完毕!丢失了少量的文件。
2.Spark 客户端安装后Driver和Yarn无法通讯
问题描述:项目经理在10.10.26.7 机器上安装spark 客户端,但是dirver端和yarn无法通讯.一直报通讯超时
原因分析:由于客户端是centos6,服务端为centos7。底层通讯方式不相同
问题解决方案:升级客户端机器到centos7问题解决。
3.Phoenix 安装和Hive出现冲突
问题描述:把 phoenix-hbase-client.jar phoenix-hbase-core.jar phoenix-hbase-server.jar 放到了hbase的jar目录下,hbase 使用没有问题,phoenix使用没有问题,但是执行hive命令报错,hive无法使用。
原因分析:hive首先加载hive lib目录下的jar文件,然后加载hbase 下的jar文件,由于hbase下phoenix-hbase-client.jar文件中的一个java文件依赖的其他jar版本太低,hive版本太高,无法找到其中一个类,然后报ClassNotDef
问题解决方案:去掉phoenix-hbase-client.jar 即可,目前看来这个包没有什么用。
4.HDFS扩容升级
问题描述:新增加机器,扩容HDFS,已经扩容完毕,之后运维部重新挂载磁盘,HDFS出现逻辑卷错误
问题分析:日志显示挂载磁盘错误,实际是写数据的目录权限不足
问题解决方案:修改挂载的磁盘的所属用户为hadoop,重新启动dataNode即可
5.Yarn NodeManager OOM
问题描述:向集群提交大的作业 Yarn平台的NodeManager OOM ,OOM死掉后的NodeManager,存活的NodeManager 正在运行就会出现core使用出现负数。
问题分析:由于yarn进程所需的内存不足出现OOM
问题解决方案:在/opt/hadoop/libexe/hadoop_config.sh 在尾部添加
6. Impala 根据时间戳查询Hbase
问题描述:使用Impala 查询hbase中的数据,出现错误找不到列
问题分析:impala不支持根据hbase timestamp查询
问题解决方案:https://issues.apache.org/jira/browse/IMPALA-2121
7.HDFS 异构存储 磁盘容量不一致
问题描述:由于HDFS dataNode节点的磁盘大小不一致,导致小容量的HDFS先打满,yarn跑任务出现问题
问题分析:尽量让数据一致
问题解决方案:开启HDFS让数据优先写入容量大的磁盘,优先写入容量的dataNode节点,开启rebalance
8.HDFS 机架感知不可以同时存在有机架和没有机架的节点
问题描述:机架感知不可以同时存在有机架和没有机架的节点
问题分析:开始以为是HDFS的topology.sh文件中的default-rack导致的,但是修改为已有的机架依旧不可以,观察HDFS源码发现hdfs源码中也有default-rack,如果没有机架配置默认使用default-rack即没有机架
问题解决方案:由于topology.data文件最后一行需要回车即可
9.Yarn NodeManager 宕机
问题描述:新增的NodeManager 机器NodeManager 进程一直宕
问题分析:观察日志问OOM,打开文件limit受限制
问题解决方案:修改linux系统其它用户打开文件数量的限制即可解决
10. HDFS NameNode无法和JournalNode通讯,NameNode宕机
问题描述: 由于运维修改网络导致journalNode无法和nameNode 通讯,观察日志NameNode尝试与journalNode通讯10次失败后,NameNode直接宕机
问题分析: JournalNode网络通讯高可用需要保证
问题解决方案:重新启动nameNode问题解决
工作中Hadoop,Spark,Phoenix,Impala 集群中遇到坑及解决方案的更多相关文章
- hadoop - spark on yarn 集群搭建
一.环境准备 1. 机器: 3 台虚拟机 机器 角色 l-qta3.sp.beta.cn0 NameNode,ResourceManager,spark的master l-querydiff1.sp ...
- 如果Apache Spark集群中没有分布式系统,则会?
若当连接到Spark的master之后,若集群中没有分布式文件系统,Spark会在集群中每一台机器上加载数据,所以要确保Spark集群中每个节点上都有完整数据. 通常可以选择把数据放到HDFS.S3或 ...
- 搭建Spark高可用集群
Spark简介 官网地址:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 sp ...
- spark教程(一)-集群搭建
spark 简介 建议先阅读我的博客 大数据基础架构 spark 一个通用的计算引擎,专门为大规模数据处理而设计,与 mapreduce 类似,不同的是,mapreduce 把中间结果 写入 hdfs ...
- 针对负载均衡集群中的session解决方案的总结
在日常运维工作中,当给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP.Python.Ruby还是Java语言环境,只要使用服务器保存Session,在做负 ...
- 负载均衡集群中的session解决方案
前言 在我们给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP.Python.Ruby还是Java,只要使用服务器保存Session,在做负载均衡时都需要考 ...
- 负载均衡集群中的session解决方案【转】
通常面临的问题 从用户端来解释,就是当一个用户第一次访问被负载均衡代理到后端服务器A并登录后,服务器A上保留了用户的登录信息:当用户再次发送请求时, 根据负载均衡策略可能被代理到后端不同的服务器,例如 ...
- Hadoop集群中添加硬盘
Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步 ...
- Hadoop学习之路(十二)分布式集群中HDFS系统的各种角色
NameNode 学习目标 理解 namenode 的工作机制尤其是元数据管理机制,以增强对 HDFS 工作原理的 理解,及培养 hadoop 集群运营中“性能调优”.“namenode”故障问题的分 ...
随机推荐
- 让Netty入门变得简单
让Netty入门变得简单 https://mp.weixin.qq.com/s/MBnbLmCmFJo0QK9WNwXrXQ 如果先启动nettyClient就不会有nettyServer输出了: p ...
- [Compose] 17. List comprehensions with Applicative Functors
We annihilate the need for the ol' nested for loop using Applicatives. For example we have this kind ...
- (剑指Offer)面试题41:和为s的连续正数序列
题目: 输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数).例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1-5,,4-6和7-8. 思路: ...
- 【转】TextView的详细属性
1.简介: TextView控件可用来展示文本信息(包括HTML文本),可以手动来设置可编辑或不可编辑. 2.创建对象: 1)在代码中通过new的方式创建,创建,设置文本,样式后,通过setConte ...
- C#返回多个参数 ref及out
out 关键字会导致参数通过引用来传递.这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化.若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字.例如 ...
- 谷歌Gmail 加速
由于某些原因的限制,我们使用谷歌的Gmail服务时,网络加载总是很慢!如下修复 一:修改hosts文件 ping -c g.cn 得到ip地址 在hosts文件里面 添加 上面的 ip地址 ...
- VS下控制台执行保持(不要一闪而过)
曾经上课的时候是用VC++6.0来学习编程的,编完打印出来的东西就直接显示在控制台上.而在Visual Studio下会出现控制台一闪而过的情况.这个问题事实上是非常好解决的.方法有多种.以下列举两种 ...
- asp.net MVC 视图文件(cshtml/vbhtml)变更编译过程示范
更改cshtml文件的时候 并不会触发程序重新启动,而是进入了编译状态 csc.exe进程启动. 非阻塞的方式进行等待,延时等待. 示范程序:http://pan.baidu.com/s/1skDY ...
- 【LeetCode】99. Recover Binary Search Tree
Recover Binary Search Tree Two elements of a binary search tree (BST) are swapped by mistake. Recove ...
- Using AutoFac
第一次整理了下关于autofac的一些具体的用法 1. 安装 Autofac: Install-Package Autofac -Version 4.8.1 2. 创建两个类库项目,IService ...