天天看點

大資料

工欲善其事,必先利其器,啥都不說,hadoop下載下傳:http://archive.cloudera.com/cdh5/cdh/5/  選擇好相應版本搞起

在本文講述的是 圍繞hadoop-2.3.0-cdh5.1.2版本安裝過程。(安裝環境為自己在vmware 10裡面搭建的三台linux 虛拟機)

1、hadoop 是大apache開源的分布式離線計算架構,語言:java,既然這樣,要想搭建hadoop環境(不管僞分布式 還是多機叢集),那必須在伺服器上安裝好jdk。

      簡單過程簡單說,簡要描述下jdk安裝配置過程(據說,hadoop-2.3.0需要jdk1.7+版本支援,咱也不管了,那就裝吧,版本:jdk-7u67-linux-i586.tar.gz,安裝新jdk之前記得找到linux自帶的jdk版本并删除,不明白處自百之)

            a、解壓到/usr/java目錄下

                        tar  xvf jdk-7u67-linux-i586.tar.gz  -c /usr/java

            b、 vi /etc/profile

                        export   java_home=/usr/java/jdk1.7.0_67

                        export   classpath=/usr/java/jdk1.7.0_67/lib

                        export   path=$java_home/bin:$path

            c、source /etc/profile //不重新開機伺服器情況下,這句讓配置檔案生效

            d、java -version  //驗證jdk是否正确安裝

2、我們先規劃好三台機,并制定好 三台機之後的角色:

主機名    ip                            角色

master  192.168.140.128    namenode    resourcemanager

slave1   192.168.140.129    datenode     nodemanager

slave2    192.168.140.130    datenode     nodemanager

3、修改 主機名:

      root 權限下:vi /etc/sysconfig/network

      修改内容:hostname=master (同理 兩台slave主機也要修改此配置,并配置設定相應的名字)

      同時 vi  /etc/hosts          ( 同理 兩台slave主機也要修改此配置,并配置設定相應的hosts對應關系)   

           127.0.0.1 master

           192.168.140.129 slave1

           192.168.140.130 slave2

      修改完重新開機:reboot

4、建立hadoop使用者(包括兩台slave):

         useradd hadoop  

        passwd hadoop 

5、master上配置ssh免密碼登入

   su  hadoop  //切換到hadoop使用者目錄下

   ssh-keygen-t rsa(一路回車 生成密鑰)

   cd/home/hadoop/.ssh/

    ls  //檢視是否有生成兩個檔案 id_rsa.pub id_rsa

6、同步ssh資訊到兩台slave,  登入兩台slave

      mkdir /home/hadoop/.ssh

      scp  id_rsa.pub hadoop@slave1:/home/hadoop/.ssh/ 

      mv id_rsa.pub authorized_keys

7、建立hadoop安裝目錄  (root權限下操作)

      mkdir -p /data/hadoop

8、 解壓下載下傳下來的hadoop安裝包到安裝目錄(root權限下操作)

      tar xvf hadoop-2.3.0-cdh5.1.2.tar.gz -c/data/hadoop

9、将安裝目錄權限賦予給 hadoop使用者:(root權限下操作)

      chown -r hadoop.hadoop /data/hadoop/

10、配置hadoop安裝資訊和路徑(root權限下操作)

      vi /etc/profile (在最後加上下面内容)

           export hadoop_home=/data/hadoop

           export path=$hadoop_home/bin:$java_home/bin:$path

      source /etc/profile  //讓配置生效

11、master上/data/hadoop/etc/hadoop

      vi slaves

           slave1

           slave2

      vi masters

           master

12、修改如下幾個檔案,并在中間添加以下相應内容:

a、vi core-site.xml

<configuration>

        <property>

               <name>fs.defaultfs</name>

               <value>hdfs://master:9000</value>

        </property>

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

               <value>131072</value>

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

               <value>file:/data/hadoop/tmp</value>

</configuration>

b、vi hdfs-site.xml 

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

               <value>file:/data/hadoop/dfs/name</value>

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

               <value>file:/data/hadoop/dfs/data</value>

               <name>dfs.replication</name>   

               <value>2</value> 

c、vi yarn-site.xml

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

               <value>master:8032</value>

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

               <value>master:8030</value>

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

               <value>master:8031</value>

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

               <value>master:8033</value>

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

               <value>master:8088</value>

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

               <value>mapreduce_shuffle</value>

               <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

               <value>org.apache.hadoop.mapred.shufflehandler</value>

d、mapred-site.xml

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

               <value>yarn</value>

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

               <value>master:10020</value>

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

               <value>master:19888</value>

至此 配置檔案基本配置完畢。

13、将master上的hadoop安裝檔案同步到slave1 slave2,(hadop使用者權限下即可)

      cd /data/hadoop

      scp -r /data/hadoop/*hadoop@slave1:/data/hadoop/         //同步到slave1

      scp -r /data/hadoop/*hadoop@slave2:/data/hadoop/         //同步到slave2

14、最後我們來到 /data/hadoop/bin目錄下

      ./hadoop namenode -format   //啟動hadoop

15、如果沒有報錯資訊,基本是可以說 hadoop起來了,随便截取了最後幾段日志:

15/01/13 18:08:10 info util.gset:vm type       = 32-bit

15/01/13 18:08:10 info util.gset:0.25% max memory 966.7 mb = 2.4 mb

15/01/13 18:08:10 info util.gset:capacity      = 2^19 = 524288 entries

15/01/13 18:08:10 infonamenode.fsnamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033

15/01/13 18:08:10 infonamenode.fsnamesystem: dfs.namenode.safemode.min.datanodes = 0

15/01/13 18:08:10 infonamenode.fsnamesystem: dfs.namenode.safemode.extension     = 30000

15/01/13 18:08:10 infonamenode.fsnamesystem: retry cache on namenode is enabled

15/01/13 18:08:10 infonamenode.fsnamesystem: retry cache will use 0.03 of total heap and retry cacheentry expiry time is 600000 millis

15/01/13 18:08:10 info util.gset:computing capacity for map namenoderetrycache

15/01/13 18:08:10 info util.gset:0.029999999329447746% max memory 966.7 mb = 297.0 kb

15/01/13 18:08:10 info util.gset:capacity      = 2^16 = 65536 entries

15/01/13 18:08:10 infonamenode.aclconfigflag: acls enabled? false

re-format filesystem in storagedirectory /data/hadoop/dfs/name ? (y or n) y

15/01/13 18:08:17 infonamenode.fsimage: allocated new blockpoolid:bp-729401054-127.0.0.1-1421143697660

15/01/13 18:08:17 infocommon.storage: storage directory /data/hadoop/dfs/name has been successfullyformatted.

15/01/13 18:08:18 infonamenode.nnstorageretentionmanager: going to retain 1 images with txid >= 0

15/01/13 18:08:18 infoutil.exitutil: exiting with status 0

15/01/13 18:08:18 infonamenode.namenode: shutdown_msg:

/************************************************************

shutdown_msg: shutting downnamenode at master/127.0.0.1

************************************************************/

程式員幹久了,性格沉悶,言辭幹癟,簡單的描述隻為做個記錄,多多指教