Articles of hadoop

如何检查Hadoop守护进程是否正在运行?

什么是简单的命令来检查Hadoop守护进程是否正在运行? 例如,如果我想弄清楚为什么HDFS没有正确设置,我想知道一个方法来检查是否namemonode / datanode / jobtracker / tasktracker正在这台机器上运行。 有没有什么办法可以快速检查它,而无需查看日志或使用ps(在Linux上)?

程序的hadoop启动错误:PriviledgedActionException

我写了下面的程序 using namespace std; #include "hadoop/Pipes.hh" #include "hadoop/TemplateFactory.hh" #include "hadoop/StringUtils.hh" #include "libpq-fe.h" extern "C" { #include "traverser.h" } class IndexMap:public HadoopPipes::Mapper { public: IndexMap(HadoopPipes::TaskContext & context) { } void map(HadoopPipes::MapContext & context) { std::vector<std::string> paths = HadoopUtils::splitString(context.getInputValue(), "rn"); unsigned int k = 4; unsigned int l = 0; string concatpaths[k]; if (paths.size() % k == […]

线程“main”中的exceptionjava.lang.NoClassDefFoundError:org / apache / hadoop / util / PlatformName

我知道这个例外有很多post,但我无法解决这个问题。 类path必须被编辑,我认为要解决它。 我试图在hadoop基础结构中运行一个名为DistMap的程序。 这是我得到的错误。 Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FsShell Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FsShell at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could […]

Apache Pig:使用hadoop fs -text加载显示正常的文件

我有名为part-r-000 [0-9] [0-9]并包含制表符分隔字段的文件。 我可以使用hadoop fs -text part-r-00000来查看它们,但是无法使用pig加载它们。 我试过了: x = load 'part-r-00000'; dump x; x = load 'part-r-00000' using TextLoader(); dump x; 但那只会给我垃圾。 如何使用猪查看文件? 可能相关的是我的hdfs目前仍在使用CDH-2。 此外,如果我将文件下载到本地并运行file part-r-00000它说part-r-00000: data ,我不知道如何解压缩到本地。

Hadoop:«错误:JAVA_HOME未设置»

我试图在Ubuntu 11.10上安装Hadoop。 我把文件conf/hadoop-env.sh的JAVA_HOMEvariables设置为: # export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk 然后我执行这些命令(独立操作): $ mkdir input $ cp conf/*.xml input $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[az.]+' $ cat output/* 但执行第三个命令时出现以下错误: 错误:未设置JAVA_HOME JAVA_HOMEvariables设置不正确?

在Python中更改用户

我正在写一个简单的脚本,重新启动一个hadoop奴隶。 在脚本中,我必须以root用户身份进行一些初始更改。 之后,我必须更改为用户“hadoop”并执行一组命令。 我使用os.system来运行命令,但我怀疑它是否工作正常。 例如: uid=pwd.getpwnam('hadoop')[2] os.setuid(uid) os.system('whoami') os.chdir('/home/hadoop/hadoop/') os.system('bin/hadoop-daemon.sh stop tasktracker') 再次,我必须以root身份执行一些命令,并再次成为用户“hadoop”并执行: os.system('bin/hadoop-daemon.sh stop tasktracker') 我在这里有三个问题, os.system是我可以用来发行linux命令的最好命令吗? 我可以通过上面的命令从root用户更改为用户hadoop,但我无法更改为root用户(我可以理解,如果他们允许这样做会有安全问题,我想知道是否有任何可能做到这一点,至less通过传递密码)? os.setuid()是否工作? whoami打印用户hadoop但进程“tasktracker”不停止使用这些命令,但如果我手动执行相同的命令,它工作正常(手动尝试出来时,我使用“su hadoop”而不是setuid)。 感谢你的帮助。 Sethu

Windows中的Nutch:无法设置path的权限

我试图在Windows机器上用Nutch与Solr用户,我得到以下错误: Exception in thread "main" java.io.IOException: Failed to set permissions of path: c:\temp\mapred\staging\admin-1654213299\.staging to 0700 从我学到的很multithreading来看,这个似乎被nutch使用的hadoop会使用unix机器上的一些chmod魔术,而不是在windows上。 这个问题已经存在了一年多了。 我find了一个线程,在那里显示了代码行并提出了一个修正。 我真的是他们中唯一一个有这个问题的人吗? 所有其他人创build一个自定义生成,以便在Windows上运行nutch吗? 或者是否有一些选项来禁用hadoop的东西或其他解决scheme? 也许另一个爬行者比nutch? 非常感谢。 鲍里斯 这里是我正在做的堆栈跟踪…. admin@WIN-G1BPD00JH42 /cygdrive/c/solr/apache-nutch-1.6 $ bin/nutch crawl urls -dir crawl -depth 3 -topN 5 -solr http://localhost:8080/solr-4.1.0 cygpath: can't convert empty path crawl started in: crawl rootUrlDir = urls threads = 10 depth […]

无法在cygwin中启动Hadoop的namenode

我正在尝试在Cygwin中为Hadoopconfigurationnamenode。 我正在使用Windows 7机器。 这是我的configuration文件如何设置: 1)mapred-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!– Put site-specific property overrides in this file. –> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:4441</value> </property> </configuration> 2)core-site.xml <?xml version="1.0"?> <?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://localhost:4440</value> </property> </configuration> 3)hdfs-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!– Put site-specific […]

在Windows上运行没有Admin权限的Hadoop MR作业

我在窗口中安装了Hadoop 2.3.0,能够成功执行MR作业。 但是,当我试图以正常的权限(没有pipe理员权限)执行MR作业时,意味着作业失败,出现以下exception。 在这里,我试着用猪脚本样本。 2014-10-15 12:02:32,822 WARN [main] org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:kaveen (auth:SIMPLE) cause:java.io.IOException: Split class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit not found 2014-10-15 12:02:32,823 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.io.IOException: Split class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit not found at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:362) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:403) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163) Caused by: java.lang.ClassNotFoundException: Class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit […]

在Windows上的Apache猪给“hadoop-config.cmd”不被识别为内部或外部命令“错误时运行”pig -x本地“

如果你因为类似的错误而在Windows上运行Apache Pig hadoop-2.4.0\bin\hadoop-config.cmd' is not recognized as an internal or external command, 可操作程序或batch file。 尽pipe你正在让Hadoop在Windows上完美运行