最初のhadoopプログラム(javaプログラムはhadoopのhdfsファイルシステムのファイルにアクセス)
1943 ワード
1:hadoop2.7.3環境
2:アリクラウドサーバーcentos 6.5,ipは:47.88.14.190
3:hadoopは擬似分散で実行されます.
4:具体的なプロファイルは以下の通りです.
1)core-site.xml構成(ipアドレスはlocalhostを使わないほうがいい.そうしないとテストしにくい)
fs.defaultFS hdfs://47.88.14.190:9000
2)hdfs-site.xml構成(構成コピーが1、すなわち擬似分散)
dfs.replication 1
3)mapred-site.xml
mapred.job.tracker 47.88.14.190:8021 5:javaプログラムがhadoopにアクセスするときにこれらのポートを使用するため、4のプロファイルのポート番号が重要であることに注意してください.
6:hadoopを実行し、sbin/start-allを実行します.sh
7:centos 6.5で実行、hadoop fs-mkdir/test
8:testをアップロードします.txtはhadoopのファイルシステムに、hadoop fs-copyFromLocal/usr/text.txt /test
9:javaプログラムを新規作成しhadoopファイルシステムの/test/textを読み出す.txtファイル.(注意ポート番号9000はcore-site.xmlで構成されているポート番号です)
10:jarパッケージの問題、多くの人が、私の上のコードを自分のeclipseにコピーして、jarが欠けていることに気づいて、それから問題が来て、私たちはどのjarパッケージをインポートする必要がありますか?
初心者にはhadoop-eclipse-plugins-2.7.3をインストールすることをお勧めします.JArプラグイン、このプラグインはネット上でダウンロードすることができて、インストールした後、直接右クリックしてMap/Reduceプロジェクトを新築することができて、自動的にhadoop開発に必要な関連jarパッケージを導入して、このようにClassNotFound異常が存在しません.
2:アリクラウドサーバーcentos 6.5,ipは:47.88.14.190
3:hadoopは擬似分散で実行されます.
4:具体的なプロファイルは以下の通りです.
1)core-site.xml構成(ipアドレスはlocalhostを使わないほうがいい.そうしないとテストしにくい)
fs.defaultFS hdfs://47.88.14.190:9000
2)hdfs-site.xml構成(構成コピーが1、すなわち擬似分散)
dfs.replication 1
3)mapred-site.xml
mapred.job.tracker 47.88.14.190:8021 5:javaプログラムがhadoopにアクセスするときにこれらのポートを使用するため、4のプロファイルのポート番号が重要であることに注意してください.
6:hadoopを実行し、sbin/start-allを実行します.sh
7:centos 6.5で実行、hadoop fs-mkdir/test
8:testをアップロードします.txtはhadoopのファイルシステムに、hadoop fs-copyFromLocal/usr/text.txt /test
9:javaプログラムを新規作成しhadoopファイルシステムの/test/textを読み出す.txtファイル.(注意ポート番号9000はcore-site.xmlで構成されているポート番号です)
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class FileSystemCat {
public static void main(String[] args) throws Exception {
String uri="hdfs://47.88.14.190:9000/test/test.txt";
Configuration configuration=new Configuration();
FileSystem fileSystem=FileSystem.get(URI.create(uri), configuration);
FSDataInputStream in=null;
in=fileSystem.open(new Path(uri));
// FileStatus fileStatus=fileSystem.getFileStatus(new Path(uri));
// byte[] buffer=new byte[1024];
// in.read(4096, buffer, 0, 1024);
IOUtils.copyBytes(in, System.out, 4096, false);
IOUtils.closeStream(in);
}
}
10:jarパッケージの問題、多くの人が、私の上のコードを自分のeclipseにコピーして、jarが欠けていることに気づいて、それから問題が来て、私たちはどのjarパッケージをインポートする必要がありますか?
初心者にはhadoop-eclipse-plugins-2.7.3をインストールすることをお勧めします.JArプラグイン、このプラグインはネット上でダウンロードすることができて、インストールした後、直接右クリックしてMap/Reduceプロジェクトを新築することができて、自動的にhadoop開発に必要な関連jarパッケージを導入して、このようにClassNotFound異常が存在しません.