ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用

本教程是在三臺電腦上部署的hadoop正式環(huán)境,沒有建立用戶組,而是在當前用戶下直接進行集群的部署的,總結(jié)如下:

我們提供的服務(wù)有:成都網(wǎng)站制作、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、臨桂ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的臨桂網(wǎng)站制作公司

1、三個節(jié)點的主機電腦名為:192.168.11.33 Master,192.168.11.24 Slaver2,192.168.11.4 

   Slaver1,并且這三臺主機用戶名都要設(shè)置一樣,我的都是hadoop的用戶。

   因為本教程使用的是vim編輯器,如果沒有vim可以下載一個:sudo apt-get install vim

2、修改hosts文件:切換到root用戶下:sudo -s,然后輸入密碼,vim /etc/hosts,通過vim把三個電腦的主機名和ip地址都加進去,ip在前,主機名在后:

   192.168.12.32 Master

   192.168.12.24 Slaver2

   192.168.12.4 Slaver1

3、修改主機的名稱,也是在root用戶下,vim /etc/hostname,把三個主機的名字分別于上面的Master,Slaver1,Slaver2,對應(yīng),一個機器對應(yīng)一個主機名,不能把三個都放進去

4、在Ubuntu中查看ip地址的命令為:ifconfig

5、安裝ssh,在安裝ssh之前,首先要更新下載Ubuntu軟件的源:sudo apt-get update

   安裝ssh: sudo apt-get install ssh

   查看sshd服務(wù)是否啟動:ps -e | grep ssh ,如果出現(xiàn) 1019 ?00:00:00 sshd這樣的信息,表    示ssh已經(jīng)啟動。如果沒有啟動,則輸入:/etc/init.d/ssh start或者sudo start ssh,進行啟動

6、設(shè)置ssh的無秘鑰登錄,這個不需要再root用戶下進行,不然不是在當前用戶下,則不能進行無秘鑰登錄的設(shè)置

   6.1、ssh-keygen -t rsa ,然后一直按回車鍵

   6.2、上述操作完畢后,會在當且用戶下有一個隱藏文件夾.ssh,可以通過:ls -al進行查看

        里面的文件有:id_rsa,id_rsa.pub

   6.3、進入.ssh目錄下:cd .ssh,然后執(zhí)行:cat id_rsa.pub >> authorized_keys(此文件剛開始  時不存在.ssh目錄中的),執(zhí)行完以后,會自動生成一個authorized_keys文件

   6.4、然互在.ssh下直接登錄:ssh localhost,不出意外的話,將成功登錄并且不需要輸入密碼,登錄完成后,在.ssh下會生成一個known_hosts的文件

7、上面的三個主機都要執(zhí)行6的操作

8、設(shè)置節(jié)點之間的無秘鑰登錄,配置Master對Slaver1和Slaver2的無秘鑰登錄,把Master的id_rsa.pub復制到Slaver1和Slaver2節(jié)點上,在Slaver1和Slaver2節(jié)點上的.ssh目錄下分別執(zhí)行如下命令:

  scp hadoop@Master:~/.ssh/id_rsa.pub ./master_rsa.pub

  cat master_rsa.pub >> authorized_keys

9、完成以上操作時,在Slaver1和Slaver2上分別執(zhí)行這樣的操作,即實現(xiàn)三個機器彼此之間都要實現(xiàn)無秘鑰登錄,因為在hadoop中,主節(jié)點和從節(jié)點之間要進行通訊,namenode需要管理datanode,并且datanode也要想namenode發(fā)送狀態(tài)信息,來告訴namenode自己的狀態(tài),同時datanode之間也要進行通訊,在數(shù)據(jù)的復制中和存儲中,hadoop的把數(shù)據(jù)分成三個副本進行存儲,在復制中,是從前一個datanode獲取數(shù)據(jù),放到當前的datanode中,所以要實現(xiàn)三個節(jié)點之間的相互通訊。

10、完成上面的可以進行無秘鑰登錄:ssh Slaver1、ssh Slaver2,ssh Master,退出當前用戶可以直接用exit

11、如果在步驟6的6.4需要密碼,則說明無秘鑰登錄設(shè)置失敗,辦法就是卸載ssh,在重新安裝,從6在重新開始,卸載前要先關(guān)閉sshd服務(wù):sudo stop ssh,然后執(zhí)行:

 sudo apt-get autoremove openssh-server

 sudo apt-get autoremove openssh-client,

同時要刪除.ssh文件目錄:sudo rm -rf .ssh,最好重啟一下,然后從步驟5重新開始。

12、安裝java jdk,在當前用戶下建立一個目錄:sudo mkdir Java,這樣不是在root用戶下進行的,而是在本用戶下進行安裝的。

  12.1 解壓: tar zxvf  jkd名稱   -C(大寫)  /Java

  12.2 把Java目錄中的文件名改為:jdk8:sudo mv jdk名稱  jdk8

  12.3 配置文件java路徑:vim ~/.bashrc  在文件的最后加入下面的內(nèi)容

      export JAVA_HOME = /home/hadoop/Java/jdk8

      export JRE_HOME =${JAVA_HOME}/jre

      export CLASSPATH=.:{JAVA_HOME}/lib:${JRE_HOME}/lib

      export PATH=${JAVA_HOME}/bin:$PATH

 12.4 退出后,執(zhí)行:source ~/.bashrc使其立即生效

 12.5 檢查jdk是否安裝成功:java -version,如果出現(xiàn)java的版本等信息,則說明安裝成功

13、安裝hadoop,在主機Master進行hadoop的安裝和配置,然后把此hadoop復制到Slaver1和Slaver2上,這樣的一種安裝雖然說不是最優(yōu)的,但是對于初學者來說,是最方便的,當逐漸深入hadoop的學習時,可以在根據(jù)不同的機器以及性能,對hadoop進行調(diào)優(yōu)。

   13.1 把hadoop解壓到用戶的當前目錄中:tar -zxvf  /Downloads/hadoop壓縮文件,壓縮文件后面沒有跟任何的路徑,就會在用戶下當前目錄建立一個解壓的hadoop目錄。

   13.2 修改hadoop的文件名:mv  hadoop名稱  hadoop

   13.3 配置profile文件:vim /etc/profile:

       export HADOOP_INSTALL =/home/hadoop/hadoop

       export PATH = $PATH:${HADOOP_INSTALL}/bin

   13.4 進入hadoop目錄中:cd hadoop,然后輸入:source /etc/profile 從而使剛才配置的文件生效

14、Hadoop配置文件的配置,由于hadoop1.x和hadoop2.x使用了不同的資源管理,在hadoop2.x增加了yarn來管理hadoop的資源,同時hadoop的文件目錄hadoop1.x和hadoop2.x還是有比較大的差別的,本教程采用的是hadoop2.7.0,在這里本人多說一句,有很多人建議對于初學者而言,最好使用hadoop0.2.0這樣的版本來進行學習;本人建議沒有必要這樣,因為hadoop是在不斷發(fā)展,說白了我們學習hadoop的目的是為了以后在工作中可以使用,現(xiàn)在公司一般都把自己的hadoop集群升級到hadoop2.x的穩(wěn)定版本了,而且hadoop0.2.0與現(xiàn)在的hadoop版本有了很大的區(qū)別;對于理解hadoop的學習時有一定的幫助,但是沒有必要非要從頭開始學習,可以直接學習hadoop2.x,也可以不費太大的力氣就可以學會的,并且hadoop2.x的書籍中,對之前的版本是會有介紹的,而且資料也比較的多。

   14.1 進入到hadoop的配置文件(這個是hadoop2.7.0版本的文件組織):

        cd /hadoop/etc/hadoop

        使用:ls,可以看到很多的配置信息,首先我們配置core-site.xml

  14.2 配置hadoop的core-site.xml: vim core-site.xml,

      在尾部添加:

    <configuration>

       <property>

 <name>fs.defaultFS</name>

            <value>hdfs://192.168.12.32:9000</value> //這個一定要用主機的ip,在eclipse            的配置中需要用到。這個在eclipse鏈接hadoop將會談到,暫且這樣來進行配置

       </property>

       <property>

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

            <value>/home/hadoop/hadoop/temp</value>

       </property>

</configuration>

在按照上面的配置時,上面的注釋一定要去掉啊

14.3 配置hadoop的hdfs-site.xml:vim hdfs-site.xml

<configuration>

   <property>

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

       <value>192.168.12.32:50090</value>

       <final>true</final>

   </property>

   <property>

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

       <value>/home/hadoop/hadoop/temp/dfs/name</value>

       //其中home為根目錄,第一個hadoop是我建立的hadoop用戶,第二個hadoop是安裝hadoop時,建立的hadoop文件名,這個是設(shè)置臨時文件的地方,當在初始化文件系統(tǒng)后,我們會在我們安裝的hadoop路徑下看見有一個temp的目錄,這個路徑的設(shè)置,大家可以根據(jù)各自的喜好進行設(shè)置,但是設(shè)置好后,自己以后能找到啊~~

       <final>true</final>

   </property>

   <property>

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

        <value>/home/hadoop/hadoop/temp/dfs/data</value>

        <final>true</final>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>2</value> //由于本人是三臺機器,可以設(shè)置2個副本,當兩個計算機2時,要設(shè)置為1

     </property>

</configuration>

當大家在配置時,一定要把//后面的注釋去掉啊~~

14.4 配置mapred-site.xml,這個文件開始時不存在的,首先需要從模板中復制一份:

     cp mapred-site.xml.template mapred-site.xml

     如果存在這個文件,就不用使用這個操作啦 

然后進行mapred-site.xml的配置:vim mapred-site.xml

<configuration>

   <property>

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

       <value>yarn</value>

   </property>

</configuration>

14.5 配置yarn-site.xml :vim yarn-site.xml

    <configuration>

        <property>

           <name>yarn.resourcemanager.hostname</name>

           <value>Master</value> //這個是主機名

         </property>

         <property>

            <name>yarn.nodemanager.aux-services</name>

            <value>mapreduce_shuffle</value>

          </property>

 14.6 配置slaves文件:vim slaves

      Slaver1

      Slaver2

15、配置hadoop-env.sh文件,在此文件中有一個導入java的目錄,但是用#給注釋掉啦,去掉后#,然后,把剛才安裝的jdk8目錄放在后面:export JAVA_HOME=/home/hadoop/Java/jdk8

16、復制hadoop到Slaver1和Slaver2上:

scp -r ./hadoop Slaver1:~

scp -r ./hadoop Slaver2:~

17、由于我們步驟13的配置,把hadoop的bin加入到shell命令中,因此在當前目錄下就可以使用hadoop命令了啊:

   17.1 格式化文件系統(tǒng):hadoop namenode -formate

        會顯示多行的配置,在倒數(shù)5行左右,如果看到sucessfull等字,說明格式化成功

   17.2啟動hdfs:start-dfs.sh

   17.3 啟動yarn:start-yarn.sh

   17.4 查看是否啟動成功:jps,如果在Master上出現(xiàn)四行提示信息:

        5399 Jps

        5121 ResourceManager

        3975 SecondaryNameNode

        4752 NameNode

則表示啟動成功,顯示的順序和左邊的數(shù)字可以不一樣,

在Slaver上如果出現(xiàn)三行提示信息:

   4645 Jps

   4418 DataNode

   4531 NodeManager

則表示成功;如果在Slaver上,datanode無法啟動,可能是因為以前配過偽分布式的hadoop集群,可以試著把剛才配置的temp文件夾給刪除掉,重新進行格式化:hadoop namenode -format,在進行啟動,應(yīng)該可以使用啦

   17.5 這個時候,我們就可以用hadoop的shell命令來進行操作了?。?/p>

        hadoop dfs -ls 

       這個可能會出現(xiàn)錯誤提示’ls’ ‘.’:no file or directiory

       這個時候我們可以試試:hadoop dfs -ls /,就不會出現(xiàn)錯誤了啊

      建立目錄:

        hadoop dfs -mkdir /user

        hadoop dfs -mkdir /user/hadoop

        Hadoop dfs -mkdir /user/hadoop

      Hadoop dfs -mkdir /user/hadoop/input

      Hadoop dfs -mkdir /user/hadoop/output

     完事以后,就會出現(xiàn)三級目錄了,然后建立一個文本,來運行一下wordcount程序:

     Vim a.txt,在里面隨便寫一下東西:

     Hadoop

     Hadoop

     Aaa

     Aaa

     Spark

     Spark

然后把這個傳到hdfs上:hadoop dfs -copyFromLocal a.txt /user/hadoop/input/a.txt

運行wordcount程序:

 hadoop jar hadoop/share/hadoop/mapreduce/hadop-mapreduce-examples-2.7.0.jar wordcount /user/hadoop/input/a.txt /user/hadoop/output/wordcount/

查看運行的結(jié)果:hadoop dfs -cat /user/hadoop/output/wordcount/part-r-00000,就可以看到單詞的統(tǒng)計。

18、靜態(tài)ip的設(shè)置:網(wǎng)上有很多的關(guān)于靜態(tài)ip的設(shè)置,本人找了一個,按照上面的教程方法,結(jié)果把Master主機上的右上角的上網(wǎng)圖標給弄沒有了啊,并且有些還上不了網(wǎng)啊,花費了一個下午的時間,終于弄明白了啊。設(shè)置永久性的靜態(tài)ip,需要三個步驟,配置三個文件即可。

18.1 設(shè)置靜態(tài)ip:sudo vim /etc/network/interfaces,會有如下信息:

     auto lo

         iface lo inet loopback

        注釋掉:#ifacelo inet loopback

        添加:

        auto eth0

        iface eth0 inet static

        address 192.168.12.32  ip地址

        netmask 255.255.255.0 子網(wǎng)掩碼

        gateway 192.168.12.1   網(wǎng)關(guān)

        network 192.168.0.0

        broadcast 192.168.11.255  廣播

       然后保存退出

   18.2 配置DNS服務(wù)器,這個網(wǎng)上有很多,關(guān)于這個的配置,但是當我們重啟Ubuntu后,又恢復默認的配置,導致無法正常上網(wǎng),因此我們需要設(shè)置永久的DNS服務(wù)器:

   sudo vim /etc/resolvconf/resolv.conf/base

在里面添加:nameserver  202.96.128.86  DNS服務(wù)器(這個是我的DNS地址),如果不知道自己的DNS服務(wù),可以從windows中的網(wǎng)絡(luò)中查看,網(wǎng)上有很多放法,這里就不多說了啊

然后保存退出

  18.3 配置Networkmanager.conf文件

      sudo vim /etc/NetworkManager/NetworkManager.conf

      里面的managed=false,如果是false,則需要把它改為true,否則不加修改,保存退出

  18.4 一定要是重新啟動機器,如果啟動機器時,無法上網(wǎng),則需要看18.3,的文件是否是false,需要改過來,再重啟機器就可以上網(wǎng)了啊。

19、上面是關(guān)于正式環(huán)境的集群,已經(jīng)搭建成功;然后我們一般不會再Master上進行開發(fā)的,我們需要在windows環(huán)境下的eclipse進行開發(fā),并在eclipse進行測試,因此,我們下面需要做得就是在windows7+eclipse下構(gòu)建hadoop的開發(fā)環(huán)境;

19.1、下載eclipse的hadoop組件,由于hadoop2.x以后,Apache就不在提供eclipse的hadoop組件,只提供源碼,我們需要自己構(gòu)建。我是從網(wǎng)上下載一個eclipse的hadoop組件。

如果采用的hadoop是2.7.0版本的,使用hadoop2.6.0的hadoop組件是可以使用的,我的hadoop版本是2.7.0,而eclipse的hadoop組件是hadoop2.6.0,

下載組件地址:

19.2、選擇eclipse的版本,我采用的是spring-tool,它是集成了eclipse的,采用這個的原因是實習的時候用的就是這個版本,而且從網(wǎng)上看到好多直接用eclipse的人,需要版本的選擇,以及出現(xiàn)的錯誤比較多。

下載地址:http://spring.io/tools,點擊下圖的地方進行下載,下載后直接解壓到一個磁盤上就可以使用啦。

 

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用

 

進入到sts-3.7.1RELEASE里面,有一個STL.exe就可以打開了。

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用 

19.3、把剛才下載的eclipse的hadoop組件2.6.0放到上圖中plugins里面,就可以重啟STL,然后點擊Window->Preferences,就會看到

  ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用

則表示組件安裝成功,然后點擊Window->Perspective->Open Perspectiver->other,就會在左上角看到:

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用 

在正下方會看到:

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用 

右鍵點擊上圖的Location,會出現(xiàn)這個三個選項,點擊New Hadoop Location,就會彈出如下信息:

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用 

上面的Location name:可以自己隨便填寫一個名字我起的是:myhadoop

Host:192.168.12.32,這個是我們安裝集群的Master的ip地址,而不是直接填寫Master,是因為當填寫Master時,當鏈接hdfs時,會出現(xiàn)listing folder content錯誤,而且,我們在配置core-site.xml,文件的時,也是建議大家用ip地址,而不是Master,用意就是在這個地方。

Port:9001,這個是和我們設(shè)置的core-site.xml的配置一樣的,

DFS Master中,Prot:9000,

然后保存退出;

19.4、然后點擊這個的DFS Locations

會出現(xiàn)

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用這個名字,和剛才我們設(shè)置的一樣啊,

然后再點擊myhadoop,會出現(xiàn):

ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用 

這個是我建立的hadoop目錄。到這里整個hadoop的安裝,以及hadoop在windows下的遠程開發(fā)都已經(jīng)基本介紹完畢。但是真正實現(xiàn)hadoop的開發(fā),還需要在eclipse中進行maven的安裝學習。這個以后再慢慢寫吧

網(wǎng)站欄目:ubuntu14.04環(huán)境下hadoop2.7.0配置+在windows下遠程eclipse和hdfs的調(diào)用
URL分享:http://bm7419.com/article20/ijpico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)App開發(fā)、網(wǎng)站維護、ChatGPT、全網(wǎng)營銷推廣、電子商務(wù)

廣告

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

成都做網(wǎng)站