Articles of Hadoop的

Cloudera Hadoop超级用户组

我正在尝试在我的一个datanode上创build一个组,这个组将对hdfs和关联的fs命令拥有超级用户权限。 到目前为止我有: 检查看到dfs.permissions.superusergroup = supergroup(默认) 在datanode上使用:groupadd supergroup创build一个本地组 增加一个本地linux用户到supergroup 我仍然收到错误,当我运行“hadoop dfsadmin -report”时,我不是超级用户,我应该可以访问hdfs中的任何内容,无论作为超级用户的权限,但是我不能。

只有1个数据节点运行HDFS – 追加失败

我正在尝试使用Docker Composetesting一些需要HDFS的服务。 由于被testing的服务,名称节点和数据节点将全部运行在同一台物理机器上(开发笔记本电脑),所以通过只运行一个数据节点来降低内存使用率将是一件好事。 我正在使用这些泊坞窗图像 。 如果我运行一个名称节点和3个数据节点,所有按预期工作。 我试图通过在两个节点的hdfs-site.xml中设置这个节点来运行只有一个数据节点,并通过组合运行只有一个数据节点: <property><name>dfs.replication</name><value>1</value></property> 这绝对是挑选这个,因为当它开始时,我在日志中看到这个: blockmanagement.BlockManager: defaultReplication = 1 blockmanagement.BlockManager: maxReplication = 512 blockmanagement.BlockManager: minReplication = 1 blockmanagement.BlockManager: maxReplicationStreams = 2 blockmanagement.BlockManager: replicationRecheckInterval = 3000 第一次写入成功就好了。 对于第二次写,我得到了这个(在客户端应用程序;没有在hadoop方面logging): java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try. (Nodes: current=[DatanodeInfoWithStorage[172.18.0.2:50010,DS-f97943bf-2cad-45e5-ae40-9ba947e54404,DISK]], original=[DatanodeInfoWithStorage[172.18.0.2:50010,DS-f97943bf-2cad-45e5-ae40-9ba947e54404,DISK]]). […]

用hadoop设置configuration单元

我正试图build立蜂巢。 我正在使用本指南: https : //cwiki.apache.org/Hive/gettingstarted.html ,我坚持设置/ tmp和/ user / hive /仓库目录。 首先,在我看来,有一点奇怪的是,hive需要将我的/ tmp目录更改为HDFS。 这不会影响其他正在使用/ tmp目录的应用程序吗? 无论如何,我想改变/ tmppath到不同的东西。 我正在跳转,我会在./hive/conf/中findconfiguration,但只有configuration模板文件。 实际的configuration文件在哪里? 顺便说一句,在./hive/bin中,我find了hive-config.sh。 我在维基上找不到关于这个文件的任何东西,它有什么作用? 我正在使用hive-0.8.1.tar.gz版本。

Hadoop – / usr / bin / hadoop:第320行:/ usr / bin / java / bin / java:不是目录

我正在CentOS 6.4上安装Hadoop。 遵循这些说明http://hadoop.apache.org/docs/stable/single_node_setup.html wget http://apache.osuosl.org/hadoop/common/hadoop-1.1.2/hadoop-1.1.2-1.x86_64.rpm chmod 700 hadoop-1.1.2-1.x86_64.rpm rpm -Uvh hadoop-1.1.2-1.x86_64.rpm Java位于/ usr / bin / java [root@localhost ~]# /usr/bin/java -version java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) 设置JAVA_HOME vi /etc/hadoop/hadoop-env.sh 变 导出JAVA_HOME = / usr / bin / java / bin / java 至 导出JAVA_HOME = […]

将Hadoop部署到Openstack

我想将Hadoop部署到Openstack云。 有没有自动的方法来做到这一点? 有人试图这样做吗? 我正在寻找一些犹如juju的devops。 我从来没有使用juju,现在我正在阅读juju关于部署的教程,但是大部分的例子都是基于Amazon的云。 比juju更好吗? 我想在Opensuse实例上部署Hadoop,所以juju只是我的临时解决scheme。 现在不工作,但我想我会迟早处理,但当然,任何教程都会受到欢迎。

HDFS中的“stream数据访问”是什么意思?

根据HDFS体系结构页面,HDFS被devise用于“stream式数据访问”。 我不确定这意味着什么,但会猜测这意味着像seek这样的操作要么被禁用,要么性能不是最佳的。 这是正确的吗? 我有兴趣使用HDFS存储需要stream式传输到浏览器客户端的audio/video文件。 大部分stream将开始结束,但有些可能有大量的search。 也许有另一个文件系统可以做得更好?

有没有什么办法可以在puppet模块中使用数组(不在模板中)?

我想用木偶来pipe理一个hadoop集群。 在机器上,我们有几个目录,必须创build和设置权限。 但我无法为定义的方法添加数组值。 define hdfs_site( $dirs ) { file { $dirs: ensure => directory, owner => "hadoop", group => "hadoop", mode => 755; } file { "/opt/hadoop/conf/hdfs-site.xml": content => template("hdfs-site.xml.erb"), owner => "root", group => "root", mode => 644; } } define hadoop_slave( $mem, $cpu, $dirs ) { hadoop_base { mem => $mem, cpu => […]

如何在没有DC / OS的情况下在Mesos上启动hdfs?

从我的理解DC / OS是免费pipe理的服务。 因为我宁愿只是一个原始的Mesos实现,我宁愿不依赖于DC / OS,所以我只想知道如何在没有它的情况下在Mesos上实现HDFS。 不幸的是谷歌是由中间层DC / OS占主导地位。 有没有我可以自己编译一个HDFS实现到没有DC / OS依赖关系的mesos?

Hadoop的奴隶文件是必要的?

我正在开发一个团队,试图创build一个在EC2上创buildHadoop集群的系统,用户只需花费很less的精力。 理想情况下,我们希望从机实例只需要主机实例的主机名作为启动时的用户数据。 然后从属设备将从主实例rsyncconfiguration并自动启动他们的TaskTracker和DataNode守护进程。 我的问题是:是否有必要在主实例的conf/slaves文件中列出从属实例的主机名? 我唯一一次在Hadoop的代码中看到这个文件是通过start-{dfs,mapred}.sh脚本,将SSH连入列出的所有机器并启动守护进程。 如果从节点上的守护进程自动启动,并且他们知道JobTracker和NameNode(通过configuration)的位置,它们可以自己连接到JobTracker / NameNode,并被视为“正常”奴隶? 我想最好的办法是尝试一下,但是我们想知道这样一个系统的时间投入/复杂性,所以我想我会看看这里有没有人有这个问题的经验。 如果我自己find答案,我会编辑。 编辑:我testing了这一点,整个系统似乎工作正常,没有在configuration中列出的奴隶。 JobTracker在其节点列表中显示从属TaskTracker,并且已经成功运行testing作业。 另外编辑:值得注意的是,如果您使用DFS主机白名单( conf/dfs.hosts ),至less在Cloudera的发行版上至less会有这个function,否则这将不起作用。

有没有办法从一个数据节点获得Hadoop集群机器的列表?

我有权访问Hadoop集群中的一个数据节点,我想查找同一个集群的名称节点的标识。 有没有办法做到这一点?