hadoop~大數(shù)據(jù)

    hadoop是一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System)HDFS。Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。 Hadoop 以一種可靠、高效、可伸縮的方式進(jìn)行數(shù)據(jù)處理。Hadoop 是可靠的,因?yàn)樗僭O(shè)計(jì)算元素和存儲(chǔ)會(huì)失敗,因此它維護(hù)多個(gè)工作數(shù)據(jù)副本,確保能夠針對(duì)失敗的節(jié)點(diǎn)重新分布處理。Hadoop帶有用Java語(yǔ)言編寫(xiě)的框架。

10年積累的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有蒙山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

   Hadoop的master節(jié)點(diǎn)包括名稱(chēng)節(jié)點(diǎn)、從屬名稱(chēng)節(jié)點(diǎn)和 jobtracker 守護(hù)進(jìn)程以及管理集群所用的實(shí)用程序和瀏覽器。slave節(jié)點(diǎn)包括 tasktracker 和數(shù)據(jù)節(jié)點(diǎn).主節(jié)點(diǎn)包括提供 Hadoop 集群管理和協(xié)調(diào)的守護(hù)進(jìn)程,而從節(jié)點(diǎn)包括實(shí)現(xiàn)Hadoop 文件系統(tǒng)(HDFS)存儲(chǔ)功能和 MapReduce 功能(數(shù)據(jù)處理功能)的守護(hù)進(jìn)程。

   Namenode 是 Hadoop 中的主服務(wù)器,通常在 HDFS 實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件,它管理文件系統(tǒng)名稱(chēng)空間和對(duì)集群中存儲(chǔ)的文件的訪(fǎng)問(wèn)。每個(gè) Hadoop 集群中可以找到一個(gè) namenode和一個(gè)secondary namenode。。當(dāng)外部客戶(hù)機(jī)發(fā)送請(qǐng)求要求創(chuàng)建文件時(shí),NameNode 會(huì)以塊標(biāo)識(shí)和該塊的第一個(gè)副本的 DataNode IP 地址作為響應(yīng)。這個(gè) NameNode 還會(huì)通知其他將要接收該塊的副本的 DataNode。

         Datanode,hadoop 集群包含一個(gè) NameNode 和大量 DataNode。DataNode 通常以機(jī)架的形式組織,機(jī)架通過(guò)一個(gè)交 換機(jī)將所有系統(tǒng)連接起來(lái)。DataNode 響應(yīng)來(lái)自 HDFS 客戶(hù)機(jī)的讀寫(xiě)請(qǐng)求。它們還響應(yīng)來(lái)自 NameNode 的創(chuàng)建、刪除和復(fù)制塊的命令。

  JobTracker是一個(gè)master服務(wù),軟件啟動(dòng)之后JobTracker接收J(rèn)ob,負(fù)責(zé)調(diào)度Job的每一個(gè)子任務(wù)task運(yùn)行于TaskTracker上,并監(jiān)控它們,如果發(fā)現(xiàn)有失敗的task就重新運(yùn)行它。

  TaskTracker是運(yùn)行在多個(gè)節(jié)點(diǎn)上的slaver服務(wù)。TaskTracker主動(dòng)與JobTracker通信,接收作業(yè),并負(fù)責(zé)直接執(zhí)行每一個(gè)任務(wù)。TaskTracker都需要運(yùn)行在HDFS的DataNode上.

  NameNode、Secondary ,NameNode、JobTracker運(yùn)行在Master節(jié)點(diǎn)上,而在每個(gè)Slave節(jié)點(diǎn)上,部署一個(gè)DataNode和TaskTracker,以便 這個(gè)Slave服務(wù)器運(yùn)行的數(shù)據(jù)處理程序能盡可能直接處理本機(jī)的數(shù)據(jù)。


  

server2.example.com 172.25.45.2   (master)

server3.example.com 172.25.45.3   (slave)

server4.example.com 172.25.45.4   (slave)

server5.example.com 172.25.45.5   (slave)

  1. hadoop傳統(tǒng)版的配置:

    server2,server3,server4和server5添加hadoop用戶(hù):

   useradd -u 900 hadoop

   echo westos | passwd --stdin hadoop

  server2:

  

  sh jdk-6u32-linux-x64.bin         ##安裝JDK

  mv jdk1.6.0_32/  /home/hadoop/java

  mv hadoop-1.2.1.tar.gz /home/hadoop/

  

  su - hadoop

  vim .bash_profile 

export JAVA_HOME=/home/hadoop/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

  source .bash_profile

  

  tar zxf hadoop-1.1.2.tar.gz        ##配置hadoop單節(jié)點(diǎn)

  ln -s hadoop-1.1.2 hadoop

  cd /home/hadoop/hadoop/conf           

  vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/java

  cd ..

  mkdir input

  cp conf/*.xml  input/

  bin/hadoop jar hadoop-examples-1.1.2.jar

  bin/hadoop jar hadoop-examples-1.1.2.jar grep input output 'dfs[a-z.]+'               

  cd output/

  cat *

1   dfsadmin

     

  設(shè)置master到slave端無(wú)密碼登陸:

  

   server2:

  su - hadoop

  ssh-keygen

  ssh-copy-id localhost

  ssh-copy-id  172.25.45.3

  ssh-copy-id  172.25.45.4

  cd /home/hadoop/hadoop/conf

  vim core-site.xml        ##指定 namenode

<property>
<name>fs.default.name</name>
<value>hdfs://172.25.45.2:9000</value>
</property>

    vim mapred-site.xml     ##指定 jobtracker

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>172.25.45.2:9001</value>
</property>
<configuration>

    vim hdfs-site.xml        ##指定文件保存的副本數(shù)

 

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

   cd ..

   bin/hadoop namenode -format         ##格式化成一個(gè)新的文件系統(tǒng)

   ls /tmp                      

hadoop-hadoop  hsperfdata_hadoop  hsperfdata_root  yum.log

   

   bin/start-dfs.sh              ##啟動(dòng)hadoop進(jìn)程

  jps

hadoop~大數(shù)據(jù)

   bin/start-mapred.sh

   jps

hadoop~大數(shù)據(jù)

    

    在瀏覽器中打開(kāi):172.25.45.2:50030

hadoop~大數(shù)據(jù)

    打開(kāi)172.25.45.2:50070

hadoop~大數(shù)據(jù)

    bin/hadoop fs -put input test     ##給分布式文件系統(tǒng)考入新建的文件

hadoop~大數(shù)據(jù)

   bin/hadoop jar hadoop-examples-1.2.1.jar wordcount output

    同時(shí)在網(wǎng)頁(yè)中

hadoop~大數(shù)據(jù)

   查看網(wǎng)頁(yè)中上傳的文件:

   bin/hadoop fs -get output test

   cat test/*

   rm -fr test/          ##刪除下載的文件

2. server2:  

   共享文件系統(tǒng): 

    su - root

    yum install nfs-utils -y

    /etc/init.d/rpcbind start 

    /etc/init.d/nfs start

    

    vim /etc/exports

/home/hadoop   *(rw,anonuid=900,anongid=900)

    

     exportfs -rv

     exportfs -v  

     

    server3和server4:

    yum install nfs-utils -y

    /etc/init.d/rpcbind start

    showmount -e 172.25.45.2    ##

Export list for 172.25.45.2:

/home/hadoop *

    mount 172.25.45.2:/home/hadoop /home/hadoop/

    df

hadoop~大數(shù)據(jù)

         

 hadoop~大數(shù)據(jù)    

    server2:

    su - hadoop

    cd hadoop/conf

    vim hdfs-site.xml

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

   vim slaves       ##slave端的ip

172.25.45.3
172.25.45.4

   vim masters       ##master端的ip

172.25.45.2

    提示:##如果還有之前的進(jìn)程開(kāi)著,必須先關(guān)閉,才能再進(jìn)行格式化,保證jps沒(méi)有什么進(jìn)程運(yùn)行

    關(guān)閉進(jìn)程的步驟

   bin/stop-all.sh   ##執(zhí)行完之后,有時(shí)tasktracker,datanode會(huì)開(kāi)著,所以要關(guān)閉它們

   bin/hadoop-daemon.sh stop tasktracker

   bin/hadoop-daemon.sh stop datanode

   以hadoop用戶(hù)的身份刪除/tmp里的文件,沒(méi)有權(quán)限的文件就留著

  

  su - hadoop

  bin/hadoop namenode -format

  bin/start-dfs.sh

  bin/start-mapred.s

  bin/hadoop fs -put input test              ##

  bin/hadoop jar hadoop-examples-1.2.1.jar grep test output 'dfs[a-z.]+'          ##

  一邊上傳一邊在瀏覽器中打開(kāi)172.25.45.2:50030中觀察會(huì)發(fā)現(xiàn)有正在上傳的文件

 

  su - hadoop

  bin/hadoop dfsadmin -report 

 dd if=/dev/zero of=bigfile bs=1M count=200

 bin/hadoop fs -put bigfile test

 在瀏覽器中打開(kāi)172.25.45.2:50070

hadoop~大數(shù)據(jù)

3.新加server5.example.com 172.25.45.5 作為新的slave端:

 

    su - hadoop

   yum install nfs-utils -y

   /etc/init.d/rpcbind start

   useradd -u 900 hadoop

   echo westos | passwd --stdin hadoop

   mount 172.25.45.2:/home/hadoop/ /home/hadoop/

   su - hadoop

   vim  hadoop/conf/slaves

172.25.45.3
172.25.45.4
172.25.45.5

   cd /home/hadoop/hadoop

   bin/hadoop-daemon.sh start datanode

   bin/hadoop-daemon.sh start tasktracker

   jps

 

 刪除一個(gè)slave端:

   server2:

   

   su - hadoop

   cd  /home/hadoop/hadoop/conf

   vim mapred-site.xml 

<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/hadoop/conf/datanode-excludes</value>
</property>

  

    vim /home/hadoop/hadoop/conf/datanode-excludes

172.25.45.3               ##刪除172.25.45.3不作為slave端

                                                                  

    cd /home/hadoop/hadoop

    bin/hadoop dfsadmin -refreshNodes   ##刷新節(jié)點(diǎn)    

    bin/hadoop dfsadmin -report    ##查看節(jié)點(diǎn)狀態(tài),會(huì)發(fā)現(xiàn)server3上的數(shù)據(jù)轉(zhuǎn)移到serve5上

   在server3上:  

   su - hadoop

   bin/stop-all.sh

   cd  /home/hadoop/hadoop

   bin/hadoop-daemon.sh stop tasktracker

   bin/hadoop-daemon.sh stop datanode

  

   server2:

   vim  /home/hadoop/hadoop/conf/slaves

172.25.45.4

172.25.45.5 

4. 配置新版的hadoop:

   server2:

   su - hadoop

   cd /home/hadoop

   tar zxf jdk-7u79-linux-x64.tar.gz

   ln -s jdk1.7.0_79/   java

   tar zxf hadoop-2.6.4.tar.gz

   ln -s hadoop-2.6.4   hadoop

   cd /home/hadoop/hadoop/etc/hadoop

   vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/java
export HADOOP PREFIX=/home/hadoop/hadoop

  

   cd /home/hadoop/hadoop

   mkdir inp

   cp etc/hadoop/*.xml input

   tar -tf hadoop-native-64-2.6.0.tar

   tar -xf hadoop-native-64-2.6.0.tar -C  hadoop/lib/native/

   cd /home/hadoop/hadoop

   rm -fr output/

   bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'

  cd /hone/hadoop/hadoop/etc/hadoop/

  vim slaves

172.25.45.3
172.25.45.4

   vim core-site.xm

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://172.25.45.2:9000</value>
</property>
</configuration>

  

  vim mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>172.25.45.2:9001</value>
</property>
<configuration>

   vim hdfs-site.xml

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

     cd /home/hadoop/hadoop

     bin/hdfs  namenode -format

     sbin/start-dfs.sh  

     jps

     

     bin/hdfs dfs -mkdir /user/hadoop  ##要上傳的文件,必須在上傳之前新建出其目錄

     bin/hdfs  dfs -put input/ test

     rm -fr input/

     bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep test output 'dfs[a-z.]+'

     bin/hdfs dfs -cat output/*

1dfsadmin

   在瀏覽器中打開(kāi)172.25.45.2:50070

hadoop~大數(shù)據(jù)

分享名稱(chēng):hadoop~大數(shù)據(jù)
文章來(lái)源:http://muchs.cn/article4/pgoiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、響應(yīng)式網(wǎng)站微信小程序、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、建站公司

廣告

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

綿陽(yáng)服務(wù)器托管