Articles of Hadoop的

“/ usr / bin / env:bash:在puppet exec命令中没有这样的文件或目录”

我正在开始傀儡的第一步。 我正在设置ambari 。 这是我的木偶configuration: exec { "ambari-repo": command => "curl http://public-repo-1.hortonworks.com/ambari/suse11/1.x/updates/1.4.4.23/ambari.repo > /etc/yum.repos.d/ambari.repo", path => ["/usr/bin", "/usr/sbin"] } package {"ambari-server": ensure => installed, require => Exec["ambari-repo"] } file { "hadoop-dir": path => "/hadoop", ensure => "directory" } exec { "ambari-server-setup": command => "ambari-server setup -s", path => ["/usr/bin", "/usr/sbin"], cwd => "/hadoop", user => "root", […]

hadoop的磁盘,你有什么build议?

你对Hadoop的磁盘有什么build议? 你推荐使用SAS,或者只是通过SATA连接磁盘? 或者也许别的东西? 每个选项的优缺点是什么? (关于磁盘大小的决定已经完成,每个服务器上将会有大约5-6个2TB磁盘)

基于树莓派的Hadoop集群

至less可以从基于树莓派的节点构buildHadoop集群吗? 这样的集群可以满足Hadoop的硬件要求吗? 如果是这样,需要多less树莓派节点才能满足要求? 我知道,几个树莓派节点的廉价集群并不强大。 我的目的是组织集群而不可能从我的桌面或笔记本上丢失个人数据,并使用这个集群学习Hadoop。 如果您提出任何更好的构想,为了学习的目的而组织廉价的Hadoop集群,我将不胜感激。 UPD:我已经看到Hadoop推荐的内存容量是16-24GB,多核处理器和1TB的硬盘,但是看起来并不像最低要求。 UPD2:我明白serverfault.com是与生产系统有关的问题的地方。 与configuration有趣和个人使用的系统相关的问题超出了范围。 对不起,问这个问题。

Hadoop – / usr / sbin / shell脚本的目的是什么?

我正在CentOS 6.4上安装Hadoop 1.1.2。 我阅读了http://hadoop.apache.org/docs/stable/上的所有Hadoop文档 安装之后,我注意到在/ usr / sbin /下有许多shell脚本。 但是这些文档并没有解释大部分的function。 例如: hadoop-create-user.sh hadoop-setup-conf.sh hadoop-setup-hdfs.sh hadoop-setup-single-node.sh hadoop-validate-setup.sh slaves.sh start-balancer.sh start-jobhistoryserver.sh stop-balancer.sh stop-jobhistoryserver.sh update-hadoop-env.sh 是否有一些补充文件来解释这些脚本?

configuration器安全hadoop遇到错误:org.apache.hadoop.security.AccessControlException

我尝试使用Kerberosconfiguration安全的hadoop。 我已经启动了KDC服务器,生成并复制相关的keytab到相应的节点。 kerberos可以正常工作(使用kinit),但是当我尝试启动namenode时,我插入一个奇怪的错误。 我修改了core-site.xml和hdfs-site.xml。 这里是我的core-site.xml 我试图寻找答案,但没有find一个合适的解决scheme,如果有人可以帮助,非常感谢 这里是错误日志: <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!– Put site-specific property overrides in this file. –> <configuration> <property> <name>fs.default.name</name> <value>hdfs://Master.Hadoop:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>hadoop.security.authentication</name> <value>kerberos</value> <!– A value of "simple" would disable security. –> </property> <property> <name>hadoop.security.authorization</name> <value>true</value> </property> </configuration>core-site.xml 这里是我的hdfs-site.xml <?xml version="1.0"?> […]

Hbase块位置索引始终为0

我有一个主机和两个区域服务器的Hbase(Hadoop 1.2.1 v 0.94.19)设置。 每个区域服务器有16 GB堆(6.4 GBcaching,4.0 GB存储区)和1.6 TB(2 X 800 GB)SSD磁盘空间。 只有一个单列家族的表被预先分成128个区域(00-ff)。 密钥是一个32字节的hexstring,平均值为800-900字节。 更新率约为3k – 5k项,其中约20%是新的项目。 Hadoop复制因子设置为2.其余的Hadoop和Hbaseconfiguration是默认设置。 我在这个设置上运行了一个读取基准testing(这不是一个基准testing,但是我自己的代码),通过Java Hbase接口读取随机(但是有效)的条目。 每次阅读平均30-40毫秒,这在我看来是不寻常的。 另外,随着每个地区的商店文件数量的增加,这个读取时间也会增加,并且在我进行重大压缩之后再次下降。 即使在重大压缩之后,两个区域服务器始终将Hbase块位置索引报告为0。 我的问题是 – 有没有人看到我在这里做的任何明显的错误? 是否增加每个区域服务器中的磁盘数量(例如,如果我切换到4 X 400 GB)有助于减less读取延迟? 有没有SSD优化(如过度configuration)可能有帮助? 最后,可能会导致块位置索引总是为0? 请问我是否需要更多信息。 谢谢。

适用于多个JSON文件的AWS-Hadoop数据分析实施

我是hadoop和AWS的新手。 我已经使用cloudera Hadoop发行版设置了多节点(4个实例t2.large)AWS EC2集群。 我已经使用CSV文件(如字数)进行了基本示例的环境testing。 现在,我的主要项目是分析JSON文件中的数据。 我有大约400万JSON文件约60GB的数据。 每个文件都有一个大的JSON条目,基本上是每个文件中的一条logging的所有信息。 我有点困惑如何处理这个问题。 可能是将文件复制到HDFS并构buildMap Reduce作业(使用Java,因为我很自在)创build大型CSV文件,然后从Hive中的这些CSV创build表进行分析。 因为在本地将这些文件转换为CSV可能需要很长时间。 即使将这些文件复制到AWS也会很慢,但一旦复制,我就可以使用实例的计算能力。 不知道这是否正确? 我该如何开始呢? 有没有一种方法可以直接处理JSON或其他任何可以使stream程高效的方法? 我有大约1个月的时间将这些数据处理成可以查询的forms,然后从那里进一步构build。 任何帮助将是非常有益的。

Hadoop Streaming with Python 3.5:java.lang.RuntimeException:PipeMapRed.waitOutputThreads():subprocess失败,代码为127

我正在使用基于VMware Workstation虚拟机的集群上的Hadoop Streaming来运行自己的映射程序和Reducer Python脚本。 所有虚拟机上的Hadoop版本 – 2.7,Python – 3.5,OS – CentOS 7.2。 我有一个独立的机器,扮演一个客户端应用程序主机的angular色,并提交mapreduce作业到资源pipe理器。 映射和减less脚本也存储在那里。 我正在使用以下hadoop命令来运行作业: hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar -output result1 -input /user/hadoop/hr/profiles -file /home/hadoop/map.py -mapper map.py -file /home/hadoop/reduce.py -reducer reduce.py 我也尝试在-mapper和-reducer脚本之前插入“python3”解释器: hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar -output result1 -input /user/hadoop/hr/profiles -file /home/hadoop/map.py -mapper "python3.5 map.py" -file /home/hadoop/reduce.py -reducer "python3.5 reduce.py" 然而,工作总是失败,我仍然在日志中得到相同的错误信息: 2016-10-07 21:57:10,485 INFO [IPC Server handler […]

hadoop – datanode退役

我想要优雅地从我的集群中删除节点。 我将以下内容添加到我的hadoop-site.xml中: <property> <name>dfs.hosts.exclude</name> <value>/etc/hadoop/conf.dist/dfs.hosts.exclude</value> <final>true</final> </property> 我正在添加一个节点,将其删除到文件并执行 hadoop dfsadmin -refreshNodes 作为根,但我得到 refreshNodes: org.apache.hadoop.fs.permission.AccessControlException: Superuser privilege is required HDFS分区上的mod是777。 运行Cloudera的hadoop-ec2发行版,版本0.18

从另一个系统挂载Hadoop HDFS的好方法是什么?

我想通过局域网将Cloudera Hadoop安装为Linux文件系统。 作为一个设置,我已经在一组Ubuntu机器上运行了hadoop集群。 但现在我需要能够通过局域网使用Fedora系统中的普通文件系统。 我尝试了FUSe,但有两件事情: 1. Cloudera表示FUSE丢失了数据(Cloudera员工在Cloudera官方支持网站上点击此处查看该评论) 来自“简明英汉词典”我没有成功,使得我们想要的方式工作 作为澄清的一点,我仅将Hadoop用于文件系统,而不是用于其他function。