Hadoop记录-Hadoop集群添加节点和删除节点
1、添加节点
A:新节点中添加账户,设置无密码登陆
B:Name节点中设置到新节点的无密码登陆
C:在Name节点slaves文件中添加新节点
D:在所有节点/etc/hosts文件中增加新节点(所有节点保持一致)
E:在新节点中执行
./bin/hadoop-daemon.sh start datanode
./bin/hadoop-daemon.sh start tasktracker
均衡个数据节点中的数据./bin/start-balancer.sh
注意
1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率
2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长
./bin/start-balancer.sh -threshold 5
3)设置balance的带宽,默认只有1M/s
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>1048576</value>
<description>
Specifies the maximum amount of bandwidth that each datanode
can utilize for the balancing purpose in term of
the number of bytes per second.
</description>
</property>
2、删除节点
A:修改Name节点的hdfs-site.xml增加
<property>
<name>dfs.hosts.exclude</name>
<value>/soft/hadoop/conf/excludes</value>
</property>
B:修改Name节点的mapred-site.xml增加
<property>
<name>mapred.hosts.exclude</name>
<value>/soft/hadoop/conf/excludes</value>
<final>true</final>
</property>
C:新建excludes文件,文件里写要删除节点的hostname
D:Name节点执行
hadoop mradmin –refreshNodes
hadoop dfsadmin –refreshNodes<br>(task进程可以kill进程ID)
查看关闭进程
hadoop dfsadmin -report
当节点处于Decommissioned,表示关闭成功。
注意
1:如果刚删除的节点要再添加到集群要先删除excludes文件,执行 hadoop dfsadmin –refreshNodes
2:节点的状态可以通过http://NameNodes:50070查看
3:如果数据较大则关闭的时间可能会很长
-----------------------------------------------------------------------------------------------------------------------------------------------------
#新增节点
1.安装linux,和以前一样的版本
2.初始化系统环境
2.1.设置静态ip

vi /etc/sysconfig/network-scripts/ifcfg-eth0
//增加
#Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
#BOOTPROTO=dhcp
# add
BOOTPROTO=static
ONBOOT=yes
# add
IPADDR=192.168.119.134
HWADDR=00:0c:29:59:df:84 //重启网络文件:service network restart

2.2.安装jdk 配置Java 环境变量
2.3.关闭防火墙
service iptables stop
chkconfig iptables off
3.配置ssh登陆
在新增节点:cd root
mkdir .ssh //新建.ssh目录
在master节点:cd ~/.ssh
scp authorized_keys 新增节点IP:/root/.ssh/authorized_keys //复制免密码登陆到新增节点
4.修改hosts文件

在master节点:vi /etc/hosts
//增加 新增节点IP h2slave3
//复制到其他DataNode节点
scp /etc/hosts h2slave1:/etc/hosts
scp /etc/hosts h2slave2:/etc/hosts
scp /etc/hosts h2slave3:/etc/hosts

5.复制hadoop2.2到新增节点(在master节点操作)

scp -r /home/bigdata/hadoop2.2 h2slave3:/home/bigdata/
//然后切换到新增节点 配置hadoop的环境变量
//在master节点修改 /home/bigdata/hadoop2.2/etc/hadoop/slaves
//新增 新增节点的IP
//然后复制到其他DataNode
scp /home/bigdata/hadoop2.2/etc/hadoop/slaves h2slave1:/home/bigdata/hadoop2.2/etc/hadoop/slaves
scp /home/bigdata/hadoop2.2/etc/hadoop/slaves h2slave2:/home/bigdata/hadoop2.2/etc/hadoop/slaves
scp /home/bigdata/hadoop2.2/etc/hadoop/slaves h2slave3:/home/bigdata/hadoop2.2/etc/hadoop/slaves

5.1. 添加DataNode

//对于新添加的DataNode节点,需要启动datanode进程,从而将其添加入集群
//在新增的节点上,运行 sbin/hadoop-daemon.sh start datanode
//在namenode节点刷新datanode, hdfs dfsadmin -refreshNodes
//然后在namenode查看集群情况,通过 hdfs dfsadmin -report
//也可以通过NameNode50070端口查看活动的DataNode节点数

5.2.平衡DataNode节点

//在Master节点 cd /home/bigdata/hadoop2.2/sbin //对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M
hdfs dfsadmin -setBalancerBandWidth 67108864 //默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5%
start-balancer.sh -threshold 5

5.3.添加NodeManager
//由于Hadoop 2.X引入了YARN框架,所以对于每个计算节点都可以通过NodeManager进行管理,同理启动NodeManager进程后,即可将其加入集群
//在新增节点,运行 sbin/yarn-daemon.sh start nodemanager //在ResourceManager,通过 yarn node -list 查看集群情况
遇到问题:在复制hadoop文件夹时我复制的datanode的hadoop,最终导致,新节点与被复制节点的datanodeUuid一样(位置:{HADOOPHOME}/tmp/dfs/name/current/VERSION文件)这样会导致,被复制节点和新节点的冲突,被复制节点和新节点在web查看时,或者被复制节点出现,或者新节点出现(但均为“死节点”)
解决办法:一定要从NameNode中复制hadoop-2.2.0文件夹
#删除节点
//极端不建议直接在slave节点通过:hadoop-daemon.sh stop datanode
命令关掉datanode,这会导致hdfs中出现missing block
在hadoop0上修改conf/hdfs-site.xml文件
<property>
<!--dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个-->
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/hadoop-2.2.0/etc/hadoop/excludes</value>
</property>
1. 在master上创建并修改excludes文件,添加需要删除节点的IP
2. 在master上刷新节点配置情况:hadoop dfsadmin -refreshNodes
此时在Web UI上就可以看到该节点变为Decommissioning状态,过一会就变为Dead了
也可以通过:hadoop dfsadmin -report 命令查看
3. 在slave上关闭datanode进程(非必须):hadoop-daemon.sh stop datanode
#重新加入删除的节点
1.在master的excludes文件中删除相应节点IP
2.在slave上重启datanode进程:hadoop-daemon.sh start datanode
3.在master上刷新节点配置情况:hadoop dfsadmin -refreshNodes
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
卸载节点或者增加节点:
方式一:静态的增添删除:将集群关闭,修改配置文件(etc/hadoop/slaves),重新启动集群(很黄很暴力,不够人性化)。
方式二:动态的增加和卸载节点。
卸载DataNode节点:
1)要在HDFS主节点NameNode上,进行配置。
a)在etc/hadoop/hdfs-site.xml中,设置属性值:
dfs.hosts.exclude
/opt/modules/hadoop-2.5.0/ect/hadoop/dfs-hosts.exclude
b)创建文件并在文件中加入卸载节点的IP地址或者主机名。
2)在NameNode节点上刷新集群
bin/hdfs dfsadmin -refreshNodes
3)从页面查看卸载相关信息(过程)。
4)通过命令来查看结果。
bin/hdfs dfsadmin -report
5)在卸载机器上关闭DataNode进程
sbin/hadoop-daemon.sh stop datanode
6)将dfs-hosts.exclude文件内容清空
注意:
在卸载NodeManager时,一定要主要配置在ResourceManager上。
yarn.resourcemanager.nodes.exclude-path
/opt/modules/hadoop-2.5.0/etc/hadoop/yarn-hosts.exclude
增加新机器,DataNode(存储数据)和NodeManager(计算)
1)系统、主机名、IP地址、防火墙、SELinux等与集群的从节点基本配置保持一致。
2)安装JDK(版本、路径、环境变量保持一致)。
3)配置主节点(HDFS:NameNode;YARN:ResourceManager)所在机器到新机器的SSH无密钥登录(方便集群的启动)。
4)配置修改etc/hadoop/slaves文件(只需要在主节点上修改)。
5)分发hadoop安装包(配置完成)到新机器上。
6)创建HDFS、YARN在新机器的本地磁盘上一些文件夹。
7)在新机器上启动DataNode和NodeManager节点。
DataNode:sbin/hadoop.daemon.sh start datanode
NodeManager:sbin/yarn.daemon.sh start nodemanager
注意:
需要将新机器的IP地址与主机名称的映射关系配置到系统的【/etc/hosts】文件中,最好是所有集群中的机器都要添加。
Hadoop记录-Hadoop集群添加节点和删除节点的更多相关文章
- Redis集群动态增加和删除节点
一.添加节点 1.首先将需要添加的节点启动: 这里启动redis6383.conf和redis6393.conf两个节点 查看原有节点: 3个主节点所对应的哈希槽(hash slo ...
- k8s集群添加新得node节点
服务端操作: 方法一: 获取master的join token kubeadm token create --print-join-command 重新加入节点 kubeadm join 192.16 ...
- hadoop 2.3 集群总结
用了近两个礼拜的摸索终于搭建好了hadoop集群,测试性能也符合预期. centos6.4下hadoop2.3集群总结如下: 关于环境的设置: 1.关闭selinux (反复折腾了好多次) vi /e ...
- hadoop集群添加新节点
0.说明 Hadoop集群已经运行正常,现在新买了一些机子,要加入到集群里面增加新的节点.以下就是增加的过程. 1.配置运行环境 安装与master和其他slave相同的java环境,jdk版本要相同 ...
- Hadoop 2.8集群安装及配置记录
第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...
- Hadoop伪分布式集群环境搭建
本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...
- Hadoop(三)手把手教你搭建Hadoop全分布式集群
前言 上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的.接下来我将给大家分享一下全分布式集群的搭建! 其实搭建最基本的全分布式集群和伪分布式集群 ...
- Hadoop高可用集群
1.简介 若HDFS集群中只配置了一个NameNode,那么当该NameNode所在的节点宕机,则整个HDFS就不能进行文件的上传和下载. 若YARN集群中只配置了一个ResourceManager, ...
- Hadoop(三)搭建Hadoop全分布式集群
原文地址:http://www.cnblogs.com/zhangyinhua/p/7652686.html 阅读目录(Content) 一.搭建Hadoop全分布式集群前提 1.1.网络 1.2.安 ...
- 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现
『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...
随机推荐
- Matplotlib学习---用matplotlib画柱形图,堆积柱形图,横向柱形图(bar chart)
这里利用Nathan Yau所著的<鲜活的数据:数据可视化指南>一书中的数据,学习画图. 数据地址:http://datasets.flowingdata.com/hot-dog-cont ...
- IOI2008 island
题目链接:[IOI2008]Island 题目大意:求基环树直径(由于题目的意思其实是类似于每个点只有一个出度,所以在每个联通块中点数和边数应该是相同的,这就是一棵基环树,所以题目给出的图就是一个基环 ...
- 【BZOJ2655】calc DP 数学 拉格朗日插值
题目大意 一个序列\(a_1,\ldots,a_n\)是合法的,当且仅当: 长度为给定的\(n\). \(a_1,\ldots,a_n\)都是\([1,m]\)中的整数. \(a_1, ...
- 洛谷CF809C Find a car(数位DP)
洛谷题目传送门 通过瞪眼法发现,\(a_{i,j}=(i-1)\text{ xor }(j-1)+1\). 二维差分一下,我们只要能求\(\sum\limits_{i=0}^x\sum\limits_ ...
- Diagnostic Trouble Code诊断故障码
所有电子控制单元(ECU)都会根据整车厂规范要求对相关故障进行记录,并储存在NVM(也称作EEPROM)相当于平常电脑上硬盘里.除故障代码外,还会记录故障发生时相关整车情况(如供电电压,环境温度 ...
- HDU--5269 ZYB loves Xor I (字典树)
题目电波: HDU--5269 ZYB loves Xor I 首先我们先解决 ai xor aj 每个数转化为二进制 我们用字典树统计 每个节点 0 和 1 的出现的个数 #include< ...
- js jquery select 操作 获取值,选中选项,增加,修改,删除
select示例: <select id="sel"> <option value="1">one</option> < ...
- A1072. Gas Station
A gas station has to be built at such a location that the minimum distance between the station and a ...
- C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...
- NCBI通过氨基酸位置查看相邻SNP
进入NCBI网站 在SNP的搜索框中输入SNP位点,比如“rs52811957” 在弹出的对话框中选择“Gene View” 进入以后会显示该变异相邻SNP.原始氨基酸.变异后的氨基酸.positio ...