Hadoop簡介與安裝

hadoop簡介

Apache Hadoop軟件庫是一個框架,允許使用簡單的編程模型跨計算機集羣分佈式處理大型數據集。它旨在從單個服務器擴展到數千臺計算機,每臺計算機都提供本地計算和存儲。該庫本身不是依靠硬件來提供高可用性,而是設計用於檢測和處理應用層的故障,從而在計算機集羣之上提供高可用性服務,每個計算機都可能容易出現故障。

hadoop的思想之源來源於Google在大數據方面的三篇論文
GFS => HDFS
MapReduce => MapReduce 
BigTable => HBase

hadoop的優勢:
1)高可靠性:
	因爲Hadoop假設計算元素和存儲會出現故障,因爲它維護多個工作數據副本,在出現故障時可以對失敗的節點重新分佈處理。
2)高擴展性:
	在集羣間分配任務數據,可方便的擴展數以千計的節點。
3)高效性:
	在MapReduce的思想下,Hadoop是並行工作的,以加快任務處理速度。
4)高容錯性:
	自動保存多份副本數據,並且能夠自動將失敗的任務重新分配。
	
Hadoop組成:
1)MapReduce(計算):一個分佈式的離線並行計算框架。
2)Yarn(資源調度):作業調度與集羣資源管理框架。
3)HDFS(數據存儲):一個高可靠,高吞吐量的分佈式文件系統。
4)common(輔助工具類):支持其他模塊的工具模塊(Configuration、RPC、序列化機制、日誌操作)。

hadoop安裝

說明:

使用3臺虛擬機服務器
分別是:10.1.255.121,10.1.255.1212 ,10.1.255.123
ip配置:https://blog.csdn.net/weixin_39806100/article/details/86628013

域名配置
vi /etc/hosts

bigdata121 10.1.255.121
bigdata122 10.1.255.122
bigdata123 10.1.255.123

下載地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

1,上傳解壓

我這裏的解壓目錄爲:/opt/moudle/hadoop-2.7.3

2,環境變量

vi  /etc/profile

添加如下內容

export HADOOP_HOME=/opt/moudle/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使配置生效

source  /etc/profile

3,配置hadoop

cd /opt/moudle/hadoop-2.7.3/etc/hadoop
(1)vi hadoop-env.sh (用於指定jdk路徑)

JDK安裝
添加

export JAVA_HOME=/opt/moudle/jdk1.8.0_181
(2)vi core-site.xml (hadoop全局配置)
<configuration>
    <!-- 配置HDFS主節點,namenode的地址,9000是RPC通信端口 -->
   <property>
        <name>fs.default.name</name><!-- fs.defaultFS -->
        <value>hdfs://bigdata121:9000</value>
	</property>
    <!-- 配置HDFS數據塊和元數據保存的目錄,一定要修改 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/moudle/hadoop-2.7.3/tmp</value>
    </property>
</configuration>
(3)vi hdfs-site.xml (HDFS配置)
<configuration>
    <!-- 數據塊的冗餘度,默認是3 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!-- SecondaryNameNode配置 -->
    <property>
       <name>dfs.namenode.secondary.http-address</name>
       <value>bigdata121:50090</value>
    </property>

    <!-- 配置HDFS的權限檢查,默認是true -->
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>
(4)vi mapred-site.xml (配置MR程序運行的框架,默認沒有)
cp mapred-site.xml.template mapred-site.xml
<configuration>
    <!-- 配置MR程序運行的框架 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
(5)vi yarn-site.xml(配置Yarn)
<configuration>
    <!-- 配置Yarn的節點 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>bigdata121</value>
    </property>
     <!-- NodeManager執行MR任務的方式是Shuffle洗牌 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
(6)vi slaves (配置從節點)
bigdata122
bigdata123
(7)通過HDFS namenode格式化
hdfs namenode -format

成功日誌:

Storage directory /opt/moudle/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.

4,scp 拷貝

scp -r /opt/moudle/hadoop-2.7.3/tmp/ root@bigdata122:/opt/moudle/hadoop-2.7.3/tmp/

scp -r /opt/moudle/hadoop-2.7.3/tmp/ root@bigdata122:/opt/moudle/hadoop-2.7.3/tmp/

5,ssh免密登錄

#生成鑰匙對
ssh-keygen -t rsa

#將公鑰拷貝到其它兩臺機器上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata121
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata122
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata123

其它兩臺機器重複上面的操作。

6,啓動

cd /opt/moudle/hadoop-2.7.3/sbin

#啓動
./start-all.sh

#停止
./stop-all.sh

7,查看java進程

jps

顯示結果如下

主節點
7283 Jps
7013 ResourceManager
6859 SecondaryNameNode #第二節點
6670 NameNode  #名稱節點

從節點
4244 DataNode #數據節點
4469 Jps
4351 NodeManager 

8,web訪問:

yarn: 
http://10.1.255.121:8088 

hdfs: 
http://10.1.255.121:50070 

hadoop運行wordcount 案例

cd /opt/moudle/hadoop-2.7.3/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/temp/a.txt ~/temp/out
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章