服役新节点

本文详细介绍了如何在Hadoop集群中动态添加新的数据节点以应对不断增长的数据存储需求。包括环境准备、配置文件修改、刷新节点和服务启动等关键步骤,并提供了检查数据均衡性的方法。

6.5 服役新数据节点

0)需求:

随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。

1)环境准备

(1)克隆一台虚拟机

(2)修改ip地址和主机名称

(3)修改xcall和xsync文件,增加新`增节点的同步ssh

 

2)服役新节点具体步骤

(1)在namenode的/opt/module/hadoop-2.7.2/etc/hadoop目录下创dfs.hosts文件

[atguigu@hadoop106 hadoop]$ pwd

/opt/module/hadoop-2.7.2/etc/hadoop

[atguigu@hadoop106 hadoop]$ touch dfs.hosts

[atguigu@hadoop106 hadoop]$ vi dfs.hosts

添加如下主机名称(包含新服役的节点)

hadoop106

hadoop107

hadoop108

hadoop109

2)在namenode的hdfs-site.xml配置文件中增加dfs.hosts属性

<property>

<name>dfs.hosts</name>

      <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>

</property>

(3)刷新namenode

[atguigu@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes

Refresh nodes successful

(4)更新resourcemanager节点

[atguigu@hadoop102 hadoop-2.7.2]$ yarn rmadmin -refreshNodes

17/06/24 14:17:11 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.1.103:8033

(5)在namenode的slaves文件中增加新主机名称

增加109  不需要分发

hadoop106

hadoop107

hadoop108

hadoop109

(6)单独命令启动新的数据节点和节点管理器

[atguigu@hadoop109 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

starting datanode, logging to /opt/module/hadoop-2.7.2/logs/hadoop-atguigu-datanode-hadoop109.out

[atguigu@hadoop109 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

starting nodemanager, logging to /opt/module/hadoop-2.7.2/logs/yarn-atguigu-nodemanager-hadoop109.out

(7)在web浏览器上检查是否ok

3)如果数据不均衡,可以用命令实现集群的再平衡

[atguigu@hadoop106 sbin]$ ./start-balancer.sh

starting balancer, logging to /opt/module/hadoop-2.7.2/logs/hadoop-atguigu-balancer-hadoop106.out

Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved

 

<think>我们正在讨论HDFS集群的节点启动问题。根据用户的问题"如何在HDFS中启动其他数据节点或辅助节点",结合提供的引用内容,我们可以整理出以下步骤:1.对于启动数据节点(DataNode):-引用[3]中提到,在节点服务器上执行以下命令来启动DataNode和NodeManager:```bashcd/export/servers/hadoop-2.6.0-cdh5.14.0/sbin/hadoop-daemon.shstartdatanode```注意:这里也同时启动了NodeManager,但用户如果只需要启动DataNode,则只执行启动datanode的命令即可。-引用[4]中提到了另一种启动方式,即使用`hadoop-daemon.sh`脚本来启动单个节点上的DataNode:```bashhadoop-daemon.shstartdatanode```或者使用`start-dfs.sh`脚本一次性启动整个HDFS集群(包括NameNode、DataNode和SecondaryNameNode)。2.对于启动辅助节点(SecondaryNameNode):-引用[4]中提到,可以使用以下命令启动SecondaryNameNode:```bashhadoop-daemon.shstartsecondarynamenode```同样,`start-dfs.sh`脚本也会启动SecondaryNameNode。3.启动整个HDFS集群:-引用[4]中说明,可以使用`start-dfs.sh`脚本来启动整个HDFS集群(包括NameNode、DataNode和SecondaryNameNode):```bashstart-dfs.sh```4.启动YARN相关节点(如果同时需要):-引用[4]中提到,可以使用`start-yarn.sh`启动ResourceManager和NodeManager。-引用[3]中在启动DataNode的同时也启动了NodeManager(使用`yarn-daemon.shstartnodemanager`)。因此,针对用户的问题,我们可以给出以下具体步骤:###启动其他数据节点(DataNode)如果要在集群中的某个节点上单独启动一个DataNode,需要在该节点上执行:```bashhadoop-daemon.shstartdatanode```或者(根据具体路径):```bashcd/path/to/hadoop#进入Hadoop安装目录sbin/hadoop-daemon.shstartdatanode```###启动辅助节点(SecondaryNameNode)如果要在集群中的某个节点上启动SecondaryNameNode(通常该节点配置好的辅助节点),在该节点上执行:```bashhadoop-daemon.shstartsecondarynamenode```###使用脚本批量启动如果已经配置好集群中所有节点(包括节点)的SSH无密码登录,并且将节点加入了`slaves`文件(或`workers`文件,取决于Hadoop版本),那么可以在主节点(NameNode所在节点)使用以下脚本启动所有DataNode和SecondaryNameNode(如果SecondaryNameNode配置在单独节点,则通常也会被启动):```bashstart-dfs.sh```###注意事项-在启动节点之前,确保已经正确配置了HDFS,包括`core-site.xml`、`hdfs-site.xml`等配置文件,特别是节点配置要与集群一致。-对于节点,需要按照服役节点的步骤操作(如引用[1]中提到的创建白名单等步骤),确保节点已被NameNode接受。-启动后,可以通过Web界面(默认端口50070)或使用命令`hdfsdfsadmin-report`来检查节点是否成功加入集群。###相关问题1.如何将节点添加到HDFS集群中(服役节点)?2.如何验证节点已经成功加入HDFS集群?3.HDFS集群中各个节点的作用是什么(如NameNode,DataNode,SecondaryNameNode)?</think>### 如何在 HDFS 中启动其他数据节点或辅助节点 在 HDFS 集群中启动其他节点的操作步骤如下: #### 一、启动数据节点 (DataNode) 1. **在目标节点执行启动命令** 登录到需要启动的节点服务器(如 `node04`),执行: ```bash cd /path/to/hadoop # 进入 Hadoop 安装目录 sbin/hadoop-daemon.sh start datanode ``` 此命令会启动当前服务器上的 DataNode 服务[^3]。 2. **批量启动所有数据节点** 在 **主节点 (NameNode)** 执行: ```bash sbin/start-dfs.sh # 启动 HDFS 集群(包括所有 DataNode) ``` 该脚本会自动读取 `workers` 文件中的节点列表并启动所有 DataNode[^4]。 #### 二、启动辅助节点 (SecondaryNameNode) 1. **在配置的辅助节点服务器执行**: ```bash sbin/hadoop-daemon.sh start secondarynamenode ``` 2. **通过集群脚本启动**: ```bash sbin/start-dfs.sh # 同时启动 SecondaryNameNode ``` #### 三、关键注意事项 1. **节点状态同步** DataNode 启动后会自动向 NameNode 注册,NameNode 会将节点信息 **保存在内存中** 并定期同步[^5]。 2. **白名单配置节点时)** 节点前需将其加入白名单文件 `dfs.hosts`,否则 NameNode 会拒绝连接[^1]。 3. **日志验证** 检查节点日志确认启动状态: ```bash tail -f logs/hadoop-*-datanode-*.log ``` 4. **Web UI 监控** 访问 NameNode Web 界面(默认 `http://<namenode_ip>:9870`),在 `Datanodes` 选项卡查看节点状态。 ### 相关问题 1. HDFS 节点时如何配置白名单? 2. DataNode 启动失败有哪些常见原因及解决方法? 3. SecondaryNameNode 在 HDFS 中承担什么具体功能? 4. 如何通过命令行验证 DataNode 是否成功注册到集群? 5. HDFS 节点下线(退役)的标准流程是什么? [^1]: 服役节点需创建白名单文件 [^3]: 在节点服务器执行启动命令 [^4]: 使用集群脚本批量启动节点 [^5]: DataNode 状态上报机制
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值