這篇文章將為大家詳細講解有關Apache Hadoop 2.4.1如何實現單節點安裝,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
怎樣去安裝和配置一個單節點的Hadoop,因此您可以使用Hadoop MapReduce 和 Hadoop Distributed File System (HDFS) 快速展現一個簡單的運算。
Hadoop支持GNU/Linux系統,并被作為開發和產品平臺。經證實,在GNU/Linux平臺上Hadoop可以支持2000個節點的集群。
Windows系統也是被支持的,但是下面的文檔僅描述Hadoop在Linux上的安裝,Hadoop在Windws系統的安裝請參考 wiki page。
Linux需求的軟件包含:
Java? 必須被安裝,推薦的Java版本請參考 HadoopJavaVersions.
ssh 必須被安裝并且sshd是運行狀態, 因為需要用Hadoop腳本去管理遠程守護進程。
如果你的集群中沒有上述軟件,請安裝它。
例如在Ubuntu下:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
獲取Hadoop 分布式集群軟件,從 Apache Download Mirrors上下載一個最近的穩定版本(當期穩定版本是2.4.1)。
解壓下載好的Hadoop軟件。 在安裝目錄里,編輯文件etc/hadoop/hadoop-env.sh,并定義下面一些參數:
# 設置JAVA的安裝目錄 export JAVA_HOME=/usr/java/latest
# 設置hadoop的安裝目錄,假如您的安裝目錄是 /usr/local/hadoop export HADOOP_PREFIX=/usr/local/hadoop
在Termimal中嘗試輸入以下命令:
$ bin/hadoop
輸入上述命令后,Terminal中將會顯示hadoop scripts的使用幫助文檔。
接下來,你可以在下面三種模式中開始您的Hadoop集群
本地模式(單機模式)
為分布式模式
完全分布式模式
默認情況下,Hadoop作為一個簡單的Java程序,被運行在一個沒有分布式的模式。更多的是被用來調式程序。
在下面的例子中,復制Hadoop安裝文件中的conf目錄,使用它作為輸入。然后再conf文件中找出與給定正則表達式匹配的文件。輸出被寫到給定的output目錄。
$ mkdir input $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+' $ cat output/*
Hadoop也可以在一個單節點中運行偽分布式模式,Hadoop守護進程運行在一個分割的Java程序中。
配置的文件和屬性如下:
etc/hadoop/core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
etc/hadoop/hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
配置ssh無秘鑰登錄
使用如下命令檢查您的ssh是否可以無秘鑰登錄
$ ssh localhost
如果不能使用無秘鑰登錄到localhost,請執行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
下面這些命令運行一個MapReduce作業,如果您想執行一個YARN作業,請參考下一節的內容: 在單節點上運行YARN。
格式化文件系統:
$ bin/hdfs namenode -format
開啟NameNode守護進程和DataNode守護進程:
$ sbin/start-dfs.sh
Hadoop守護進程日志輸出在$HADOOP_LOG-DIRdiewctory目錄(默認在 $HADOOP_HOME/logs 目錄中)。
瀏覽NameNode的web接口; at:
NameNode -http://localhost:50070/
生成執行MapReduce作業需要的HDFS目錄 :
$ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/<username>
上傳輸入文件(etc/hadoop)到HDFS,并重新命名為input:
$ bin/hdfs dfs -put etc/hadoop input
運行Hadoop提供的例子:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'
檢查輸出文件:
從HDFS中復制出輸出文件到本地文件系統并檢查他們:
$ bin/hdfs dfs -get output output $ cat output/*
或者
直接在HDFS中查看輸出文件:
$ bin/hdfs dfs -cat output/*
當你完成后,可以使用下面命令停止守護進程 :
$ sbin/stop-dfs.sh
你可以在偽分布式模式下通過設置一些參數,并運行ResourceManager和NodeMangaer守護進程的條件下,來運行一個在YARN上的MapReduce作業。
執行下面的命令,要確保以上的1~4個步驟已經被執行。
配置下面文件的參數:
etc/hadoop/mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
etc/hadoop/yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
開啟 ResourceManager 守護進程和NodeManager守護進程:
$ sbin/start-yarn.sh
瀏覽ResourceManager的web接口; 默認的有效路徑是:
ResourceManager -http://localhost:8088/
運行一個MapReduce作業。
當你完成的時候, 可以使用以下命令停止YARN守護進程:
$ sbin/stop-yarn.sh
關于“Apache Hadoop 2.4.1如何實現單節點安裝”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。