hadoop在线重启namenode+在线扩展集群
1.执行步骤
修改dfs.namenode.handler.count=150 ()
NameNode 有一个工作线程池用来处理客户端的远程过程调用及集群守护进程的调用。处理程序数量越多意味着要更大的池来处理来自不同DataNode的 并发心跳以及客户端并发的元数据操作。对于大集群或者有大量客户端的集群来说,通常需要增大参数dfs.namenode.handler.count的 默认值10。设置该值的一般原则是将其设置为集群大小的自然对数乘以20,即20logN,N为集群大小。如果前面的描述你仍然觉得很不清楚,可以看下面 的python程序(其中的200表示集群的大小)
python -c 'import math ; print int(math.log(200) * 20)'
standby:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
观察前台,safemode is off 后
active:
hdfs dfsadmin -failover nn2 nn1
确认成功后
active:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
问题:nn1变为active后,出现了很多missingblock,从时间上看都是最新的blk,怀疑是切换中漏掉的blk,原因待进一步分析日志。
2.一次扩展40台机器
cat excludes
cat yarn-excludes
cat slaves
注:集群未设白名单
批量操作脚本如下:
hadoop-daemons.sh --hostnames "$(grep /rack/? app/hadoop/etc/hadoop/rack.data|awk '{print $2}'|tr '\n' ' ')" start datanode
yarn-daemons.sh --hostnames "$(grep /rack/? app/hadoop/etc/hadoop/rack.data|awk '{print $2}'|tr '\n' ' ')" start nodemanager
for i in 05 06 07 08 09 10
do
hadoop-daemons.sh --hostnames "$(grep /rack/$i app/hadoop/etc/hadoop/rack.data|awk '{print $2}'|tr '\n' ' ')" start datanode
yarn-daemons.sh --hostnames "$(grep /rack/$i app/hadoop/etc/hadoop/rack.data|awk '{print $2}'|tr '\n' ' ')" start nodemanager
done
问题:①active namenode 挂掉,原因:同时大批量增加datanode,导致namenode处理不过来,hang住超时,自动failover到standbynamenode,对改nn实施了fencing,使其挂掉了,自动failover成功;
②扩充集群后,ganglia性能仍是一路飘红,但是我认为这资源利用充分,不是问题,提高了效率就算有效。
hadoop在线重启namenode+在线扩展集群的更多相关文章
- Redis复制与可扩展集群搭建
抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一 ...
- (转)Redis复制与可扩展集群搭建
讨论了Redis的常用数据类型与存储机制,本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过 ...
- Redis复制与可扩展集群搭建【转】
本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是 ...
- Hadoop入门 完全分布式运行模式-集群配置
目录 集群配置 集群部署规划 配置文件说明 配置集群 群起集群 1 配置workers 2 启动集群 总结 3 集群基本测试 上传文件到集群 查看数据真实存储路径 下载 执行wordcount程序 配 ...
- Hadoop 2.6.4单节点集群配置
1.安装配置步骤 # wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm # rpm -i ...
- [Hadoop] - Win7下提交job到集群上去
一般我们采用win开发+linux hadoop集群的方式进行开发,使用插件:hadoop-***-eclipse-plugin. 运行程序的时候,我们一般采用run as application或者 ...
- 003.Ceph扩展集群
一 基础准备 参考<002.Ceph安装部署>文档部署一个基础集群. 二 扩展集群 2.1 扩展架构 需求:添加Ceph元数据服务器node1.然后添加Ceph Monitor和Ceph ...
- Hadoop及Zookeeper+HBase完全分布式集群部署
Hadoop及HBase集群部署 一. 集群环境 系统版本 虚拟机:内存 16G CPU 双核心 系统: CentOS-7 64位 系统下载地址: http://124.202.164.6/files ...
- Oracle RAC中的一台机器重启以后无法接入集群
前天有个同事说有套AIX RAC的其中一台服务器重启了操作系统以后,集群资源CSSD的资源一直都在START的状态,检查日志输出有如下内容: [ CSSD][1286]clssnmv ...
随机推荐
- Android横竖屏切换不重新调用onCreate()
再次感叹Android的碎片化!!!! 设置AndroidManifest.xml中Activity的android:configChanges=”keyboardHidden|orientation ...
- 排列(permutation) 用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。
#include <stdio.h> #include <math.h> // 算法竞赛的目标是编程对任意输入均得到正确的结果. // 请先独立完成,如果有困难可以翻阅本书代码 ...
- Java异常&&RuntimeException异常
Java异常可分为3种: (1)编译时异常:Java.lang.Exception (2)运行期异常:Java.lang.RuntimeException (3)错误:Java.lang.Error ...
- cas4.2的安装
cas4.2使用的是gradle来构建项目的,项目代码在https://github.com/Jasig/cas下载. 然后之后进入项目的根目录,然后执行gradle来编译项目,如下: gradle ...
- TS流解析 四
一 从TS流开始 数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都携带一些信息,如Video.Audio以及我们需要学习的PAT.PMT等 ...
- Python中操作myslq的方法
实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发,请见我的另一篇文章: MySQL-python Windows下EXE安装文件下载 # -*- coding ...
- Rails 拉数据初始数据库
rails c [1] pry(main)> Scraping.exec
- Gym - 100920E 2010-2011 OpenCup IX Onsite, II Yandex Summer School E.Paint 状压DP
题面 题意:给你n(20)个点,m(40条边),让你给每条边染一种颜色,白色0元,红色2元,蓝色1元,现在要保证每一条白边相邻的有一条红边,问至少花多少 题解:刚开始想的时候,好像觉得只用染红色和白色 ...
- 用JavaScript实现歌词滚动播放
各种音乐播放器上都有一个自动滚动播放歌词的功能,那么这个功能用JavaScript怎么实现呢?请看下文. 一般音乐播放器使用的歌词格式都是lrc,为了方便处理,我们这里使用XML格式的歌词.介绍一个网 ...
- 【转】深入理解Java多态原理
之前一直知道多态是什么东西,平时敲代码也经常用到多态,但一直没有真正了解多态底层的运行机制到底是怎么样的,这两天才研究明白点,特地写下来,跟各位同学一起进步,同时也希望各位大神指导和指正. 多态的概念 ...