我很感激你事先的帮助。
我使用root用户凭据在伪分布式模式下设置了Hadoop。我想为多个用户(比如hadoop1、hadoop2等)提供访问权限,以便能够在这个集群上提交和运行MapReduce作业。我们怎么做?
到目前为止我做了什么?
> - Setup Hadoop to run in Pseudo-distributed mode
> - Used "root" user credentials to set this up.
> - Added users hadoop1 and hadoop2 to a group called "hadoop".
> - Added root also to be part of the group "hadoop".
> - Created a folder called hdfstmp and set this as the path for hadoop.tmp.dir.
> - Started the cluster using bin/start-all.sh
> - Ran MapReduce jobs using hadoop1 and hadoop2 users.
我得到了下面的错误:
Exception in thread "main" java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at java.io.File.createTempFile(File.java:1989)
at org.apache.hadoop.util.RunJar.main(RunJar.java:119)
但是,如果我执行stop-all.sh然后执行start-all.sh,DataNode(有时甚至NameNode)不会启动。当我检查日志时,我看到如下错误:
2013-09-21 16:43:54,518 WARN org.apache.hadoop.hdfs.server.datanode.datanode:dfs.data.dir中的目录无效:/data/hdfstmp/dfs/data的权限不正确,应为:rwxr-xr-x,实际为:rwxrwxr-x
现在,如果不更改hdfstmp目录的组所有权,不同用户提交的MR作业就不会运行。但是当NameNode重新启动时,我得到了上面的问题。
我如何克服这个问题?什么是相同的最佳实践?
另外,是否有一种方法可以监视不同用户提交的作业?我假设Web UI应该允许我这样做。请确认一下。
问候
添加专用Hadoop系统用户
我们将使用一个专用的Hadoop用户帐户来运行Hadoop。虽然这不是必需的,但还是推荐的,因为它有助于将Hadoop安装与运行在同一台机器上的其他软件应用程序和用户帐户分开(想想:安全性、权限、备份等)。
#addgroup hadoop
#adduser --ingroup hadoop hadoop1
#adduser --ingroup hadoop hadoop2
这将把用户hduser和组hadoop添加到本地计算机。
chown -R hduser:hadoop hadoop
#mkdir -p /app/hadoop/tmp
#chown hduser:hadoop /app/hadoop/tmp
如果你想加强安全,chmod从755降至750...
#chmod 750 /app/hadoop/tmp
大佬可以帮忙看看怎么解决这个问题吗这个是hadoop伪分布式集群环境搭建出现的
一 JDK的安装 下载JDK安装包,建议去Oracle官方下载,地址自行百度 下载Hadoop2.6的安装包,建议官方下载,地址自行百度 如果是在Windows端进行终端操作,建议使用XFTP与XShell,有Free版本 之后用XFTP将JDK安装包与Hadoop安装包上传到实验主机上 将Java SDK解压,并将解压文件复制到/usr/lib/jvm中 配置环境变量 如果系统中已经有默认的Op
我尝试使用hadoop作为分布式模式,并且我进行了设置,但是发生了一个错误。我将在下面描述安装过程: 0/etc/hosts 已安装的软件包 获取hadoop 0/etc/hadoop/core-site.xml 0/etc/hadoop/hdfs-site.xml 0/etc/hadoop/mapred-site.xml 主服务器是 节点服务器是 然后我尝试使用这个命令 结果如下: 0node1
我无法在hadoop fs-ls/命令上查看HDFS中的文件,我想这是因为name节点没有运行。我尝试了格式化namenode,并将core-site.xml中的端口更改为不同的值,但我的JPS没有列出namenode。 下面是这些文件:1)core-site.xml 3)mapred-site.xml JPS输出为: 21043作业跟踪器 20839数据阳极
本文向大家介绍Hadoop 2.x伪分布式环境搭建详细步骤,包括了Hadoop 2.x伪分布式环境搭建详细步骤的使用技巧和注意事项,需要的朋友参考一下 本文以图文结合的方式详细介绍了Hadoop 2.x伪分布式环境搭建的全过程,供大家参考,具体内容如下 1、修改hadoop-env.sh、yarn-env.sh、mapred-env.sh 方法:使用notepad++(beifeng用户)打开这三
我已经在ubuntu上安装了hadoop,它运行在VirtualBox上。当我第一次安装hadoop时,我可以毫无问题地启动hdfs和创建目录。 但是当我重新启动虚拟机后,当尝试在HDFS上运行ls命令时,我得到了“拒绝连接”的错误。然后,我根据Hadoop集群设置在sshd_config中添加了“端口9000”-java.net.connectException:Connection Relec