在测试集群上拉了5台机器,自己另外搭建了一个小集群,不影响原来的集群。
1.规划,jobtracker一台,namenode一台,datanode三台,secondNamenode和网关机一台
2.新建用户lxw,并打通无密码ssh
3.安装版本0.20.2
完成之后先启动namenode和jobtracker,接着启动一台datanode时候报错
2012-05-28 17:35:23,625 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.net.SocketException: Permission denied
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.apache.hadoop.http.HttpServer.start(HttpServer.java:425)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:375)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:216)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1283)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1238)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1246)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1368)
查看源代码,DataNode.startDataNode,
该处涉及到三个属性值,
String address =
NetUtils.getServerAddress(conf,
"dfs.datanode.bindAddress",
"dfs.datanode.port",
"dfs.datanode.address");
觉得是新建的用户没有权限在绑定dfs.datanode.address默认端口(1004),于是修改hdfs-site.xml
添加或修改下面三个属性:
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:9999</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:9998</value>
</property>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:9997</value>
</property>
因为机器上还运行着测试集群的tasktracker和datanode,有些默认端口已经被占用,这时候需要修改端口号,比如tasktracker对应的:
<property>
<name>mapred.task.tracker.http.address </name>
<value>0.0.0.0:9996</value>
</property>
问题解决!
分享到:
相关推荐
- **启动Hadoop时的权限问题**:由于Hadoop的配置通常要求由特定的非`root`用户(如`hadoop`用户)来运行服务,因此当Hadoop安装目录的所有者为`root`时,会导致Datanode在启动时遇到权限问题。 #### 三、解决方案 ...
本文将详细讲解Hadoop datanode重新加载失败无法启动解决的知识点,主要包括datanode加载失败的原因、解决方法和步骤。 知识点1: datanode加载失败的原因 datanode加载失败的原因有很多,可能是由于配置文件错误...
Salve节点包括DataNode和TaskTracker,负责存储和处理数据,执行任务和返回结果。 环境说明: * 集群中包括 4 个节点:1 个 Master,3 个 Salve,节点之间局域网连接,可以相互ping 通。 * 节点 IP 地址分布: + ...
本文将对 DataNode 的源码进行解析,了解其启动、配置和数据管理机制。 DataNode 启动机制 DataNode 的启动过程由 `secureMain` 方法实现,该方法首先解析命令行参数,然后创建 DataNode 实例并启动它。在 `...
DataNode是Hadoop分布式文件系统HDFS(Hadoop Distributed File System)的核心组件之一,负责存储和管理数据块。下面是DataNode的职责和相关知识点: 一、 DataNode的职责 DataNode的主要职责是存储和管理数据块...
192.168.0.227 功能:DataNode,TaskTracker 主机名称:hdfs3 ip:192.168.0.228 功能:DataNode,TaskTracker 重点:修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析 127.0.0.1 localhost 192.168.0.37 ...
5. `hadoop-daemons.sh start <daemon>` 和 `hadoop-daemons.sh stop <daemon>`: 这些命令允许你单独启动或停止特定的守护进程,如NameNode、DataNode、SecondaryNameNode、JobTracker和TaskTracker。这对于有针对性...
作为云计算的标准开源软件,Hadoop的生态系统分布图包括多个构造模块,如NameNode、DataNode、Secondary NameNode、JobTracker和TaskTracker等。 Hadoop集群中的机器分为两类:主节点和从节点。NameNode、...
完全分布式模式,实际部署在大规模集群中,需要启动守护进程如NameNode、SecondaryNameNode、JobTracker、DataNode和TaskTracker等。 在Hadoop集群中,主节点(如NameNode和JobTracker)负责集群的管理和调度,而从...
然后在新节点上执行 `cd path/to/hadoop` 进入 Hadoop 目录,接着运行 `bin/hadoop-daemon.sh start datanode` 和 `bin/hadoop-daemon.sh start tasktracker` 启动 DataNode 和 TaskTracker。最后,在 master 节点上...
6. 启动Hadoop服务:依次启动DataNode、NameNode、TaskTracker和JobTracker等服务,确保所有节点正常运行。 7. 验证安装:通过上传文件到HDFS并运行简单的MapReduce作业来检查集群是否正确配置和运行。 在完成以上...
本地数据存储和管理,DataNode的实现包括两部分,一部分是对本地数据块的管理,另一部分,就是和其他的实体打交道。
通过分析这些日志,可以了解Hadoop集群的健康状况,诊断潜在的问题,比如检查NameNode是否成功启动,DataNode是否加入到集群,MapReduce任务是否正常执行等。 对于大型Hadoop集群,日志分析工具如Flume、Sentry、...
- **启动Hadoop服务**:按照特定顺序启动NameNode、DataNode、JobTracker和TaskTracker。 2. **注意事项** - 主机名不能包含下划线"_"和".s",因为Hadoop不支持这样的字符。 - 集群中所有机器的Hadoop登录...
Hadoop安装需要配置NameNode和DataNode的IP地址和主机名,添加Hadoop用户组和用户,并配置SSH连接。 6. NameNode配置 NameNode需要配置IP地址、主机名和SSH连接。NameNode作为主服务器,管理文件系统的命名空间和...
通常,先启动NameNode和SecondaryNameNode(用于备份NameNode),然后启动DataNode,最后启动JobTracker和TaskTracker。使用Hadoop自带的工具如`hadoop dfsadmin`或`hadoop fsck`检查HDFS的状态,使用`jps`命令确认...
master 节点用于运行 namenode、secondary namenode 和 jobtracker 任务,而 slave 节点用于运行 datanode 和 tasktracker 任务。可以通过复制和粘贴虚拟机节点来轻松地创建多个虚拟机节点。 hosts 文件配置 hosts...
另外Map/Reduce服务也需要确立JobTracker和TaskTracker的角色,一般JobTracker与NameNode共用一台机器作为master,而TaskTracker与DataNode同属于slave。 在这里,我们使用111作为NameNode与JobTracker,其它两台...
Slave节点通常指DataNode和TaskTracker,它们是集群的数据和计算节点。 10. **故障处理**:NameNode意外终止时,SecondaryNameNode并不能直接接管,而是协助NameNode恢复。HDFS的多副本特性可以缓解NameNode的单点...