我尝试将文件从本地磁盘复制到hdfs.起初它给了SafeModeException.在搜索解决方案时,我读到如果再次执行相同的命令,则不会出现问题.所以我再次尝试,并没有给出例外.
hduser@saket:/usr/local/hadoop$ bin/hadoop dfs -copyFromLocal /tmp/gutenberg/ /user/hduser/gutenberg
copyFromLocal: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hduser/gutenberg. Name node is in safe mode.
hduser@saket:/usr/local/hadoop$ bin/hadoop dfs -copyFromLocal /tmp/gutenberg/ /user/hduser/gutenberg
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我应该使用此代码保持安全模式吗?
hadoop dfs -safemode leave
Run Code Online (Sandbox Code Playgroud)
Dav*_*man 17
NameNode处于安全模式,直到数据节点报告的已配置百分比的块为在线.它可以通过参数被配置dfs.namenode.safemode.threshold-pct在hdfs-site.xml
对于只有很少块的小型/开发集群 - 将此参数设置为低于其默认0.9999f值是有意义的.否则1个丢失的块可能导致系统挂起安全模式.
A J*_*A J 13
转到(在我的系统中)的hadoop路径,bin/usr/local/hadoop/bin/
cd /usr/local/hadoop/bin/
Run Code Online (Sandbox Code Playgroud)
检查是否有文件hadoop,
hadoopuser@arul-PC:/usr/local/hadoop/bin$ ls
Run Code Online (Sandbox Code Playgroud)
o/p将是,
hadoop hadoop-daemons.sh start-all.sh start-jobhistoryserver.sh stop-balancer.sh stop-mapred.sh
hadoop-config.sh rcc start-balancer.sh start-mapred.sh stop-dfs.sh task-controller
hadoop-daemon.sh slaves.sh start-dfs.sh stop-all.sh stop-jobhistoryserver.sh
Run Code Online (Sandbox Code Playgroud)
然后你必须使用命令关闭安全模式./hadoop dfsadmin -safemode leave,
hadoopuser@arul-PC:/usr/local/hadoop/bin$ ./hadoop dfsadmin -safemode leave
Run Code Online (Sandbox Code Playgroud)
你会得到回应,
Safe mode is OFF
Run Code Online (Sandbox Code Playgroud)
注意:我创建了名为的Hadoop用户hadoopuser.
| 归档时间: |
|
| 查看次数: |
36973 次 |
| 最近记录: |