日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop模式介绍-独立,伪分布式,分布式

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的Hadoop模式介绍-独立,伪分布式,分布式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。