私は Hadoop を初めて使用し、Windows でサンドボックス環境をセットアップしてクライアントに紹介する必要があります。以下の手順に従いました
- すべてのマシンに cygwin をインストールする
- ssh のセットアップ
- Hadoop 1.0.4 をインストールします
- Hadoop を構成する
- hadoop-7682 バグのパッチを適用
多くのヒットと試行の後、すべてのコンポーネント (namenode、datanode、tasktracker、および jobtracker) を正常に実行することができました。しかし、map-reduce ジョブの実行中に問題が発生し、tmp ディレクトリでパーミッション エラーが発生しました。次のコマンドを使用してワードカウントの例を実行すると
bin/hadoop jar hadoop*examples*.jar wordcount wcountjob wcountjob/gutenberg-output
13/03/28 23:43:29 INFO mapred.JobClient: タスク ID: 試行_201303282342_0001_m_000003_2、ステータス: 失敗しました試行の初期化エラー_201303282342_0001_m_000003_2: java.io.IOException: パスのアクセス許可を設定できませんでした: c:\localcygmp\usr \taskTracker\uswu50754 から 0700 で org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689) で org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:662) で org.apache.hadoop org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344) の .fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509) org.apache.hadoop.mapred.JobLocalizer.createLocalDirs(JobLocalizer.java:144) ) org.apache.hadoop.mapred.DefaultTaskController.initializeJob(DefaultTaskController.java:182) で org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1228) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation .doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1203) org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1118) org. apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2430) at java.lang.Thread.run(Thread.java:662)1121) org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1203) org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1118) org.apache.hadoop.mapred.TaskTracker $5.run(TaskTracker.java:2430) at java.lang.Thread.run(Thread.java:662)1121) org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1203) org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1118) org.apache.hadoop.mapred.TaskTracker $5.run(TaskTracker.java:2430) at java.lang.Thread.run(Thread.java:662)
アクセス許可を手動で設定しようとしましたが、それも機能しません。私が理解しているのは、これは、パーミッションをリセットしようとして失敗するJavaライブラリが使用されているためです。tasktracker の問題を解決したパーミッション パッチは、この問題を解決していないようです。
- 誰かがこれに対する解決策を見つけましたか?
- この問題の影響を受けていないように見える Hadoop 0.20.2 のダウンロード場所を教えてもらえますか?