Hadoop模式介紹-獨立,偽分布式,分布式

了解了什么是Hadoop之后,讓我們在單機上啟動Hadoop:

這篇文章包含在ubuntu上安裝Hadoop的說明。 這是Hadoop安裝的快速分步教程。 在這里,您將獲得以獨立模式 (單節點集群)安裝Hadoop所需的所有命令及其說明, ? 偽分布式模式下的Hadoop (單節點群集)和分布式模式下的Hadoop (多節點群集)。

本教程的主要目標是啟動并運行“簡單的” Hadoop安裝,以便您可以試用該軟件并了解更多信息。

本教程已經過測試:

  • Ubuntu Linux(10.04 LTS)
  • Hadoop 0.20.2

先決條件:
安裝Java:
推薦將Java 1.6.x(Sun Java或Open Java)用于Hadoop

1.將Canonical合作伙伴存儲庫添加到您的apt存儲庫中:

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

2.更新源列表

$ sudo apt-get update

3.安裝sun-java6-jdk

$ sudo apt-get install sun-java6-jdk

4.安裝后,快速檢查Sun的JDK是否正確設置:

user@ubuntu:~# java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)

添加專用的Hadoop系統用戶:
我們將使用專用的Hadoop用戶帳戶來運行Hadoop。 雖然這不是必需的,但建議這樣做,因為它有助于將Hadoop安裝與同一計算機上運行的其他軟件應用程序和用戶帳戶分開(請考慮:安全性,權限,備份等)

$ sudo adduser hadoop_admin

登錄到hadoop_admin用戶:

user@ubuntu:~$ su - hadoop_admin

Hadoop安裝:

$ cd /usr/local
$ sudo tar xzf hadoop-0.20.2.tar.gz
$ sudo chown -R hadoop_admin /usr/local/hadoop-0.20.2

定義JAVA_HOME:

編輯配置文件/usr/local/hadoop-0.20.2/conf/hadoop-env.sh并設置JAVA_HOME:
導出JAVA_HOME =要成為Java安裝根目錄的路徑(例如:/ usr / lib / jvm / java-6-sun)

$ vi conf/hadoop-env.sh

進入您的hadoop安裝目錄(HADOOP_HOME,即/usr/local/hadoop-0.20.2/):

$ bin/hadoop

它將生成以下輸出:

Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
namenode -format                format the DFS filesystem
secondarynamenode               run the DFS secondary namenode
namenode                        run the DFS namenode
datanode                        run a DFS datanode
dfsadmin                        run a DFS admin client
mradmin                         run a Map-Reduce admin client
fsck                            run a DFS filesystem checking utility
fs                              run a generic filesystem user client
balancer                        run a cluster balancing utility
jobtracker                      run the MapReduce job Tracker node
pipes                           run a Pipes job
tasktracker                     run a MapReduce task Tracker node
job                             manipulate MapReduce jobs
queue                           get information regarding JobQueues
version                         print the version
jar <jar>                       run a jar file
distcp <srcurl>                 <desturl> copy file or directories recursively
archive -archiveName NAME <src>*<dest> create a hadoop archive
daemonlog                       get/set the log level for each daemon
or
CLASSNAME                       run the class named CLASSNAME
Most commands print help when invoked w/o parameters:

獨立模式下的Hadoop安裝已完成……。!!!!!!!

現在運行一些示例:
1.運行經典Pi示例:

$ bin/hadoop jar hadoop-*-examples.jar pi 10 100

2.運行grep示例:

$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' 
$ cat output/*

3.運行字數示例:

$ mkdir inputwords
$ cp conf/*.xml inputwords
$ bin/hadoop jar hadoop-*-examples.jar wordcount inputwords outputwords

如果發現任何錯誤,請訪問Hadoop故障排除

在獨立模式下運行Hadoop之后,讓我們以偽分布式模式 (單節點集群)啟動Hadoop

配置SSH:
Hadoop需要SSH訪問權限來管理其節點,即遠程計算機和本地計算機。 因此,對于我們的Hadoop單節點設置,我們需要為hadoop_admin用戶配置對localhost的SSH訪問

user@ubuntu:~$ su - hadoop_admin   
hadoop_admin@ubuntu:~$ sudo apt-get install openssh-server openssh-clienthadoop_admin@ubuntu:~$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop_admin/.ssh/id_rsa):
Created directory '/home/hadoop_admin/.ssh'.
Your identification has been saved in /home/hadoop_admin/.ssh/id_rsa.
Your public key has been saved in /home/hadoop_admin/.ssh/id_rsa.pub.
The key fingerprint is:
9b:82:ea:58:b4:e0:35:d7:ff:19:66:a6:ef:ae:0e:d2 hadoop_admin@ubuntu
The key's randomart image is:
[...snipp...]
hadoop_admin@ubuntu:~$

啟用S??SH訪問本地計算機并使用ssh連接

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
$ ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is e7:89:26:49:ae:02:30:eb:1d:75:4f:bb:44:f9:36:29.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
Linux ubuntu 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 30 13:27:30 UTC 2010 i686 GNU/Linux
Ubuntu 10.04 LTS
[...snipp...]
$

編輯配置文件:

$ vi conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
</property></configuration>

如果提供其他路徑,請確保該目錄中的hadoop_admin用戶具有讀寫權限(sudo chown hadoop_admin / your / path)

$ vi conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
$ vi conf/mapred.xml
<configuration>
<property>
<name>mapred.job.tracker</name> 
<value>localhost:9001</value>
</property>
</configuration>

格式化名稱節點:

$ /hadoop/bin/hadoop namenode -format

它將生成以下輸出:

$ bin/hadoop namenode -format
10/05/10 16:59:56 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = ubuntu/127.0.1.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.2
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010
************************************************************/
10/05/10 16:59:56 INFO namenode.FSNamesystem: fsOwner=hadoop_admin,hadoop
10/05/08 16:59:56 INFO namenode.FSNamesystem: supergroup=supergroup
10/05/08 16:59:56 INFO namenode.FSNamesystem: isPermissionEnabled=true
10/05/08 16:59:56 INFO common.Storage: Image file of size 96 saved in 0 seconds.
10/05/08 16:59:57 INFO common.Storage: Storage directory .../.../dfs/name has been successfully formatted.
10/05/08 16:59:57 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1
************************************************************/
$

啟動單節點集群:

$ /bin/start-all.sh

它將生成以下輸出:

hadoop_admin@ubuntu:/usr/local/hadoop$ bin/start-all.sh
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-namenode-ubuntu.out
localhost: starting datanode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-datanode-ubuntu.out
localhost: starting secondarynamenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-secondarynamenode-ubuntu.out
starting jobtracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-jobtracker-ubuntu.out
localhost: starting tasktracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-tasktracker-ubuntu.out
hadoop_admin@ubuntu:/usr/local/hadoop$

檢查jps是否正在運行預期的Hadoop進程

$ jps
14799 NameNode
14977 SecondaryNameNode 
15183 DataNode
15596 JobTracker
15897 TaskTracker

偽分布式模式下的Hadoop安裝已完成……。!!!!!!!

停止單節點集群:

$ /bin/stop-all.sh

它將生成以下輸出:

$ bin/stop-all.sh
stopping jobtracker
localhost: stopping tasktracker
stopping namenode
localhost: stopping datanode
localhost: stopping secondarynamenode
$

您可以在oder中運行與獨立模式下相同的示例集,以檢查安裝是否成功

基于Web的NameNode接口
http://本地主機:50070
基于Web的JobTracker界面 http://本地主機:50030 基于Web的TaskTracker界面 http://本地主機:50060

在以獨立模式運行Hadoop之后,讓我們以分布式模式 (多節點集群)啟動Hadoop。

先決條件:在分布式模式下啟動hadoop之前,必須在偽分布式模式下設置hadoop,并且至少需要兩臺計算機,其中一臺用于主服務器,另一臺用于從服務器(您可以在一臺計算機上創建多臺虛擬機)。

命令 描述
$ bin / stop-all.sh 在以分布式模式啟動hadoop之前,請先停止每個集群。

在群集中的所有計算機(主服務器和從服務器)上運行此cmd ?

$ vi / etc / hosts 然后輸入
IP添加主機(例如:192.168.0.1主機)
IP添加從站(例如:192.168.0.2從站)

在群集中的所有計算機(主服務器和從服務器)上運行此cmd ?

$ ssh-copy-id -i $ HOME / .ssh / id_rsa.pub從屬 設置無密碼的SSH
在所有計算機上,您必須使用相同的用戶名登錄

在master上運行此cmd

要么
$ cat .ssh / id_rsa.pub

然后將其內容復制到
從屬服務器的$ .ssh / authorized_keys文件(您希望在不提示輸入密碼的情況下SSH登錄的系統)

我們還可以手動設置無密碼的ssh
$ vi conf / master
然后輸入master
conf / masters文件定義了我們的多節點集群的名稱節點

在master上運行此cmd ?

$ vi conf /從屬
然后輸入slave
此conf / slaves文件列出了主機(每行一個),將在其中運行Hadoop從屬守護程序(數據節點和任務跟蹤器)。

在群集中的所有計算機(主服務器和從服務器)上運行此cmd ? ?

$ vi conf / core-site.xml
然后輸入:
<屬性>
<name> fs.default.name </ name>

<value> hdfs:// master:54310 </ value>

</ property>
編輯配置文件core-site.xml

在群集中的所有計算機(主服務器和從服務器)上運行此cmd ?

$ vi conf / mapred-site.xml
然后輸入:
<屬性>
<name> mapred.job.tracker </ name>

<value> master:54311 </ value>

</ property>
編輯配置文件mapred-site.xml

在群集中的所有計算機(主服務器和從服務器)上運行此cmd ?

$ vi conf / hdfs-site.xml
然后輸入:

<屬性>
<name> dfs.replication </ name>

<value> 2 </ value> </ property>

編輯配置文件hdfs-site.xml

在群集中的所有計算機(主服務器和從服務器)上運行此cmd

$ vi conf / mapred-site.xml
然后輸入:
<屬性>
<name> mapred.local.dir </ name>

<value> $ {hadoop.tmp.dir} / mapred / local </ value>
</ property>

<屬性>
<name> mapred.map.tasks </ name>

<value> 20 </ value>

</ property>
<屬性>
<name> mapred.reduce.tasks </ name>

<value> 2 </ value>
</ property>

編輯配置文件mapred-site.xml

在master上運行此cmd

$ bin / start-dfs.sh

啟動多節點集群。 首先,啟動HDFS守護程序。 namenode守護程序在主服務器上啟動,而datanode守護程序在所有從屬服務器上啟動

在master上運行此cmd ? ?

$ jps

它應該給出如下輸出:
14799 NameNode
15314秒
16977 secondaryNameNode

在master上運行此cmd

$ jps

它應該給出如下輸出:
15183數據節點
15616 Jps

在所有奴隸上運行此cmd

$ bin / start-mapred.sh

MapReduce守護程序已啟動:jobtracker在主服務器上啟動,而tasktracker守護程序在所有從服務器上啟動

在master上運行此cmd ?

$ jps

它應該給出如下輸出:
16017跳
14799 NameNode
15596 JobTracker
14977 SecondaryNameNode

在master上運行此cmd ?

$ jps
它應該給出如下輸出:
15183數據節點
15897 TaskTracker
16284每秒

在所有奴隸上運行此cmd ?

恭喜,Hadoop安裝完成
http:// localhost:50070 / 基于Web的名稱節點界面
http:// localhost:50030 / 基于Web的作業跟蹤器界面
現在運行一些示例
$ bin / hadoop jar hadoop-*-examples.jar pi 10 100 運行pi示例
$ bin / hadoop dfs -mkdir輸入

$ bin / hadoop dfs -put conf輸入

$ bin / hadoop jar hadoop-*-examples.jar grep輸入輸出'dfs [az。] +'

$ bin / hadoop dfs -cat輸出/ *

運行grep示例
$ bin / hadoop dfs -mkdir輸入字

$ bin / hadoop dfs -put conf輸入字

$ bin / hadoop jar hadoop-*-examples.jar字數輸入詞輸出詞

$ bin / hadoop dfs -cat outputwords / *

運行wordcount示例
$ bin / stop-mapred.sh
$ bin / stop-dfs.sh
阻止惡魔

在master上運行此cmd ??

參考:來自JCG合作伙伴的 獨立模式下的 Hadoop,偽分布式模式下的 Hadoop和分布式模式 下的 Hadoop ? Rahul Patodi在高性能計算博客上。


翻譯自: https://www.javacodegeeks.com/2012/01/hadoop-modes-explained-standalone.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373436.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373436.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

apk反編譯方式

一、Apk反編譯得到Java源代碼 下載上述反編譯工具包&#xff0c;打開apk2java目錄下的dex2jar-0.0.9.9文件夾&#xff0c;內含apk反編譯成java源碼工具&#xff0c;以及源碼查看工具。 apk反編譯工具dex2jar&#xff0c;是將apk中的classes.dex轉化成jar文件 源碼查看工具jdgui…

優化Hibernate所鼓勵的7大措施

優化Hibernate所鼓勵的7大措施&#xff1a; 1.盡量使用many-to-one&#xff0c;避免使用單項one-to-many2.靈活使用單向one-to-many3.不用一對一&#xff0c;使用多對一代替一對一4.配置對象緩存&#xff0c;不使用集合緩存5.一對多使用Bag 多對一使用Set6.繼承使用顯示多態 HQ…

如何用c 控制mysql數據庫_用C語言操作MySQL數據庫

函數描述mysql_affected_rows()返回上次UPDATE、DELETE或INSERT查詢更改&#xff0f;刪除&#xff0f;插入的行數。mysql_autocommit()切換autocommit模式&#xff0c;ON/OFFmysql_change_user()更改打開連接上的用戶和數據庫。mysql_charset_name()返回用于連接的默認字符集的…

數據結構(RMQ):POJ 3624 Balanced Lineup

Balanced LineupDescription For the daily milking, Farmer Johns N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with some of the cows. To keep things simple, he will take a conti…

Apache Thrift快速入門教程

Thrift是一種跨語言RPC框架&#xff0c;最初是在Facebook上開發的&#xff0c;現在作為Apache項目開源。 這篇文章將描述如何以不同的模式&#xff08;例如阻塞&#xff0c;非阻塞和異步&#xff09;編寫Thrift服務和客戶端。 &#xff08;我覺得后兩種模式的文檔較少&#xff…

數組拆分為新數組

package com.classes;//已知數組a&#xff0c;將奇數位置元素存到b數組中&#xff0c;偶數位置元素存到c數組中public class Shuzu1118_4 { public static void main(String[] args) { int [] a{3,6,9,1,4,7,2,5,8}; int [] b; //定義數組b int [] c; //定義數組c//先找出數組…

java數組交集_java數組的交集和并集

前兩天給我出了一道題&#xff0c;求數組的并集和交集&#xff0c;然后我試著寫一下&#xff0c;很尷尬&#xff0c;由于長時間沒有寫過代碼&#xff0c;一開始數組是如何定義的給忘了。當時我說了我的思路&#xff0c;不過也是很low的做法&#xff0c;查閱網上的一些資料&…

ADF聲明性組件示例

在我以前的文章中&#xff0c;我答應展示如何為智能值列表創建ADF聲明性組件。 因此&#xff0c;我將創建一個包含三個元素的組件&#xff1a;標簽&#xff0c;輸入文本和值的組合框列表。 那很容易。 我在工作空間中創建了一個單獨的ADF ViewController項目&#xff1a; 在此項…

VS2015 安裝包缺失(聯網安裝失敗)問題解決

Win7 x86 測試可行 * 如果前面有嘗試過安裝不成功, 一定要用卸載程序刪除已安裝的部分,否則會出亂子. 1. 或者是用虛擬光驅加載ISO, 或者是解壓到硬盤上, 都沒有關系. 2. 用管理員權限啟動CMD控制臺, 進入VS2015 安裝盤的根目錄 (vs_enterprise.exe 所在的目錄). 3. 執行命令 …

java藍橋暑假班_Java實現 藍橋杯VIP 算法提高 班級排名

算法提高 班級排名時間限制&#xff1a;1.0s 內存限制&#xff1a;256.0MB問題描述達達在陶陶的影響下&#xff0c;也對學習慢慢的產生了興趣。他在每次考試之后&#xff0c;都會追著老師問&#xff0c;自己在班級的總名次是多少。考試一多&#xff0c;老師也不耐煩了&#xff…

$.ajax所犯的錯誤。success后面不執行

$.ajax({ type: post, url: ../AshxHandler/HandlerAddPhoto.ashx, data: { clientPath: photoName }, dataType: text, cache: false, success: function (data) { alert(1); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(上傳圖片出現錯誤&#xf…

WhateverOrigin –與Heroku和Play對抗相同的原產地政策! 構架

不久前&#xff0c;我在編碼 Bitcoin Pie時發現需要克服臭名昭著的Same Origin Policy &#xff0c;該政策限制了運行在客戶端瀏覽器上的javascript可以訪問的域。 通過Stack Overflow&#xff0c;我找到了一個名為Any Origin的站點&#xff0c;這基本上是無需設置專用服務器即…

Solr集群更新配置的方式

solr集群中配置文件是經常更新的&#xff0c;頻率最高的也就是schema.xml和solrconfig.xml這兩個配置文件了&#xff0c;對于更新配置文件之前&#xff0c;我們先了解一下集群項目結構 由于在集群模式下&#xff0c;solrconfig.xml和schema.xml等配置文件都由Zookeeper集群管理…

java文本框雙擊可編輯_java swing 文本域雙擊變為可編輯

java swing如何實現文本域雙擊變為可編輯呢?給文本域添加鼠標事件監聽程序即可:resultTA1new AssistPopupTextArea();resultTA1.setEditable(false);resultTA1.setLineWrap(true);resultTA1.setWrapStyleWord(true);resultTA1.addMouseListener(new MouseAdapter() {Overridep…

點擊出現黑色背景的解決

-webkit-tap-highlight-color:rgba(0,0,0,0);轉載于:https://www.cnblogs.com/luckyXcc/p/6085582.html

OSGi簡介–模塊化Java

OSGi聯盟是這一擱淺的管理機構&#xff0c;它始于1999年。其最初目標是為網絡設備創建開放擱淺。 基于此思想&#xff0c;此規范也針對Java引入。 Eclipse在Java中是第一個。 他們于2004年6月推出了基于OSGi的Eclipse IDE。 OSGi是在Java中定義動態模塊的方法。 主要為Java實現…

HDU FatMouse's Speed 基本DP

題意&#xff1a;要求找到的體重遞增&#xff0c;速度遞減的老鼠&#xff0c;并且輸出最長的長度數&#xff0c;而且輸出各自的序列數。Special Judge 思路&#xff1a;先按體重由小到大排序&#xff0c;再找最長速度遞減序列。 轉移方程&#xff1a;mou[i].w>mou[j].w&am…

java xmpp openfire_搭建Xmpp服務器Openfire

step1、 安裝java環境這里是檢測是否安裝java的網頁如沒有安裝則進行以下步驟1、下載jdk7的mac版&#xff1a;jdk-7u79-macosx-x64.dmg2、安裝好之后&#xff0c;在命令行進入以下路徑查看#cd /Library/Java/JavaVirtualMachines/3、再查看你自己安裝的版本#ls版本為jdk-8u171-…

JavaFX移動應用程序最佳實踐,第1部分

到現在為止&#xff0c;所有對JavaFX感興趣的人都會知道&#xff0c;JavaFX Mobile發行了不久 前。 可以肯定的是&#xff0c;這真是令人難以置信。 我感到筋疲力盡&#xff0c;在發行期間我什至沒有精力去寫博客…… 但是到目前為止&#xff0c;我感到很恢復&#xff0c;并且希…

Spark程序運行報錯解決(1)

報錯內容&#xff1a;System memory 259522560 must be at least 4.718592E8. Please use a larger heap size. 解決&#xff1a;Window——Preference——Java——Installed JREs——選中一個Jre 后 Edit 在Default VM arguments 里加入&#xff1a;-Xmx512M 轉載于:https://w…