Hadoop大数据处理平台的搭建

2017-03-18 13:53

 由于最近在做一个小比赛,,需要搭建数据处理平台,,由于数据量比较大,因此选择了Hadoop,本人并不是很熟悉这个平台,,因此搭建过程中遇到了许多问题,,所以想记录一下,以后可能会用到。
搭建过程并不困难,由于手上没有服务器,在虚拟机中搭建,本次搭建系统环境是ubuntu 14.04LTS,hadoop的版本是2.7.3

  • 首先在ubuntu上安装java环境,我选择的是jdk1.8,jdk可以直接在官网下载,下载完成后上传到ubuntu上
    由于个人喜好,,我将它解压到usr文件夹下
    cp java* /usr/
    sudo tar -xzf java*
    move java* java
    然后添加环境变量,sudo vim /etc/profile,在文件末尾追加一下几行:
    #java
    export JAVA_HOME=/usr/java
    export JRE_HOME=/usr/java/jre
    export CLASSPATH=$JAVA_HOME/lib
    export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

  • 然后下载hadoop2.7.3的压缩包,并将其解压到usr文件夹下,
    然后添加环境变量,同上追加一下几行:
    #hadoop
    export HADOOP_HOME=/usr/hadoop
    export PATH=$PATH:$HADOOP_HOME/sbin
    export PATH=$PATH:$HADOOP_HOME/bin

  • 到这里准备工作几乎完成了,下面需要配置ssh免密码登录,
    先生成密钥ssh-keygen -t rsa,一路回车,然后
    cd ~/.ssh
    cat id_dsa.pub >> ~/.ssh/authorized_keys
    chmod 600 authorized_keys

  • 添加一个用户组和用户来管理hadoop,首先添加一个用户组,groupadd hadoop useradd hadoop -g hadoop passeord hadoop 输入两次密码,到这里就完成了用户和组的添加

  • 此时需要配置hadoop环境,先创建dfs的文件夹,切换到hadoop用户,然后在hadoop文件夹下添加dfs/name,dfs/data,/tmp

  • 修改hadoop文件的属性
    切换到/usr/hadoop/etc/hadoop
    1) 配置文件:hadoop-env.sh(文件都在/usr/hadoop/etc/hadoop中)
    修改JAVA_HOME值(export JAVA_HOME=/usr/java) 

    2) 配置文件:yarn-env.sh
    修改JAVA_HOME值(export JAVA_HOME=/usr/java)

    3) 配置文件:core-site.xml

       <configuration>
       <property>
           <name>fs.defaultFS</name>
           <value>hdfs://master:9000</value>
       </property>
       <property>
           <name>io.file.buffer.size</name>
           <value>131072</value>
       </property>
       <property>
           <name>hadoop.tmp.dir</name>
           <value>file:/usr/hadoop/tmp</value>
           <description>Abase for other temporary   directories.</description>
       </property>
       </configuration>
    

    4)配置文件:hdfs-site.xml

       <configuration>
          <property>
                   <name>dfs.namenode.secondary.http-address</name>
                  <value>master:9001</value>
          </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/hadoop/dfs/name</value>
          </property>
         <property>
                 <name>dfs.datanode.data.dir</name>
                 <value>file:/usr/hadoop/dfs/data</value>
          </property>
          <property>
                  <name>dfs.replication</name>
                  <value>2</value>
           </property>
           <property>
                    <name>dfs.webhdfs.enabled</name>
                     <value>true</value>
            </property>
       </configuration>
    

    5) 配置文件:mapred-site.xml
    先创建然后编辑
     cp mapred-site.xml.template 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>
    

    6) 配置文件: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>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>
  • 到了这里基本完成了单机的配置,现在可以克隆虚拟机,,完成后修改hosts文件和主机名
    ip分别是 192.168.137.150 151 152,hostname分别是master1 node1 node2,打开hosts文件配置ip和主机对应,然后修改/usr/hadoop/etc/hadoop/slaves 添加内容
    node1
    node2

  • 完成配置,进行测试
    启动hadoophdfs namenode -format
    sbin/start-all.sh sbin/mr-jobhistory-daemon.sh start