基本コマンド
Hadoop - 回避策の警告: WARN util.NativeCodeLoader
1 cd ${HADOOP_HOME} 2 vim etc/hadoop/log4j.properties #ファイルの最後に追加します: 3 log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR #意味 、org.apache.hadoop の場合util.NativeCodeLoader クラスのログには ERROR 以上のレベルのみが出力され、DEBUG、INFO、WARN などの ERROR レベル未満のログは無視されます。
HDFS ファイル オペレーティング システム
#フォルダーを作成します hdfs dfs -mkdir /temp #Amazon は 6000 個以上のハードディスクを作成しました cd /opt/ ls #Web ハード ドライブにコピーします (個人的な理解) hdfs dfs -copyFromLocal jdk-8u111-linux-x64.tar.gz /temp #ファイルを USB ディスクにコピーして戻します。 hdfs dfs -copyToLocal /temp/jdk-8u111-linux-x64.tar.gz ~ #ファイルを削除します rm -rf jdk-8u111-linux-x64.tar.gz #tmp を作成しますfile hdfs dfs -mkdir /tmp #jdk ファイルを tmp にコピーします (Web ページから Web ページに -cp を使用します) hdfs dfs -cp /temp/jdk-8u111-linux-x64.tar.gz /tmp #tmp 上のファイルを表示します hdfs dfs -ls /tmp #ファイルとディレクトリの削除 hdfs dfs -rm -R /tmp hdfs dfs -rm -R /temp # ファイルの作成 temp hdfs dfs -mkdir /temp . ファイルのアップロード vim exp.txt hello hadoop Hello World Hello Spring Spring Cloud hdfs dfs -copyFromLocal exp.txt / temp
コードを書くアイデア
1 新しい Maven プロジェクトを作成し、pom をインポートします
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache. hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency>
#ファイルの削除を許可します (ファイルの削除とエラーの報告時に使用されます) #supergroup:drwxr-xr-x は drwxrwxrwx になりますhdfs dfs -chmod -R 777 / #fdfs に書き込まれたローカル ファイルを表示します (方法 2) hdfs dfs -cat / tmp /ええ
3.Javaバージョンのアップロードとダウンロード
public class App { public static void main( String[] args ) throws Exception { // /** メソッド 1 タスク // * HDFS 上のファイルをユーザーが指定した場所に書き込みます // * ビッグ データ ハードディスクを検索します // */ FileSystem fs = FileSystem.get(new URI("hdfs://192.168.64.210:9000"),new Configuration()); // // // ファイルを読み書きするための io ストリーム を準備します // InputStream は = fs.open(new Path("/temp/exp.txt")); //出力ストリームを準備します // FileOutputStream fos = new FileOutputStream("d:/abc.txt"); // //読み取ったデータを配置しますstream 出力ストリームに書き込みます // IOUtils.copyBytes(is,fos,4096,true); // /** 方法 2 // *crud ファイルは、ユーザーが指定した場所のファイルを HDFS 上のファイルに書き込みます // * / ファイル // HDFS ディスク上にフォルダーを作成します // fs.mkdirs(new Path("/tmp")); // HDFS ディスク上のフォルダーを削除します // fs.delete(new Path("/temp") ,true ); fs.createNewFile (new Path("/tmp/eee")); FileInputStream is = new FileInputStream("d:/a.txt"); FSDataOutputStream fos = fs.append(new Path("/tmp /eee) ")); IOUtils.copyBytes(is,fos,4096,true); } }
分散コンピューティング モデル MapReduce
1 アイデアコード 02
#再导包 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org .apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>2.6.0</version> </dependency>
2. マッパーの書き込み
#WcMapper层 public class WcMapper extends Mapper<LongWritable, Text,Text, IntWritable> { IntWritable one=new IntWritable(1); @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { //文字串分割 String[] infos = value.toString().split(" "); //hadoop hello ok for (String word : infos) { context.write(new Text(word),one);// hadoop 1,hello 1,ok 1 } } } #WcReduce 层 public class WcReduce extends Reducer< Text, IntWritable,Text,IntWritable> { @Override protected voidreduce(Text key, Iterable<IntWritable>values, Context context) throws IOException, InterruptedException { int count=0; for (IntWritable val :values) { count+=val.get(); } context.write(key,new IntWritable(count)); } } #WcRun レイヤー public class WcRun { public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { //1 初期化 設定 cfg = new Configuration(); ジョブ job = Job.getInstance (cfg); //2 jar ロード パスを設定します。通常、設定は driver class.class job.setJarByClass(WcRun.class) です 。 // 3 マップおよびリデュースクラスを設定します job.setMapperClass(WcMapper.class); job.setReducerClass(WcReduce.class); // 4 マップ出力を設定します job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass( IntWritable.class); // 5 Reduce 出力と最終出力を設定します job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); // 6 引数が渡される入力パスと出力パスを設定しますメインへ)メソッド パラメータ FileInputFormat.setInputPaths(job,new Path("file:///d:/a.txt")); FileOutputFormat.setOutputPath(job,new Path("file:///d:/kgc) ")); // タスクを送信する job.waitForCompletion(true); ; } }
3.windons は Hadoop クラスターをシミュレートします