Linux下配置hadoop2.2.0集群

来源:互联网 发布:linux nc 编辑:程序博客网 时间:2024/05/30 23:51

本文所涉及的Linux系统均为Ubuntu!

首先,准备必备的一些软件安装包。

1.下载jdk1.6,下载链接为http://pan.baidu.com/s/1sk4U1Yl  

2.下载hadoop2.2.0.tar.gz,下载链接为http://pan.baidu.com/s/1mh4yXpI

3.下载Ubuntu,下载链接:http://pan.baidu.com/s/1numLYHj


按照我的步骤逐一安装即可。

步骤1:你想有几台集群,就去安装几个Ubuntu(下载地址已经给了)。当然我这里就安装两台,只要两台会安装了,那多台也就会了。即一台master,一台slave。IP你可以配,但是这里就直接让两台机器分别在网络配置里设置桥接即可,就是属于一个网段的IP了。如10.10.10.85和10.10.10.129  以下步骤均为root用户登录

步骤2:安装JDK,具体安装办法,请看我的BLOG:http://blog.csdn.net/yt_sports/article/details/50286693

步骤3:设置ssh免密码登录。即两台机器用ssh互连可以不用登录密码。请看我的BLOGhttp://blog.csdn.net/yt_sports/article/details/50327873

步骤4:修改每台机器名。hostname可以在/etc/hostname中修改,例如root@Cloud001:~#   Cloud001就是机器名,改成你想改的名。这里Cloud001是我的master。我的slave那台机器改的是Cloud002

步骤5:修改/etc/hosts 文件,增加这俩台机器的ip和hostname的映射关系,IP是根据的IP填的,机器名也写上你自己设定的。

                10.10.10.85     Cloud001              

                10.10.10.129     Cloud002


步骤6:先配置Cloud001机器(master)。解压hadoop-2.2.0到/usr/local目录下,敲入:tar -zxvf hadoop-2.2.0.tar.gz -C /usr/local 

步骤7:先创建几个文件夹:mkdir

/root/hdfs/namenode

/root/hdfs/datanode

/root/temp

步骤8:配置解压后的hadoop文件。进入/usr/local/hadoop2.2.0/etc/hadoop/目录下配置。

步骤9:配置文件1:敲入:vi hadoop-env.sh 在里面修改JAVA_HOME值(export JAVA_HOME=你配置的jdk路径

步骤10:配置文件2:敲入:vi yarn-env.sh 在里面依然修改JAVA_HOME值(export JAVA_HOME=你配置的jdk路径

步骤11:配置文件3:slaves (这个文件里面保存所有slave节点)

写入以下内容:

Cloud002          你有几个slav就写几个slave的机器名,我的只有一个slave,在slave机器上也这么写

步骤12:配置文件4:敲入:vi core-site.xml,在<configuration></configuration>内添加内容。以下红色内容均要写你自己的,其余照抄

<configuration>

                <property>

                                <name>fs.defaultFS</name>

                                <value>hdfs://Cloud001:9000</value>         这里写你的master机器名

                </property>

       <property>

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

                                <value>131072</value>

                </property>

       <property>

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

                                <value>file:/root/tmp</value>      这里写的和我一样就行

                                <description>Abase for other temporary directories.</description>

                </property>

        <property>

               <name>hadoop.proxyuser.root.hosts</name>    我是用root用户安装的,所以写root,如果你是别的普通用户,用你的用户名写在这就行

               <value>*</value>

       </property>

                 <property>

               <name>hadoop.proxyuser.root.groups</name>     同上。

               <value>*</value>

       </property>

</configuration>

步骤13:配置文件5:敲入:vi 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:/root/hdfs/namenode</value>       这里是步骤7的路径

            </property>

           <property>

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

                    <value>file:/root/hdfs/datanode</value>     这里是步骤7的路径

            </property>

            <property>

                     <name>dfs.replication</name>

                     <value>3</value>

             </property>

             <property>

                     <name>dfs.webhdfs.enabled</name>

                     <value>true</value>

         </property>

</configuration>

步骤14:配置文件6:敲入: vi mapred-site.xml(你可能会发现没有这个文件,只有一个mapred-site.xml.template,那就先复制mapred-site.xml.template为mapred-site.xml,即配置文件6前先敲入:cp mapred-site.xml.template mapred-site.xml,然后执行步骤14

<configuration>

                <property>

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

                                <value>yarn</value>

                </property>

                <property>

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

                                <value>Cloud001:10020</value>      写你自己的master机器名

                </property>

                <property>

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

               <value>Cloud001:19888</value>     写你自己的master机器名

       </property>

</configuration>

步骤15:配置文件7:敲入:vi 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>     写你自己的master机器名

       </property>

                <property>

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

               <value>Cloud001:8030</value>         写你自己的master机器名

               </property>

               <property>

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

                        <value>Cloud001:8031</value>      写你自己的master机器名

               </property>

               <property>

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

                        <value>Cloud001:8033</value>     写你自己的master机器名

               </property>

                <property>

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

               <value>Cloud001:8088</value>      写你自己的master机器名

       </property>

</configuration>


至此,在master机器上的所以配置文件就结束了。

步骤16:配置另一台机器即Cloud002.也是先把JDK,hadoop解压,ssh免密码登录等。跟master一样,最好这些安装路径都一样。好记!

步骤17:配置slave机器。

scp /root/hadoop-2.2.0/etc/hadoop/slaves root@Cloud002:/root/hadoop-2.2.0/etc/hadoop/slaves

scp /root/hadoop-2.2.0/etc/hadoop/core-site.xml root@Cloud002:/root/hadoop-2.2.0/etc/hadoop/core-site.xml

......

就是把从步骤11配置的文件都复制到slave上去,记住不用修改里面的内容,复制过去就好,scp复制是覆盖的,所以不用担心。前提是你得把slave那台机器按步骤10以前的弄好。



接下来就是启动验证了:都是在两台机器上同时输入命令的

进入安装目录: cd  /usr/local/hadoop-2.2.0/

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

启动hdfs: ./sbin/start-dfs.sh

敲入:jps

此时在001上面运行的进程有:namenode secondarynamenode

002上面运行的进程有:datanode

启动yarn: ./sbin/start-yarn.sh

此时在001上面运行的进程有:namenode secondarynamenoderesourcemanager

002上面运行的进程有:datanode nodemanager

查看集群状态:./bin/hdfs dfsadmin –report

查看HDFS:    http://10.10.10.85:50070         写上你自己master机器的IP



master机器

slave机器



PS.配置hadoop环境变量:此时敲入hadoop version,在任何一个文件夹下是找不到hadoop命令的

配置hadoop环境变量 vi /etc/profile

export HADOOP_HOME=/usr/local/hadoop-2.2.0     这个路径是你安装hadoop的那个路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

成功后如下图:



1 0