大數據入門:Hadoop安裝、環境配置及檢測



@


Hadoop所用安裝包和配置文件等我找到最方便使用的方式再上傳到博客,如果有需要也歡迎找我分享。


在windows下,

1.導包Hadoop包

我用的是破解版的文件,不需要安裝,直接解壓到D盤下
在這里插入圖片描述


2.配置環境變量

  • 接下來配置環境變量,相信配置過jdk的同學們對這一步應該不算陌生。

我的電腦——>屬性——>高級系統設置——>環境變量——>系統變量——>編輯Path,增加 %HADOOP_HOME%\bin ——>新建一個變量名為 HADOOP_HOME,變量值為 hadoop安裝路徑的系統變量——>確定操作——>完成
在這里插入圖片描述

在這里插入圖片描述

找到系統變量,編輯Path
在這里插入圖片描述

加上 %HADOOP_HOME%\bin即可
在這里插入圖片描述

確定之后,新建一個系統變量
在這里插入圖片描述

在這里插入圖片描述
然后依次確定剛才的操作,配置環境變量工作完成。


3.把winutil包拷貝到Hadoop bin目錄下

在這里插入圖片描述


4.把Hadoop.dll放到system32下

路徑:C:\Windows\System32
在這里插入圖片描述


5.檢測Hadoop是否正常安裝

5.1在maven項目中檢測,將配置文件放入resource包下

在這里插入圖片描述

5.2然后通過一個簡單的wordcount程序檢測Hadoop是否安裝成功

先在本地電腦寫一個txt文件,內容隨便輸入,
如:
在這里插入圖片描述

5.3保存好之后,寫程序:

(檢測這里將程序復制過去就可以,先不用理解,后續學習)

package com.oracle.demo.mr;

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

import java.io.IOException;

public class WordCount {
    public class WcMapper extends Mapper<LongWritable,Text,Text,IntWritable> {
        @Override
        protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
            String line = value.toString();
            String[] strs = line.split(" ");
            for (String s:strs){
                Text outkey = new Text(s);
                IntWritable outvalue = new IntWritable(1);
                context.write(outkey,outvalue);
            }
        }
    }
    public class WcReduce extends Reducer<Text,IntWritable,Text,IntWritable> {
        @Override
        protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
            int count = 0;
            for (IntWritable n:values){
                count += n.get();

            }
            context.write(key,new IntWritable(count));
        }
    }
    public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
        Job job = Job.getInstance();

        job.setMapOutputKeyClass(Text.class);
        job.setMapOutputValueClass(IntWritable.class);

        job.setMapOutputKeyClass(Text.class);
        job.setMapOutputValueClass(IntWritable.class);

        job.setMapperClass(com.oracle.demo.mr.WcMapper.class);
        job.setReducerClass(com.oracle.demo.mr.WcReduce.class);

        FileInputFormat.setInputPaths(job,new Path("E:\\BigData\\input.txt"));
        FileOutputFormat.setOutputPath(job,new Path("E:\\BigData\\output"));

        job.waitForCompletion(true);
    }
}

注意:
在這里插入圖片描述
運行之后控制台顯示:
在這里插入圖片描述
。。。
在這里插入圖片描述
。。。
在這里插入圖片描述

表示運行成功,沒有錯誤

5.4最后我們打開輸出文件查看:

在這里插入圖片描述

結果是:
在這里插入圖片描述
此刻,表示Hadoop安裝成功,大功告成了。


6.容易出現的錯誤:

6.1.導包錯誤

6.2.輸出文件存在

Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory file:/E:/BigData/output already exists
在這里插入圖片描述
如何解決:之前運行的輸出文件刪除即可。

6.3.環境搭建或配置等錯誤

在這里插入圖片描述


這篇博客是我自己安裝完之后寫出來的,如果過程中有什么疏漏或者疑問,歡迎和我交流。安裝過程中也許會遇到一些自己解決不了的錯誤,不要急躁,慢慢找方法解決就好了,希望你能成為一個優秀的程序員。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM