Hadoop中namenode和seconderynamenode 分离在不同的主机上

1、停止hadoop
stop-all.sh 
 
2、修改vim masters 文件 
其实,master文件不决定哪个是namenode,而决定的是secondarynamenode(决定谁是namenode的关键配置是core-site.xml中的fs.default.name这个参数)。所以,这里直接写上作为secondnamenode的IP或机器名称(可以是集群中任一个datanode节点)就可以了。一行一个(可以配置多个secondnamenode)。
 
我这里放到slave3节点(slave3节点是上篇文档动态增加的数据节点)上面:
原先的 masters 文件里面的内容为 “master”,这是主节点的 host文件配置的名子 ;
 
需要将之前的 master 换成 slave3
 
3、修改hdfs-site.xml文件,这个配置文件要改1个参数(如果没有这具参数需要添加上): 
<property> 
  <name>dfs.http.address</name> 
  <value>master:50070</value> 
</property>
 
其中的 “master”表示的是 namenode进程是在哪台主机上启动的,namenode当前还是主页面:我的主机名是:master 
 
 
4、这时修改完成正常启动就可以了:
通过启动信息可以看到  secondarynamenode 是在slave3节点是启动的了;
 
另:在 master 文件内配置多了,可以启多个 secondarynamenode :

[root@master conf]# more masters 
slave3
slave1

---------------------

[root@master conf]# start-all.sh 
Warning: $HADOOP_HOME is deprecated.

starting namenode, logging to /opt/hadoop/libexec/../logs/hadoop-root-namenode-master.out
slave2: starting datanode, logging to /opt/hadoop/libexec/../logs/hadoop-root-datanode-slave2.out
slave1: starting datanode, logging to /opt/hadoop/libexec/../logs/hadoop-root-datanode-slave1.out
slave3: starting datanode, logging to /opt/hadoop/libexec/../logs/hadoop-root-datanode-slave3.out
slave3: starting secondarynamenode, logging to /opt/hadoop/libexec/../logs/hadoop-root-secondarynamenode-slave3.out
slave1: starting secondarynamenode, logging to /opt/hadoop/libexec/../logs/hadoop-root-secondarynamenode-slave1.out
starting jobtracker, logging to /opt/hadoop/libexec/../logs/hadoop-root-jobtracker-master.out
slave2: starting tasktracker, logging to /opt/hadoop/libexec/../logs/hadoop-root-tasktracker-slave2.out
slave1: starting tasktracker, logging to /opt/hadoop/libexec/../logs/hadoop-root-tasktracker-slave1.out
slave3: starting tasktracker, logging to /opt/hadoop/libexec/../logs/hadoop-root-tasktracker-slave3.out
[root@master conf]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Hadoop的Namenode和DatanodeHadoop分布式文件系统(HDFS)的两个重要组件。Namenode是HDFS的主节点,负责管理文件系统的命名空间和控制数据块的复制。Datanode是HDFS的从节点,负责存储和管理数据块。Namenode和Datanode之间通过心跳机制进行通信,以确保数据块的可靠性和一致性。在Hadoop集群,通常会有多个Datanode,但只有一个Namenode。 ### 回答2: Hadoop是一个用于帮助大规模处理海量数据的分布式系统,它包括了多个部件。其,namenode和datanode是其两个关键组件。 1. Namenode Namenode是HDFS的一个非常重要的组件,它是一个主节点,主要负责管理整个HDFS所有数据块的元数据信息。这些元数据信息包括了所有数据块的位置、大小、副本数量以及存储节点等等。因此,namenode是整个HDFS系统的一个央管理器。 Namenode的工作原理是通过将元数据信息存储在内存,以便快速访问。同时,namenode也会将元数据信息存储在本地磁盘上,以备份和恢复。 除此之外,namenode还负责块的复制和块大小的管理,可以通过重复多少次来确定每个块的位置. 2. Datanode Datanode是HDFS的另一个重要组件,他是一个从节点,主要负责存储HDFS的数据块。当客户端需要存储数据时,数据会首先被拆分成一个一个的数据块,并存储在多个datanode。当客户端需要访问数据时,数据会从datanode读取并传输回客户端。 与namenode不同的是,datanode存储的是实际的数据块,而不是元数据信息。此外,datanode还会定期向namenode发送心跳信息,以便namenode了解数据块的运行情况。 在HDFS,由于数据被分散存储在多个datanode,因此它具有很好的可扩展性和容错性。即使某个datanode出现故障,也可以从其他datanode获取数据并恢复其完整性。 最后,namenode和datanode是HDFS的两个非常重要的组件,它们共同协作,实现了整个HDFS的数据存储和管理。由于它们的高可用性、可扩展性和容错性,HDFS可以被广泛应用于大规模数据处理,是企业级数据存储和处理的首选技术之一。 ### 回答3: Hadoop是一个分布式计算系统,它采用了主从架构,由namenode和datanode两类组成。namenodeHadoop集群的主节点,负责管理整个Hadoop集群的元数据信息,如文件信息、文件块信息、datanode的信息等;而datanode是集群的工作节点,用来存储文件数据块和进行数据处理。 在Hadoop,一般将文件分成若干个数据块保存在不同的datanode上,namenode负责维护这些数据块的信息及其所在的datanode信息,实现了文件的存储和读取。当客户端需要读取文件时,会向namenode发送请求,namenode会返回该文件的数据块所在的datanode列表,然后客户端根据返回的列表去请求对应的datanode获取数据块并组合成完整的文件。 而datanode则是集群的工作节点,负责存储文件数据块。每个data node会包含HDFS文件系统一部分文件的副本,当某个副本损坏或丢失时,namenode就会通知其他datanode重新复制该文件块,保证文件数据的可靠性。此外,datanode还可以进行数据处理,执行MapReduce任务或其他计算任务。 总的来说,namenodeHadoop集群的管理节点,它负责集群的元数据管理,而datanodeHadoop集群的工作节点,负责存储文件数据块及数据处理。namenode和datanode的配合协作,使得Hadoop分布式文件系统可以高效地完成文件的存储和读取,保证了整个Hadoop集群的高可用性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值