hadoop轉(zhuǎn)-創(chuàng)新互聯(lián)

detailed http://wenku.baidu.com/view/c2d1ebb4ba0d4a7302763a84.html

http://hadoop.apache.org/docs/r1.0.4/cn/cluster_setup.html  old

最新的hadoop2.5 安裝目錄做了一定修改,安裝變得稍微簡單一點(diǎn)

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),連平企業(yè)網(wǎng)站建設(shè),連平品牌網(wǎng)站建設(shè),網(wǎng)站定制,連平網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,連平網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

首先安裝準(zhǔn)備工具

$ sudo apt-get install ssh $ sudo apt-get install rsync配置ssh $ ssh localhost

If you cannot ssh to localhost without a passphrase, execute the following commands:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

進(jìn)入etc/hadoop/hadoop-env.sh 配置運(yùn)行環(huán)境

# set to the root of your Java installation export JAVA_HOME=/usr/java/latest # Assuming your installation directory is /usr/local/hadoop export HADOOP_PREFIX=/usr/local/hadoop

配置hdfs端口和備份數(shù)

etc/hadoop/core-site.xml:

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property><property>#ClientDatanodeProtocol 調(diào)用getBlockLocalPathInfo的時(shí)候      <name>dfs.block.local-path-access.user</name>      <value>infomorrow</value>    </property>    <property>       <name>dfs.replication</name>       <value>1</value>     </property>     <property>       <name>hadoop.tmp.dir</name>       <value>/home/infomorrow/hadoop-tmp</value>       </property></configuration>

etc/hadoop/hdfs-site.xml:

<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>

配置使用yarn

etc/hadoop/mapred-site.xml:

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

etc/hadoop/yarn-site.xml:

NodeManager 在 啟 動(dòng) 時(shí) 加 載shuffle server,shuffle server 實(shí) 際 上 是 Jetty/Netty Server,Reduce Task 通 過 該 server 從 各 個(gè)NodeManager 上遠(yuǎn)程復(fù)制 Map Task 產(chǎn)生的中間結(jié)果

<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>

啟動(dòng)過程:

hdfs

  1. $ bin/hdfs namenode -format (初次使用時(shí))
  2. $ sbin/start-dfs.sh
  3. 進(jìn)入監(jiān)控頁查看 - http://localhost:50070/
  4. 在hdfs上創(chuàng)建文件夾
    $ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/<username>
  5. 查看hdfs上創(chuàng)建的文件夾 bin/hadoop fs -ls /

yarn

  1. $ sbin/start-yarn.sh
  2. 進(jìn)入監(jiān)控頁查看 - http://localhost:8088/

關(guān)閉:

$ sbin/stop-dfs.sh$ sbin/stop-yarn.sh

hadoop偽分布可以安裝chukwa

 

用chukwa的人很少 去hadoop論壇問問吧
目測能。。

什叫hadoop偽分布 ,是一臺主機(jī)里有虛擬機(jī)這樣

 

偽分布模式也是在一臺單機(jī)上運(yùn)行,但用不同的 Java 進(jìn)程模仿分布式運(yùn)行中的各類結(jié)點(diǎn) ( NameNode, DataNode, JobTracker, TaskTracker, Secondary NameNode ),分布式運(yùn)行中的這幾個(gè)結(jié)點(diǎn)的區(qū)別:
從分布式存儲(chǔ)的角度來說,集群中的結(jié)點(diǎn)由一個(gè) NameNode 和若干個(gè) DataNode 組成, 另有一個(gè) Secondary NameNode 作為 NameNode 的備份。
從分布式應(yīng)用的角度來說,集群中的結(jié)點(diǎn)由一個(gè) JobTracker 和若干個(gè) TaskTracker 組成,JobTracker 負(fù)責(zé)任務(wù)的調(diào)度,TaskTracker 負(fù)責(zé)并行執(zhí)行任務(wù)。
TaskTracker 必須運(yùn)行在 DataNode 上,這樣便于數(shù)據(jù)的本地計(jì)算。JobTracker 和 NameNode 則無須在同一臺機(jī)器上。
偽分布模式安裝步驟:
1.解壓到某目錄下并設(shè)置JAVA_HOME。
2.修改配置文件:
a)修改conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
b)修改conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
c)修改conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
#參數(shù) fs.default.name 指定 NameNode 的 IP 地址和端口號。缺省值是 file:///, 表示使用本地文件系統(tǒng), 用于單機(jī)非分布式模式。此處我們指定使用運(yùn)行于本機(jī) localhost 上的 NameNode。
#參數(shù) mapred.job.tracker 指定 JobTracker 的 IP 地址和端口號。缺省值是 local, 表示在本地同一 Java 進(jìn)程內(nèi)執(zhí)行 JobTracker 和 TaskTracker, 用于單機(jī)非分布式模式。此處我們指定使用運(yùn)行于本機(jī) localhost 上的 JobTracker ( 用一個(gè)單獨(dú)的 Java 進(jìn)程做 JobTracker )。
#參數(shù) dfs.replication 指定 HDFS 中每個(gè) Block 被復(fù)制的次數(shù),起數(shù)據(jù)冗余備份的作用。 在典型的生產(chǎn)系統(tǒng)中,這個(gè)數(shù)常......余下全文>>

歷時(shí)一周多,終于搭建好最新版本hadoop2.2集群,期間遇到各種問題,作為菜鳥真心被各種折磨,不過當(dāng)wordcount給出結(jié)果的那一刻,興奮的不得了~~(文當(dāng)中若有錯(cuò)誤之處或疑問歡迎指正,互相學(xué)習(xí))

PS:轉(zhuǎn)載請注明來源:http://blog.csdn.net/licongcong_0224/article/details/12972889

另外:歡迎配置過程中遇到問題的朋友留言,相互討論,并且能夠把解決方法共享給大家。下面評論中有幾個(gè)朋友遇到的問題和解決方法,歡迎參考!

特別說明:我本人也是hadoop入門不久,并正在學(xué)習(xí)中,所以當(dāng)初配置也是參考了很多資料,給出的這個(gè)參考配置可以保證大家配置的集群正常work,如果是真正的生產(chǎn)環(huán)境,那文檔中是有很多紕漏了,如下面的幾位大牛評論。謝謝參考,并提意見,互相學(xué)習(xí)!

第一部分 Hadoop 2.2 下載

     Hadoop我們從Apache官方網(wǎng)站直接下載最新版本Hadoop2.2。官方目前是提供了linux32位系統(tǒng)可執(zhí)行文件,所以如果需要在64位系統(tǒng)上部署則需要單獨(dú)下載src 源碼自行編譯(10樓評論中提供了一個(gè)解決方法鏈接)。

下載地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/

如下圖所示,下載紅色標(biāo)記部分即可。如果要自行編譯則下載src.tar.gz.

 

第二部分 集群環(huán)境搭建

1、這里我們搭建一個(gè)由三臺機(jī)器組成的集群:

192.168.0.1   hduser/passwd     cloud001    nn/snn/rm     CentOS6 64bit

192.168.0.2   hduser/passwd     cloud002     dn/nm       Ubuntu13.04 32bit

192.168.0.3   hduser/passwd     cloud003     dn/nm        Ubuntu13.0432bit

1.1 上面各列分別為IP、user/passwd、hostname、在cluster中充當(dāng)?shù)慕巧╪amenode, secondary namenode, datanode , resourcemanager, nodemanager)

1.2   Hostname可以在/etc/hostname中修改(ubuntu是在這個(gè)路徑下,redhat稍有不同)

1.3 這里我們?yōu)槊颗_機(jī)器新建了一個(gè)賬戶hduser.這里需要給每個(gè)賬戶分配sudo的權(quán)限。(切換到root賬戶,修改/etc/sudoers文件,增加:hduser ALL=(ALL) ALL )

2、修改/etc/hosts 文件,增加三臺機(jī)器的ip和hostname的映射關(guān)系

                192.168.0.1   cloud001

                192.168.0.2    cloud002

                192.168.0.3    cloud003

3、打通cloud001到cloud002、cloud003的SSH無密碼登陸

3.1 安裝ssh

     一般系統(tǒng)是默認(rèn)安裝了ssh命令的。如果沒有,或者版本比較老,則可以重新安裝:

 sodu apt-get install ssh

3.2設(shè)置local無密碼登陸

安裝完成后會(huì)在~目錄(當(dāng)前用戶主目錄,即這里的/home/hduser)下產(chǎn)生一個(gè)隱藏文件夾.ssh(ls  -a 可以查看隱藏文件)。如果沒有這個(gè)文件,自己新建即可(mkdir .ssh)。

具體步驟如下:

1、 進(jìn)入.ssh文件夾

2、 ssh-keygen -t  rsa 之后一路回 車(產(chǎn)生秘鑰)

3、 把id_rsa.pub 追加到授權(quán)的 key 里面去(cat id_rsa.pub >> authorized_keys)

4、 重啟 SSH 服 務(wù)命令使其生效 :service sshd restart(這里RedHat下為sshdUbuntu下為ssh)

此時(shí)已經(jīng)可以進(jìn)行ssh localhost的無密碼登陸

     【注意】:以上操作在每臺機(jī)器上面都要進(jìn)行。

3.3設(shè)置遠(yuǎn)程無密碼登陸

這里只有cloud001是master,如果有多個(gè)namenode,或者rm的話則需要打通所有master都其他剩余節(jié)點(diǎn)的免密碼登陸。(將001的authorized_keys追加到002和003的authorized_keys)

進(jìn)入001的.ssh目錄

scp authorized_keys hduser@cloud002:~/.ssh/ authorized_keys_from_cloud001

進(jìn)入002的.ssh目錄

cat authorized_keys_from_cloud001>> authorized_keys

至此,可以在001上面sshhduser@cloud002進(jìn)行無密碼登陸了。003的操作相同。

4、安裝jdk(建議每臺機(jī)器的JAVA_HOME路徑信息相同)

注意:這里選擇下載jdk并自行安裝,而不是通過源直接安裝(apt-get install)

4.1、下載jkd( http://www.oracle.com/technetwork/java/javase/downloads/index.html)

4.1.1 對于32位的系統(tǒng)可以下載以下兩個(gè)Linux x86版本(uname -a 查看系統(tǒng)版本)

4.1.2  64位系統(tǒng)下載Linux x64版本(即x64.rpm和x64.tar.gz)

 

4.2、安裝jdk(這里以.tar.gz版本,32位系統(tǒng)為例)

安裝方法參考http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

4.2.1 選擇要安裝java的位置,如/usr/目錄下,新建文件夾java(mkdirjava)

4.2.2 將文件jdk-7u40-linux-i586.tar.gz移動(dòng)到/usr/java

4.2.3 解壓:tar -zxvf jdk-7u40-linux-i586.tar.gz

4.2.4 刪除jdk-7u40-linux-i586.tar.gz(為了節(jié)省空間)

至此,jkd安裝完畢,下面配置環(huán)境變量

4.3、打開/etc/profile(vim /etc/profile)

在最后面添加如下內(nèi)容:

JAVA_HOME=/usr/java/jdk1.7.0_40(這里的版本號1.7.40要根據(jù)具體下載情況修改)

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOMECLASSPATH PATH

4.4、source /etc/profile

4.5、驗(yàn)證是否安裝成功:java–version

  【注意】每臺機(jī)器執(zhí)行相同操作,最后將java安裝在相同路徑下(不是必須的,但這樣會(huì)使后面的配置方便很多)

5、關(guān)閉每臺機(jī)器的防火墻

RedHat:

/etc/init.d/iptables stop 關(guān)閉防火墻。

chkconfig iptables off 關(guān)閉開機(jī)啟動(dòng)。

Ubuntu:

ufw disable (重啟生效)

第三部分 Hadoop 2.2安裝過程

    由于hadoop集群中每個(gè)機(jī)器上面的配置基本相同,所以我們先在namenode上面進(jìn)行配置部署,然后再復(fù)制到其他節(jié)點(diǎn)。所以這里的安裝過程相當(dāng)于在每臺機(jī)器上面都要執(zhí)行。但需要注意的是集群中64位系統(tǒng)和32位系統(tǒng)的問題。

1、 解壓文件

    將第一部分中下載的hadoop-2.2.tar.gz解壓到/home/hduser路徑下(或者將在64位機(jī)器上編譯的結(jié)果存放在此路徑下)。然后為了節(jié)省空間,可刪除此壓縮文件,或?qū)⑵浯娣庞谄渌胤竭M(jìn)行備份。

注意:每臺機(jī)器的安裝路徑要相同!!

2、 hadoop配置過程

配置之前,需要在cloud001本地文件系統(tǒng)創(chuàng)建以下文件夾:

~/dfs/name

~/dfs/data

~/temp

這里要涉及到的配置文件有7個(gè):

~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

~/hadoop-2.2.0/etc/hadoop/yarn-env.sh

~/hadoop-2.2.0/etc/hadoop/slaves

~/hadoop-2.2.0/etc/hadoop/core-site.xml

~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

以上個(gè)別文件默認(rèn)不存在的,可以復(fù)制相應(yīng)的template文件獲得。

配置文件1:hadoop-env.sh

修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7.0_40)

配置文件2:yarn-env.sh

修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)

配置文件3:slaves (這個(gè)文件里面保存所有slave節(jié)點(diǎn))

寫入以下內(nèi)容:

cloud002

cloud003

配置文件4:core-site.xml

<configuration>

               <property>

                               <name>fs.defaultFS</name>

                               <value>hdfs://cloud001:9000</value>

               </property>

       <property>

                               <name>io.file.buffer.size</name>

                               <value>131072</value>

               </property>

       <property>

                               <name>hadoop.tmp.dir</name>

                               <value>file:/home/hduser/tmp</value>

                               <description>Abase for other temporary directories.</description>

               </property>

        <property>

               <name>hadoop.proxyuser.hduser.hosts</name>

               <value>*</value>

       </property>

                <property>

               <name>hadoop.proxyuser.hduser.groups</name>

               <value>*</value>

       </property>

</configuration>

配置文件5:hdfs-site.xml

<configuration>

       <property>

        <name>dfs.namenode.secondary.http-address</name>

               <value>cloud001:9001</value>

    </property>

     <property>

         <name>dfs.namenode.name.dir</name>

         <value>file:/home/hduser/dfs/name</value>

      </property>

      <property>

          <name>dfs.datanode.data.dir</name>

          <value>file:/home/hduser/dfs/data</value>

      </property>

      <property>

           <name>dfs.replication</name>

           <value>3</value>

       </property>

       <property>

           <name>dfs.webhdfs.enabled</name>

           <value>true</value>

         </property>

</configuration>

配置文件6:mapred-site.xml

<configuration>

               <property>

                               <name>mapreduce.framework.name</name>

                               <value>yarn</value>

               </property>

               <property>

                               <name>mapreduce.jobhistory.address</name>

                               <value>cloud001:10020</value>

               </property>

               <property>

               <name>mapreduce.jobhistory.webapp.address</name>

               <value>cloud001:19888</value>

       </property>

</configuration>

配置文件7:yarn-site.xml

<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.ShuffleHandler</value>

        </property>

        <property>

               <name>yarn.resourcemanager.address</name>

               <value>cloud001:8032</value>

       </property>

               <property>

               <name>yarn.resourcemanager.scheduler.address</name>

               <value> cloud001:8030</value>

               </property>

               <property>

                       <name>yarn.resourcemanager.resource-tracker.address</name>

                       <value> cloud001:8031</value>

               </property>

               <property>

                       <name>yarn.resourcemanager.admin.address</name>

                       <value> cloud001:8033</value>

               </property>

               <property>

               <name>yarn.resourcemanager.webapp.address</name>

               <value> cloud001:8088</value>

       </property>

</configuration>

3、復(fù)制到其他節(jié)點(diǎn)

這里可以寫一個(gè)shell腳本進(jìn)行操作(有大量節(jié)點(diǎn)時(shí)比較方便)

cp2slave.sh

#!/bin/bash

scp–r /home/hduser/hadoop-2.2.0 hduser@cloud002:~/

scp–r /home/hduser/hadoop-2.2.0 hduser@cloud003:~/

注意:由于我們集群里面001是64bit 而002和003是32bit的,所以不能直接復(fù)制,而采用單獨(dú)安裝hadoop,復(fù)制替換相關(guān)配置文件:

Cp2slave2.sh

#!/bin/bash

scp /home/hduser/hadoop-2.2.0/etc/hadoop/slaveshduser@cloud002:~/hadoop-2.2.0/etc/hadoop/slaves

scp /home/hduser/hadoop-2.2.0/etc/hadoop/slaveshduser@cloud003:~/hadoop-2.2.0/etc/hadoop/slaves

scp /home/hduser/hadoop-2.2.0/etc/hadoop/core-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/core-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/core-site.xml hduser@cloud003:~/hadoop-2.2.0/etc/hadoop/core-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/hdfs-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/hdfs-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/mapred-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/mapred-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/yarn-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/yarn-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

4、啟動(dòng)驗(yàn)證

4.1 啟動(dòng)hadoop

進(jìn)入安裝目錄: cd  ~/hadoop-2.2.0/

格式化namenode:./bin/hdfs namenode –format

啟動(dòng)hdfs: ./sbin/start-dfs.sh

此時(shí)在001上面運(yùn)行的進(jìn)程有:namenode secondarynamenode

002和003上面運(yùn)行的進(jìn)程有:datanode

啟動(dòng)yarn: ./sbin/start-yarn.sh

此時(shí)在001上面運(yùn)行的進(jìn)程有:namenode secondarynamenoderesourcemanager

002和003上面運(yùn)行的進(jìn)程有:datanode nodemanaget

查看集群狀態(tài):./bin/hdfs dfsadmin –report

查看文件塊組成: ./bin/hdfsfsck / -files -blocks

查看HDFS:    http://16.187.94.161:50070

查看RM:   http:// 16.187.94.161:8088

4.2 運(yùn)行示例程序:

先在hdfs上創(chuàng)建一個(gè)文件夾

./bin/hdfs dfs –mkdir /input

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarrandomwriter input

PS:dataNode 無法啟動(dòng)是配置過程中最常見的問題,主要原因是多次format namenode 造成namenode 和datanode的clusterID不一致。建議查看datanode上面的log信息。解決辦法:修改每一個(gè)datanode上面的CID(位于dfs/data/current/VERSION文件夾中)使兩者一致。還有一種解決方法見下面6樓評論!

文章名稱:hadoop轉(zhuǎn)-創(chuàng)新互聯(lián)
新聞來源:http://muchs.cn/article34/dcjope.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、做網(wǎng)站自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)