spark 入门及集群环境搭建

软件环境: VMware workstation 11.0

linux :CentOS 6.7

hadoop-2.7.3

jdk-1.0.7_67

spark-2.1.0-bin-hadoop2.7/

安装虚拟机和jdk就不再此赘述。

直接讲解安装hadoop和spark的安装。

一。下载hadoop源码包。点击此处下载: http://hadoop.apache.org/ 

  1.下载后解压到指定的目录下。

   tar -zxvf hadoop-2.7.3.tar.gz   -C /usr/hadoop

  2.解压后进入目录  cd /usr/hadoop/hadoop-2.7.3 

  3.修改配置文件: 进入到cd /hadoop-2.7.3/etc/hadoop下需要修改几个配置文件

   1> cp etc/hadoop/hadoop-env.sh.template.hadoop-env.sh

      cp etc/hadoop/hdfs-site.xml.templete  hdfs-site.xml

      cp etc/hadoop/core-site.templete  core-site.xml

      cp etc/hadoop/mapred-env.sh.templete  mapred-env.sh

      cp etc/hadoop/mapred-site.templete  mapred-site.sh 

      cp etc/hadoop/slaves.templete  slaves

      cp etc/yarn-env.sh.templete  yarn-env.sh

      cp etc/yarn-site.xml.templete  yarn-site.xml

注意: 一般修改系统配置文件时最好做一个备份或者复制后修改,就像这样的。

   hadoop-env.sh 配置文件的内容

 

 

# The java implementation to use.
   export JAVA_HOME=/opt/modules/jdk1.7.0_67/
 这是需要修改为自己机器安装的jdk的位置。其他文件内容不需要修改。

 

hdfs-site.xml
  
<property>
        <name>dfs.replication</name>
        <value>2</value>
        </property>
        <property>
        <name>dfs.block.size</name>
        <value>134217728</value>
        </property>
        <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoopdata/dfs/name</value>
        </property>
        <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoopdata/dfs/data</value>
        </property>
        <property>
        <name>fs.checkpoint.dir</name>
        <value>/home/hadoopdata/checkpoint/dfs/cname</value>
        </property>
        <property>
        <name>fs.checkpoint.edits.dir</name>
        <value>/home/hadoopdata/checkpoint/dfs/cname</value>
        </property>
        <property>
         <name>dfs.http.address</name>
        <value>master:50070</value>
         </property>
          <property>
           <name>dfs.secondary.http.address</name>
           <value>slave1:50090</value>
          </property>
           <property>
          <name>dfs.webhdfs.enabled</name>
        <value>true</value>
           </property>
          <property>
          <name>dfs.permissions</name>
          <value>true</value>
          </property>
</configuration>

 3> core-site.xml

  

<configuration>

        <property>

        <name>fs.defaultFS</name>

        <value>hdfs://master:8020</value>

        </property>

        <property>

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

        <value>4096</value>

        </property>

        <property>

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

        <value>/opt/modules/hadoop-2.7.3/data/tmp</value>

        </property>

</configuration>

4> mapred-env.sh

  

 export JAVA_HOME=/usr/local/java/jdk1.7.0_67/

 修改为自己电脑的jdk路径。

5> mapred-site.xml

  

<configuration>

        <property>

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

        <value>yarn</value>

        <final>true</final>

        </property>


        <property>

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

        <value>master:10020</value>

        </property>


        <property>

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

        <value>master:19888</value>

        </property>

        <property>

        <name>mapreduce.job.ubertask.enable</name>

        <value>true</value>

        </property>


        <property>

        <!-- 配置map任务的主节点 运行在哪台节点-->

        <name>mapred.job.tracker</name>

        <value>master:9001</value>

        </property>

6> slaves 设置需要几个节点运行

  master

  slave1

  slave2

7> yarn-env.sh

  JAVA=$JAVA_HOME/bin/java   引用jdk的路径

8> yarn-site.xml

 

 <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>salve2 </value>

        </property>

        <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

        </property>

        <property>

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

        <value>slave2:8032</value>

        </property>

        <property>

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

        <value>slave2:8030</value>

        </property>

        <property>

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

        <value>slave2:8031</value>

        </property>

        <property>

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

        <value>slave2:8033</value>

        </property>

        <property>

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

        <value>slave2:8088</value>

        </property>

        <property>

                <name>yarn.log-aggregation-enable</name>

                <value>true</value>

        </property>

        <property>

                 <name>yarn.nodemanager.remote-app-log-dir</name>

                 <value>/opt/modules/hadoop-2.7.3/tmp/logs</value>

        </property>

注意: 修改完配置后,需要将hadoop分发到其他节点。 slave1和slave2.

    scp -r /usr/hadoop/hadoop-2.7.3  root@slave1:/usr/hadoop

    scp -r /usr/hadoop/hadoop-2.7.3  root@slave2:/usr/hadoop

然后需要修改环境变量文件。可以修改当前用户的 环境变量文件,就是~./bash_rc 或全局变量文件 /etc/profile

   export  JAVA_HOME=/usr/local/jdk-1.7.0_67

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

保存 :wq;  然后可以把环境变量文件发送给其他节点。

二. 格式化namenode节点 

    hadoop namenode -format  会看到一堆输出信息。然后会提示namenode 格式化成功的提示。

三。启动集群.

   可以全部启动,也可以单独 启动。

  hadoop 安装路径下有个sbin 目录,下是存放的是系统的启动脚本。 

  全部启动: start-all.sh

  单独启动节点: hadoop-daemon.sh  start namenode/datanode xxx.

  启动后用jps查看进程。