ubuntu14.04下hadoop2.2.0集群安装

ubuntu14.04下hadoop2.2.0集群安装


1、系统配置以及安装SSH无密码登陆环境(master&slaves):

修改本机(master)和子节点(slaveN)机器名:打开/etc/hostname文件

sudo gedit/etc/hostname

  (修改后需重启才能生效)

修改host文件(映射各个节点IP):

   sudogedit /etc/hosts

注意:这里要注释掉开头两行

在后面添加内容为:

   192.168.1.223  master

  192.168.1.193   slave1

  192.168.1.142   slave2 (注意修改为本机IP)

(master、slave1、slave2分别是主节点和子节点的机器名,即hostname里的内容)

为主节点(master)和子节点(slave)分别创建hadoop用户和用户组:

先创建hadoop用户组:

sudo addgrouphadoop

然后创建hadoop用户:

  sudoadduser -ingroup hadoop hadoop

 (第一个hadoop是hadoop用户组,第二个hadoop指用户名)

给hadoop用户赋予root用户同样的权限,打开/etc/sudoers文件(目的:给hadoop用户sudo权限)

sudo gedit/etc/sudoers

           在root  ALL=(ALL:ALL)  ALL这一行下添加

               hadoop  ALL=(ALL:ALL)ALL

本机(master)和子节点(slave)安装ssh服务:

              sudo apt-get update

               sudo apt-get install ssh openssh-server

建立ssh无密码登录环境:

     进入新建立的hadoop用户,建议注销当前用户,然后选择hadoop用户

ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式

创建ssh-key,这里我们采用rsa方式,在终端/home/hadoop目录下输入:

       ssh-keygen -t rsa 

       (有确认信息直接回车)

进入~/.ssh/目录下:

       cd /home/hadoop/.ssh

将此目录下的id_rsa.pub追加到authorized_keys授权文件中: 
        cat id_rsa.pub >> authorized_keys   (仅master执行)

将master节点上的rsa.pub通过ssh传到子节点上(目的:公用公钥密钥)X代表第n个结点

       scp ~/.ssh/id_rsa.pub  hadoop @slaveX:~/.ssh/

进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中

        cd /home/hadoop/.ssh

      cat id_rsa.pub >> authorized_keys

测试ssh互信是否建立

      ssh hadoop@slave1

     (如果不需要输入密码就可以登录成功则表示ssh互信已经建立)

2、为本机(master)和子节点(slave)安装JDK环境:

直接用命令sudo apt-get install openjdk-7-jdk 

也可到官网下载jdk压缩包手动安装。

要验证下 Java 是否已经完全安装的话,可以运行下面的命令来测试。

       java –version

     (如果出现jdk的版本信息,则java环境变量配置成功)

3、安装hadoop及配置(只需master配置即可,子结点可以直接复制过去)

3.1.假设hadoop-2.2.0.tar.gz在/home/hadoop/Downloads目录,先进入此目录

       cd /home/hadoop/Downloads

3.2. 解压hadoop-2.2.0.tar.gz 
        sudo tar -zxf hadoop-2.2.0.tar.gz 

3.3. 将解压出的文件夹改名为hadoop;

       sudo  mv  hadoop-2.2.0 hadoop

3.4. 将该hadoop文件夹的属主用户设为hadoop

       sudo chown -R hadoop:hadoop hadoop

3.5, 将hadoop文件夹移动到/usr/local/ 目录下

sudo mv hadoop/usr/local/

 

3.6 hadoop配置过程

 

配置之前,需要在master本地文件系统创建以下文件夹:

sudo mkdir/usr/local/hadoop/dfs/name

sudo mkdir/usr/local/hadoop/dfs/data

sudo mkdir/usr/local/hadoop/tmp

需要配置的文件一共有7个。

/usr/local/hadoop/etc/hadoop/hadoop-env.sh/usr/local/hadoop /etc/hadoop/yarn-env.sh

/usr/local/hadoop/etc/hadoop/slaves

/usr/local/hadoop/etc/hadoop/core-site.xml

/usr/local/hadoop/etc/hadoop/hdfs-site.xml/usr/local/hadoop /etc/hadoop/mapred-site.xml

/usr/local/hadoop/etc/hadoop/yarn-site.xml  以上有些文件默认不存在的,可以复制相应的template文件获得。

配置文件1:hadoop-env.sh  


修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_40)

(通过命令 update-alternatives --config java 查看jdk安装路径)

置文件2:yarn-env.sh   

修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)

)   

配置文件3:slaves

(这个文件里面保存所有slave节点)

 

 

 

配置文件4:hdfs-site

<configuration>

<!--

<property>

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

<value>master:9001</value>

</property>

因为默认的secondarynode是在master上,现在把他更改为slave1.所以注释这个属性节点,添加以下两个属性节点

-->

<property>

<name>dfs.http.address</name>

<value>master:50070</value>

</property>

 

<property>

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

<value>slave1:50090</value>

</property>

 

<property>

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

<value>file:/usr/local/hadoop/dfs/name</value>

</property>

 

<property>

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

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

</property>

 

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

 

<property>

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

<value>true</value>

</property>

 

<property>

<name>dfs.datanode.max.xcievers</name>

<value>4096</value>

</property>

 

</configuration>

 

配置文件5:core-site

 

<configuration>

 

<property>

<name>fs.defaultFS</name>

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

</property>

 

 

<property>

<name>fs.checkpoint.period</name>

<value>60</value>

</property>

 

 

<property>

<name>fs.checkpoint.size</name>

<value>67108864</value>

</property>

 

<property>

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

<value>131072</value>

</property>

 

<property>

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

<value>file:/usr/local/hadoop/tmp</value>

<description>Abase for other temporarydirectories.</description>

</property>

 

<property>

<name>hadoop.proxyuser.hadoop.hosts</name>

<value>*</value>

</property>

 

<property>

<name>hadoop.proxyuser.hadoop.groups</name>

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

</property>

        

<property>                 

<name>mapreduce.jobhistory.webapp.address</name>                 <value>master:19888</value>      

</property>

 

</configuration>

 

 

 

配置文件7:yarn-site.xml

 

<configuration>

 

<!-- Site specific YARN configuration properties-->

 

 <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>

   <description>shuffle service that needs to be set for Map Reduceto run </description>   

 </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>

 

</configuration>

 

 

####

配置文件8: master   (将secondarynode移动到slave1时配置。需要新建)。

可参考文章http://www.cnblogs.com/Richardzhu/p/3435568.html

 

 

将配置信息复制到子节点上

hosts文件的复制,先将文件复制到/home/hadoop下面:

 

sudo scp /etc/hosts hadoop@ slaveX:/home/hadoop

  再在datanode机器上将其移到相同的路径下面/etc/hosts

   sudo mv /home/hadoop/hosts /etc/hosts  ( 这条命令在子节点上执行)

hadoop文件夹的复制,其中的配置也就一起复制过来了!

        scp -r /usr/local/hadoophadoop@ slaveX :/home/hadoop

然后在子节点上执行

        sudo mv /home/local/hadoop /usr/local/

    (如果提示是移动文件夹,则加上-r参数)

并且要将所有节点的hadoop的目录的权限进行如下的修改:

        sudo chown -R hadoop:hadoop hadoop

       (在/usr/local/目录下执行此命令)

配置完成

 

3.7启动测试

首先终端进入/usr/local/hadoop/目录下

        bin/hdfsnamenode -format    (格式化集群)

        sbin/start-all.sh  

连接时可以在namenode上查看连接情况:

        bin/hdfs dfsadmin –report

       (注意这里是在/usr/local/hadoop下)

结果如图:

 

也可以直接进入网址:

         master:50070

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值