hadoop 2.5.1集羣安裝

特別提示 文章中提到的端口號 安實際機器能提供的端口號配置 注意日誌提示 查找問題


軟件的安裝目錄是 /usr/local/


安裝機器假設

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

192.168.0.2     hduser/passwd        cloud002        dn/nm             CentOS6 64bit

192.168.0.3     hduser/passwd        cloud003        dn/nm              CentOS6 64bit

上面各列分別爲IP、user/passwd、hostname、在cluster中充當的角色(namenode, secondary namenode, datanode , resourcemanager, nodemanager)


修改/etc/hosts 文件,增加三臺機器的ip和hostname的映射關係

                192.168.0.1     cloud001

                192.168.0.2     cloud002

                192.168.0.3     cloud003



環境準備

一 jdk 安裝 hadoop 2以上 都要採用jdk1.7

下載地址

http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html 

下載對應系統版本的jdk版本

安裝參考

假設下載版本是 jdk-7-linux-x64.tar.gz

tar -zxvf  jdk-7-linux-x64.tar.gz 解壓到安裝目錄  


配置環境變量

vi  vi /etc/profile

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

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

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOMECLASSPATH PATH

保存文件

執行source /etc/profile 使配置生效

執行 Java 可以看到 下圖顯示信息 即配置成功



二 設置機器之間的無祕鑰登陸

1.首先在三臺機器上增加用戶hduser

adduser haduser

這裏我們爲每臺機器新建了一個賬戶hduser.這裏需要給每個賬戶分配sudo的權限。(切換到root賬戶,修改/etc/sudoers文件,

增加:hduser  ALL=(ALL) ALL 

2 查看ssh 是否安裝 

CentOS 爲例子 rqm -qa |grep ssh 輸入命令 顯示入下圖的軟件列表說明已經正確安裝 如果沒有 執行 yum -y install ssh (其他版本的可以查詢)


安裝完成 將用切換到hduser 


安裝完成後會在~目錄(當前用戶主目錄,即這裏的/home/hduser)下產生一個隱藏文件夾.ssh(ls  -a 可以查看隱藏文件)。如果沒有這個文          件,自己新建即可(mkdir .ssh)。

具體步驟如下:

1、 進入.ssh文件夾

2、 ssh-keygen -t  rsa 之後一路回 車(產生祕鑰)

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

4、 重啓 SSH 服 務命令使其生效 :service sshd restart(這裏RedHat下爲sshdUbuntu下爲ssh)

此時已經可以進行ssh localhost的無密碼登陸

     【注意】:以上操作在每臺機器上面都要進行。

3.3設置遠程無密碼登陸

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

進入001的.ssh目錄

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

進入002的.ssh目錄

cat authorized_keys_from_cloud001>> authorized_keys

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


以上操作hadoop需要的環境就OK了


安裝開始

http://125.39.68.199/files/11820000051A4411/mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.5.1/hadoop-2.5.1.tar.gz

1 下載地址並解壓



2 配置之前,需要在cloud001本地文件系統創建以下文件夾:

~/dfs/name

~/dfs/data

~/temp


這裏要涉及到的配置文件有7個:

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

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

~/hadoop-2.5.1/etc/hadoop/slaves

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

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

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

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



3.修改配置文件

個別文件默認不存在的,可以複製相應的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 (這個文件裏面保存所有slave節點)

寫入以下內容:

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>



接下來將配置好的hadoop 複製到其他兩臺機器上

scp  hadoop 目錄  hdroot@機器 目標機器hadoop目錄 


4、啓動驗證

4.1 啓動hadoop

進入安裝目錄: cd  ~/hadoop-2.2.0/

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

啓動hdfs: ./sbin/start-dfs.sh

此時在001上面運行的進程有:namenode secondarynamenode

002和003上面運行的進程有:datanode

啓動yarn: ./sbin/start-yarn.sh

此時在001上面運行的進程有:namenode secondarynamenoderesourcemanager

002和003上面運行的進程有:datanode nodemanaget

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

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

查看HDFS:    http://192.168.0.1:50070


查看RM:    http:// 192.168.0.1:8088


安裝完成可以跑一下經典例子wordcount 具體參考

http://www.cnblogs.com/xia520pi/archive/2012/05/16/2504205.html





















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章