centos6.4 32/64位機 hadoop2.2.0集羣安裝

一、準備環境 java

     安裝VMware10 ,三臺centos6.4 版本,安裝在VMware虛擬機下。node

  1)安裝中文輸入法:web

       一、須要root權限,因此要用root登陸 ,或su rootapache

        二、yum install "@Chinese Support"centos

   2)安裝ssh或者vsftp服務器

       使用chkconfig --list來查看是否裝有vsftpd服務;app

       使用yum命令直接安裝:  yum install vsftpd ssh

       查看與管理ftp服務:webapp

       啓動ftp服務:service vsftpd startide

        查看ftp服務狀態:service vsftpd status

        重啓ftp服務:service vsftpd restart

        關閉ftp服務:service vsftpd stop

    3)jdk安裝 

     參考http://my.oschina.net/kt431128/blog/269262

二、修改主機名 

      本人安裝一個虛擬機,而後經過虛擬機-》管理-》克隆 完成其餘兩臺機器的安裝,如今存在的一個問題就是主機名是同樣的,這個明顯不是本身想要的,因此須要修改其他兩臺的主機名。

  [root@slaver2 sysconfig]# vi /etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=slaver

三、配置/ect/hosts,三臺服務器的配置同樣

vi /etc/hosts

192.168.21.128   master

192.168.21.131   slaver

192.168.21.130   slaver2

四、建立用戶(使用root用戶建立後來發現Browse the filesystem 報錯,後來查文檔,建議使用新建的用戶)

useradd  hadoop 

passwd hadoop

輸入密碼,確認

五、ssh無密碼登陸

參考:http://my.oschina.net/kt431128/blog/269266

六、HADOOP的下載和環境的配置

http://mirror.esocc.com/apache/hadoop/common/hadoop-2.2.0/

[   ] hadoop-2.2.0.tar.gz         07-Oct-2013 14:46  104M 

hadoop環境變量的配置:

vi/etc/profile

在文件的最下面添加

export HADOOP_HOME=/usr/zkt/hadoop2.2.0/hadoop-2.2.0

export PAHT=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_LOG_DIR=/usr/zkt/hadoop2.2.0/hadoop-2.2.0/logs

export YARN_LOG_DIR=$HADOOP_LOG_DIR

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

注:在64位操做系統上須要加入一下紅色部分的配置信息

網上看到的另外一種解決辦法:

在使用./sbin/start-dfs.sh或./sbin/start-all.sh啓動時會報出這樣以下警告:

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.

....

Java: ssh: Could not resolve hostname Java: Name or service not known

HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known

64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known

....

這個問題的錯誤緣由會發生在64位的操做系統上,緣由是從官方下載的hadoop使用的本地庫文件(例如lib/native/libhadoop.so.1.0.0)都是基於32位編譯的,運行在64位系統上就會出現上述錯誤。

解決方法之一是在64位系統上從新編譯hadoop,另外一種方法是在hadoop-env.sh和yarn-env.sh中添加以下兩行: 

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native  

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"  

注:/usr/zkt/hadoop2.2.0/hadoop-2.2.0爲自定義的下載hadoop文件的解壓路徑

七、修改hadoop的配置文件hadoop2.2.0/etc/hadoop

    一、修改hadoop-env.sh 、yarn-env.sh 確保hadoop運行所須要的java環境

    # The java implementation to use.

    export JAVA_HOME=/usr/java/jdk1.7.0_55

    二、修改core-site.xml文件  定義文件系統的配置

<configuration>

 <property>  

    <name>fs.default.name</name>  

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

 </property>  

 <property>

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

         <value>/usr/zkt/hadoop2.2.0/tmp</value>

  </property>  

 </configuration>

  三、修改hadfs-site.xml  定義名稱節點和數據節點

  <configuration>

<property>  

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

        <value>/usr/zkt/hadoop2.2.0/hdf/data</value>  

        <final>true</final>  

   </property>  

     <property>  

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

       <value>/usr/zkt/hadoop2.2.0/hdf/name</value>  

       <final>true</final>  

   </property>  

   <property>  

        <name>dfs.replication</name>  

        <value>2</value>  

   </property>

 <property>  

            <name>dfs.permissions</name>  

            <value>false</value>  

    </property> 

</configuration>

四、修改mapred-site.xml   Configurations for MapReduce Applications

   <property>  

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

        <value>yarn</value>  

    </property>  

    <property>  

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

        <value>master:10020</value>  

    </property>  

  <property>  

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

        <value>master:19888</value>  

    </property>  

  五、修改yarn-site.xml文件    

     該文件主要用於:

     一、Configurations for ResourceManager and NodeManager:

     二、Configurations for ResourceManager:

     三、Configurations for NodeManager:

    四、Configurations for History Server (Needs to be moved elsewhere):

    <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>master:8032</value>  

    </property>  

    <property>  

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

        <value>master:8030</value>  

    </property>  

    <property>  

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

        <value>master:8031</value>  

    </property>  

    <property>  

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

        <value>master:8033</value>  

    </property>  

      <property>  

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

        <value>master:8088</value>  

    </property> 

 

八、建立第7步配置文件中多出的文件夾

   data  tmp  name  log    mkdir -r  /usr/zkt/hadoop2.2.0/hdf/data 等

九、爲這些文件夾賦權限 比較關鍵 否則文件生成的時候無文件建立、寫權限

   su - root

  chown -R hadoop:hadoop /usr/zkt/hadoop2.2.0 (不明白的能夠查看chown命令)

    或者切換到hadoop用戶下 經過chmod -R 777 data 賦權限

十、將配置好的hadoop分別拷貝到 slaver 和slaver2主機上

    scp -r  /usr/zkt/hadoop2.2.0/hadoop-2.2.0    hadoop@slaver:/usr/zkt/hadoop2.2.0/

     scp -r  /usr/zkt/hadoop2.2.0/hadoop-2.2.0    hadoop@slaver2:/usr/zkt/hadoop2.2.0/

十一、hadoop namenode的初始化

      若是 hadoop環境變量配置沒問題直接使用

      hdfs namenode -format 

       hadoop command not found 解決辦法:

        echo $PATH 

        發現hadoop的環境變量是:/home/hadoop/bin 而不是咱們配置的環境變量,咱們須要把hadoop-2.2.0包下的bin、sbin文件夾拷貝到/home/hadoop/下,再次echo $PATH,發現能夠了。

十二、關閉防火牆  三臺服務器的防火牆都須要關閉

查看iptables狀態:

service iptables status

iptables開機自動啓動: 

開啓: chkconfig iptables on
關閉: chkconfig iptables off

iptables關閉服務:

開啓: service iptables start
關閉: service iptables stop

1三、啓動hadoop

   start-all.sh

    關閉hadoop

     stop-all.sh

1四、查看啓動的節點進程

         jps

1五、查看啓動後的服務信息

master中應該有ResourceManager服務,slave中應該有nodemanager服務

查看集羣狀態:./bin/hdfs dfsadmin –report

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

查看各節點狀態:    http://master:50070

相關文章
相關標籤/搜索