hadoop----(1)安裝與配置

##1.hadoop簡介
hadoop有什麼作用?應用於哪些領域?解決什麼問題?
1.hadoop的三大核心組件
1>HDFS(分佈式文件系統),解決海量數據存儲。  
2>YARN(作業調度和集羣資源管理),解決資源任務調度問題。   3>MAPReduce(分佈式變成模型) , 解決海量數據計算問題。
2.hadoop應用領域
1>日誌分析處理
2>ETL,數據抽取到mysql、mongdb、hive等數據庫。
3>機器學習,如Apache Mahout項目,這個點目前比較火爆。
4>數據挖掘,其實就是數據分析,如智能推薦。
3.hadoop解決問題
舉例說明:需求方要求在100M的文件中統計分析出某些特殊字符的位置以及個數等,這個時候用java文件流的方式可以實現,去讀取這個文件,然後寫邏輯代碼分析統計。但是需求方如果給10個100M,或者是1w個100M的文件呢,這個時候就只能依靠一些大數據框架來處理了,hadoop應運而生,它解決的問題就是 海量數據存儲及海量數據分析。
##2.安裝hadoop
1.下載hadoop,官網地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.10.1/
2.解壓hadoop,tar -zxvf hadoop-2.10.1.tar.gz,如下圖

這裏簡要說明下hadoop目錄結構
1>bin目錄,存放hadoop相關服務(hdfs、mapred、yarn)的操作腳本。
2>etc目錄,存放hadoop的配置文件,後面會大量修改這裏配置文件
3>lib目錄,存放hadoop的本地庫,對數據進行壓縮與解壓功能
4>sbin目錄,存放hadoop所有服務的啓動或者停止腳本
5>share目錄,存放hadoop的依賴jar包,文檔與官方樣例
3.配置hadoop環境變量
vi /etc/profile
#hadoop環境變量 export HADOOP_HOME=/usr/java/hadoop/hadoop-2.10.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

4.測試是否安裝成功
hadoop version

很明顯,出來了版本信息,說明環境變量配置沒得問題
5.修改hadoop配置文件
1>修改配置文件hadoop-env.sh
打開該配置文件,發現有一行是配置java環境變量的,初始值是${JAVA_HOME},這裏改成具體的jdk所在目錄。查看jdk安裝目錄採用echo $JAVA_HOME命令,

修改hadoop-env.sh之後,如下

2>修改配置文件core-site.xml
主要設置兩個屬性,1.HDFS的NameNode的地址;2.指定hadoop運行時產生的臨時文件目錄  

<configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9090</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/java/hadoop/hadoop-2.10.1/tmp</value>
        </property>
</configuration>

修改後如下

3>修改hdfs-site.xml文件

主要設置3個屬性,1.namenode產生的文件存放路徑,2.datanode產生的文件存放路徑,3.replication表示HDFS保存數據副本的數量。

<configuration>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/usr/java/hadoop/hadoop-2.10.1/hdfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/usr/java/hadoop/hadoop-2.10.1/hdfs/data</value>
	</property>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
</configuration>

4>修改配置文件mapred-site.xml

我們在hadoop目錄下沒有發現mapred-site.xml,但是有mapred-site.xml.template,如下圖

所以我們需要去掉 .template。採用mv mapred-site.xml.template mapred-site.xml。

該配置文件我們只設置一個屬性,用於指定mapreduce運行在yarn上,即mapreduce使用yarn框架。

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

5>修改配置文件yarn-site.xml

主要配置是nodemanager獲取數據的方式是shuffle。

<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>	
	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandle</value>
	</property>
</configuration>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章