多日无暇学习使用Hadoop了,今天在练习安装使用Hive的时候发现文件无法从本地拷贝到hadoop集群系统,老是报错,错误内容为:
java.io.IOException: File … could only be replicated to 0 nodes, instead of 1。查找namenode的日志,也是报这个错,而且非常多,即便在启动的时候也是报类似的错误。这个学习环境为单namenode+2个datanode,使用dfsadmin -report报无数据节点,如下:
[hadoop@namenode hadoop]$ hadoop dfsadmin -report
Configured Capacity: 0 (0 KB) Present Capacity: 0 (0 KB) DFS Remaining: 0 (0 KB) DFS Used: 0 (0 KB) DFS Used%: ?% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0
————————————————- Datanodes available: 0 (0 total, 0 dead)
|
重新格式化namenode,并重新启动,故障依旧,清除历史日志,从datanode节点的日志发现了错误“Incompatible namespaceIDs “,删除了datanode的dfs.data.dir目录,并重建,然后重新格式化namenode、启动,发现dfsadmin -report还是没有数据节点加入。再查日志,发现错误不同了:All directories in dfs.data.dir are invalid。没有生成目录结构,正纳闷呢,发现日志中前面有警告:
Invalid directory in dfs.data.dir: Incorrect permissio
n for /hadoop/hadoop-data, expected: rwxr-xr-x, while actual: rwxrwxr-x。
根据警告内容,分别在两个datanode上修改该目录权限:
[hadoop@namenode logs]$ ssh datanode01.hadoop Last login: Wed Mar 14 01:58:39 2012 from namenode.hadoop [hadoop@datanode01 ~]$ chmod g-w /hadoop/hadoop-data/ [hadoop@datanode01 ~]$ exit
[hadoop@namenode logs]$ ssh datanode02.hadoop Last login: Wed Mar 14 01:59:00 2012 from datanode01.hadoop [hadoop@datanode02 ~]$ chmod g-w /hadoop/hadoop-data/ [hadoop@datanode02 ~]$ exit
|
启动后,故障解除:
[hadoop@namenode hadoop]$ hadoop dfsadmin -report Configured Capacity: 158030774272 (147.18 GB) Present Capacity: 141718949918 (131.99 GB) DFS Remaining: 141718892544 (131.99 GB) DFS Used: 57374 (56.03 KB) DFS Used%: 0% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0
————————————————- Datanodes available: 2 (2 total, 0 dead)
Name: 172.21.126.102:50010 Decommission Status : Normal Configured Capacity: 79015387136 (73.59 GB) DFS Used: 28687 (28.01 KB) Non DFS Used: 8155709425 (7.6 GB) DFS Remaining: 70859649024(65.99 GB) DFS Used%: 0% DFS Remaining%: 89.68% Last contact: Wed Mar 14 01:40:41 CST 2012
Name: 172.21.126.103:50010 Decommission Status : Normal Configured Capacity: 79015387136 (73.59 GB) DFS Used: 28687 (28.01 KB) Non DFS Used: 8156114929 (7.6 GB) DFS Remaining: 70859243520(65.99 GB) DFS Used%: 0% DFS Remaining%: 89.68% Last contact: Wed Mar 14 01:40:41 CST 2012
|
运行hive测试,也能正常使用了:
hive> create table dummy(value STRING); OK Time taken: 10.642 seconds hive> load data local inpath ‘/tmp/dummy.txt’ overwrite into table dummy; Copying data from file:/tmp/dummy.txt Copying file: file:/tmp/dummy.txt Loading data to table default.dummy Deleted hdfs://namenode.hadoop/user/hive/warehouse/dummy OK Time taken: 0.439 seconds hive> select * from dummy; OK X Time taken: 0.254 seconds hive>
|
没想到数据目录的权限检查如此严格,多了用户组的写权限能造成集群系统的无法启动,在这记录,以备查。
就是hadoop文件权限多增加了写的权限,造成datanode无法启动,去掉写的权限就可以了!
分享到:
相关推荐
Hadoop datanode启动失败:Hadoop安装目录权限的问题
Hadoop datanode重新加载失败无法启动解决.docx
启动Hadoop后 没有DataNode进程 的解决方法。 一篇文章带你快速了解!
daemons.sh start namenode 单独启动NameNode守护进程 hadoop-daemons.sh stop namenode 单独停⽌NameNode守护进程 hadoop-daemons.sh start datanode 单独启动DataNode守护进程 hadoop-daemons.sh stop datanode ...
1.处理hadoop的datanode宕机 cd path/to/hadoop 走到hadoop的bin目录 ./hadoop-daemon.sh start datanode ./hadoop-daemon.sh start tasktracker 2.处理hadoop的namenode宕机 ./hadoop-daemon.sh start namenode...
2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个 是Standby,状态由zookeeper进行协调
018 Hadoop 守护进程服务三种启动停止方式 019 测试环境(HDFS Shell基本命令和运行WordCount程序) 020 结合WordCount实例讲解Hadoop的数据存储和数据计算 021 Hadoop 五大服务与配置文件中的对应关系 022 分析Hadoop...
安装hive前提是要先安装hadoop集群,并且hive只需要再hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),可以不在datanode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把...
单个起 :/opt/hadoop-1.0.3/bin/hadoop-daemon.sh start datanode /opt/hadoop-1.0.3/bin/hadoop-daemon.sh start tasktracker 关闭HADOOP 1. 进入HADOOP_HOME目录。 2. 执行sh bin/stop-all.sh 查看MapReduce...
包含配置hadoop过程中遇到的一些问题的解决办法和成功运行wordcount实例的步骤
hadoop-env.sh 环境变量13#Hadoop Common组件 配置 core-site.xml13#HDFS NameNode,DataNode组建配置 hdfs-site.xml14#配置MapReduce - JobTracker TaskTracker 启动配置15#Hadoop单机系统,启动执行和异常检查17#...
安装成功后,启动hdfs 格式化文件系统(仅第一次执行即可,不要重复执行):hdfs/hadoop namenode -format ... DataNode SecondaryNameNode NameNode 浏览器访问方式: http://hadoop000:50070
从Hadoop URL中读取数据 通过FileSystem API读取数据 写入数据 目录 查询文件系统 删除数据 数据流 文件读取剖析 文件写入剖析 一致模型 通过 distcp并行拷贝 保持 HDFS 集群的均衡 ...
1.a1 192.168.9.1 (master) a2 192.168.9.2 (slave1) a3 192.168.9.3 (slave2) 修改/etc/hosts 2.3台机器 创建hadoop 用户 ...[hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/hadoop dfsadmin -report
Hadoop, Apache开源的分布式框架。源自Google GFS,BigTable,MapReduce 论文。 == HDFS == HDFS (Hadoop Distributed File System),Hadoop 分布式文件系统。...TaskTracker,启动和管理Map和Reduce子任务的节点。
hadoop-2.7.2安装包,解压至/opt/...启动HDFS只需要敲入命令行:sbin/hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode 启动YARN: sbin/yarn-daemon.sh start|stop resourcemanager|nodemanager
上一篇文章中我们介绍了Hadoop编程基于MR程序实现倒排索引示例的有关内容,这里我们看看如何在Hadoop中动态地增加和删除节点(DataNode)。 假设集群操作系统均为:CentOS 6.7 x64 Hadoop版本为:2.6.3 一、动态...
从Hadoop URL中读取数据 通过FileSystem API读取数据 写入数据 目录 查询文件系统 删除数据 数据流 文件读取剖析 文件写入剖析 一致模型 通过 distcp并行拷贝 保持 HDFS 集群的均衡 Hadoop的归档文件 使用Hadoop归档...
启动Hadoop集群:启动Hadoop集群的各个节点,包括NameNode、SecondaryNameNode、DataNode等。 用途: 数据存储和处理:Hadoop可以存储海量数据,并使用MapReduce等编程模型进行数据处理和分析。 数据挖掘和机器学习...
site.xml(hadoop核心配置)hdfs-site.xml(分布式文件系统HDFS相关配置)mapred-site.xml(MapReduce相关配置)yarn-site.xml(Yarn相关配置)slaves文件(里面写从节点所在的主机名,会在这些主机上启动DataNode)...