Hadoop 基本ファイルのアップロードおよびダウンロード MapReduce エントリの警告: WARN util.NativeCodeLoader ソリューション

 

 

 

基本コマンド

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 クラスターをシミュレートします

 

 

アイデアまたはコンピューターを再起動してください。

結果をチェックしてください!

おすすめ

転載: blog.csdn.net/just_learing/article/details/126147940