0.说明

Hadoop集群已经运行正常,现在新买了一些机子,要加入到集群里面增加新的节点。以下就是增加的过程。

1.配置运行环境

  • 安装与master和其他slave相同的java环境,jdk版本要相同。具体安装过程这里不再赘述。
  • 修改新节点的ip和主机名对应关系,修改/etc/hosts配置文件,定义ip与hostname的映射。
  • 关闭新节点防火墙,因为Hadoop集群是在内网环境运行,可以关闭防火墙。
  • 配置新节点ssh免密码登录,使得master可以免密码登录到新节点主机。过程这里不再赘述。

2.修改集群所有节点相关配置文件

修改集群所有节点(master和所有slave)的${HADOOP_HOME}/conf/slaves文件,增加新节点ip或hostname:

新节点ip 新节点主机名

同时,集群所有节点上修改系统的/etc/hosts配置文件,增加ip与hostname的映射(和上面修改slaves相同):

新节点ip 新节点主机名

3.新节点增加Hadoop

将master(namenode)中的配置拷贝到新节点(datanode),而且新节点的Hadoop的目录路径最好是和集群的其他节点一样,便于查看和管理。这一步只要用scp拷贝即可。

切换到Hadoop用户名,然后拷贝:

scp -r /hadoop安装目录 新节点上的Hadoop用户名@新节点主机ip或主机名

这一步完成就说明新节点的安装完毕。

4.单独启动新节点

集群增加了新节点之后,不需要关闭整个集群然后重启。可以单独启动新增加的节点,实现新节点动态加入。在新节点上执行命令:

[jay@slave2 ~]# cd hadoop-1.2.1/
[jay@slave2 hadoop-1.2.1]# ./bin/hadoop-daemon.sh start datanode #启动datanode
starting datanode...
[jay@slave2 hadoop-1.2.1]# ./bin/hadoop-daemon.sh start tasktracker #启动tasktracker
starting tasktracker...

5.验证启动成功

5.1访问web UI查看集群信息

访问http://master:50070/可以看到"Live Nodes"的数量,如果增加了新节点数,说明添加成功。

5.2 执行命令查看

$ bin/hadoop dfsadmin -report

6.集群负载均衡

在master主机上面,运行start-balancer.sh进行数据负载均衡。目的是将其他节点的数据分担一些到新节点上来,看集群原来数据的多少需要一定的时间才能完成。

hadoop balancer
或者
bin/start-balancer.sh

负载均衡作用:当节点出现敀障,或新增加节点时,数据块可能分布不均匀,负载均衡可重新平衡各个datanode上数据块的分布,使得所有的节点数据和负载能处于一个相对平均的状态,从而避免由于新节点的加入而效率降低(如果不进行balance,新数据一般会被插入到新节点中)

hadoop集群添加新节点的更多相关文章

  1. 大数据实操3 - hadoop集群添加新节点

    hadoop集群支持动态扩展,不需要停止原有集群节点就可以实现新节点的加入. 我是使用docker搭建的进群环境,制作了镜像文件,这里以我的工作基础为例子介绍集群中添加集群的方法 一.制作一个新节点 ...

  2. Hadoop集群添加新节点步骤

    1.在新节点中进行操作系统配置,包括主机名.网络.防火墙和无密码登录等. 2.在所有节点/etc/host文件中添加新节点 3.把namenode的有关配置文件复制到该节点 4.修改master节点s ...

  3. k8s集群节点更换ip 或者 k8s集群添加新节点

    1.需求情景:机房网络调整,突然要回收我k8s集群上一台node节点机器的ip,并调予新的ip到这台机器上,所以有了k8s集群节点更换ip一说:同时,k8s集群节点更换ip也相当于k8s集群添加新节点 ...

  4. 现有rabbitmq集群添加新节点,移除旧节点(可以作为rabbitmq集群迁移使用)

    原有集群安装步骤:https://www.cnblogs.com/sanduzxcvbnm/p/15797788.html 1.拉取镜像 集群中新节点需要执行 docker pull rabbitmq ...

  5. hadoop集群增加新节点

    上次hadoop集群一块数据盘报警, 提交工单后维修人员更换硬盘 服务器是dell r720的, 8盘位, 蛋疼的是这些硬盘都是做的单盘raid1,维修人员说必须关机导入硬盘才能正常使用 (服务器就这 ...

  6. redis 集群添加新节点

    准备好需要添加的节点:如何创建节点 启动创建的节点: 启动成功: 添加新节点:redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000  第 ...

  7. etcd v3 ssl 集群添加新节点

    集群搭建 下面只用同一台服务器进行三个成员节点的开启 节点1 ./etcd --name cd0 --initial-advertise-peer-urls http://127.0.0.1:2380 ...

  8. redis集群添加新节点

    一.创建节点(接上文) 1.在H1服务器/root/soft目录下创建7002目录 2.将7001目录的配置文件redis.conf拷贝到7002,并修改配置文件的端口 3.进入 redis-5.0. ...

  9. kubernetes 集群添加node节点

    kubernetes 集群添加node节点 注意,我们并不需要把新增的node ip加入到证书里重新生成!!! 下面我们以添加node03为例 一.添加集群里个节点的hostname并设置好对应主机名 ...

随机推荐

  1. (转载)一张表搞清楚西门子S7系列标准DB块与优化DB块

    在TIA Portal中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表所示: 项 标准 DB 优化 DB ...

  2. Docker Engine SDKs and API 的开发1

    Develop with Docker Engine SDKs and API Docker provides an API for interacting with the Docker daemo ...

  3. Hadoop之mapreduce

    doc Hadoop初探之Stream Hadoop Stream 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试 用python + ...

  4. docker 命令随笔

    如果是容器传输文件到本地的话,反过来就好了: docker cp  ID全称:容器文件路径   本地路径 2.进入docker 容器 docker exec -it fw-pay-trade-serv ...

  5. springmvc上传zip文件并解压缩代码示例

    <input type="file"  id="file"  name="file"> spring中的配置: <!-- ...

  6. Web前端新手经典学习路线

    做前端开发八九年的时间,到2015年的时候,Web前端因为HTML5技术的高速发展,成为IT行业中最受欢迎和未来需求人才发展最好的职业,各个行业都想转行做前端开发,包括一些在校的学生,土木工程,一些不 ...

  7. 5+ App开发打包指南

    HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...

  8. React Native组件之BackAndroid !安卓手机的物理返回键的使用

    ok!在安卓手机上,当我们用物理返回键的时候,会以一次性的将程序退出来,这样是很不好的体验,所以就需要使用RN的物理返回键组件:BackAndroid,其原理也就是 分析路由,然后pop()这样! o ...

  9. ext4.2常用的几种弹框

    以下记录了自己在做项目时,经常用到的几种ext弹框.项目中使用的ext是4.2版本的. 1. Ext.Msg.alert() 使用此种方式时,如果提示信息过长则提示信息会被覆盖掉一部分. Ext.Ms ...

  10. Promise的.then .catch

    定义一个promise 调用promise  如果promise的状态为resolve 则 执行 .then   否则执行.catch 可以有多个.then  会按顺序执行 axios.post  可 ...