hadoop+spark 伪分布式安装

作者: cooze | 来源:发表于2017-10-17 16:53 被阅读119次

    基本环境及软件:

    软件版本 软件包
    centos-6.x
    JDK-1.8 jdk-8u112-linux-x64.tar.gz
    scala-2.11.8 jdk-8u112-linux-x64.tar.gz
    hadoop-2.7 hadoop-2.7.4.tar.gz
    spark-2.1.2 spark-2.1.2-bin-hadoop2.7.tgz

    键入命令如下,安装hadoop所需的基础软件:

        yum install -y ssh pdsh
    

    jdk和scala安装

    1、键入如下命令将jdk软件包解压至指定目录:

    tar -zxvf jdk-8u112-linux-x64.tar.gz -C /usr/local/
    

    2、键入如下命令将scala软件包解压至指定目录:

     tar -zxvf scala-2.11.8.tgz -C /usr/local/
    

    3、键入如下命令编辑profile文件:

    vim /etc/profile
    

    4、设置jdk和scala环境变量,在profile文件的末尾添加如下内容:

    export JAVA_HOME=/usr/local/jdk1.8.0_112
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export SCALA_HOME=/usr/local/scala-2.11.8
    export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH
    

    5、键入如下命令让,环境变量立即生效:

    source /etc/profile
    

    6、检查jdk

    [root@localhost ~]# java -version
    java version "1.8.0_112"
    Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
    

    7、检查scala

    [root@localhost ~]# scala -version
    Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
    

    解压&安装hadoop

    1、键入如下命令将hadoop软件包解压至指定目录:

    tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local/
    

    2、键入如下命令,给hadoop添加java环境变量:

    vim /usr/local/hadoop-2.7.4/etc/hadoop/hadoop-env.sh
    

    hadoop-env.sh文件中添加如下内容:

    export JAVA_HOME=/usr/local/jdk1.8.0_112
    

    3、修改hadoop配置文件:

    1)键入如下命令,切换至hadoop配置文件目录:

    /usr/local/hadoop-2.7.4/etc/hadoop
    

    2)编辑core-site.xml配置文件,添加如下内容:

    <configuration>
        <!--指定NamNode通信地址-->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
       <!--指定Hadoop运行时产生文件的存储路径-->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/hadoop/tmp</value>
        </property>
    </configuration>
    

    3)编辑hdfs-site.xml配置文件,添加如下内容:

    <configuration>
        <property>
            <name>dfs.name.dir</name>
            <value>/opt/hadoop/hdfs/name</value>
            <description>namenode上存储hdfs名字空间元数据 </description>
        </property>
    
        <property>
            <name>dfs.data.dir</name>
            <value>/opt/hadoop/hdfs/data</value>
            <description>datanode上数据块的物理存储位置</description>
        </property>
    
        <!-- 设置hdfs副本数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    

    4)编辑mapred-site.xml配置文件,配置mapreducer框架运行在yarn上:

    键入如下命令复制mapred-site.xml配置文件:

    cp mapred-site.xml.template mapred-site.xml
    

    mapred-site.xml配置文件内容如下:

    <configuration>
    <!-- 通知框架MR使用YARN -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

    4)编辑yarn配置yarn-site.xml,添加如下内容:

    <configuration>
    <!--reducer取数据的方式是mapreduce_shuffle-->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

    4、键入如下命令,创建hadoop数据目录:

    mkdir -p /opt/hadoop/{tmp,hdfs/{data,name}}
    

    5、键入如下命令,配置免密钥登录:

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
    

    6、开启防火墙端口:

    键入如下命令,编辑防火墙配置文件:

    vim /etc/sysconfig/iptables
    

    添加如下内容:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT
    

    重启防火墙:

    service iptables restart
    

    7、格式化hdfs,只需要在第一次安装的时候格式化hdfs,命令如下:

    /usr/local/hadoop-2.7.4/bin/hdfs namenode -format
    

    8、键入如下命令,启动hdfs和yarn:

    /usr/local/hadoop-2.7.4/sbin/start-all.sh
    

    9、在浏览器中分别输入如下地址校验,hadoop是否安装成功:
    1)hadoop管理界面:http://{your_ip_address}:50070/
    2)hadoop集群状态界面:http://{your_ip_address}:8088/

    解压&安装spark

    1、键入如下命令将spark软件包解压至指定目录:

    tar -zxvf spark-2.1.2-bin-hadoop2.7.tgz -C /usr/local/
    

    2、编辑spark环境变量配置文件:
    键入如下命令复制spark-env.sh配置文件

    cp spark-env.sh.tamplate spark-env.sh
    

    spark-env.sh配置文件中添加如下内容:

    export SCALA_HOME=/usr/local/scala-2.11.8
    export JAVA_HOME=/usr/local/jdk1.8.0_112
    export HADOOP_HOME=/usr/local/hadoop-2.7.4
    export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
    export SPARK_MASTER_IP=localhost
    export SPARK_LOCAL_IP=localhost
    export SPAPK_LOCAL_DIRS=/usr/local/spark-2.1.2-bin-hadoop2.7
    export SPARK_DRIVER_MEMORY=1G
    

    3、在slave配置文件中添加如下内容:

    localhost
    

    4、键入如下命令,启动spark:

    /usr/local/spark-2.1.2-bin-hadoop2.7/sbin/start-all.sh
    

    mapreduce 和 spark wordcount测试

    1、创建WordCount.txt文件,内容如下:

    Hello hadoop
    hello spark
    

    2、在hdfs中创建一个目录wordcount,并上传WordCount.txt文件,命令如下:
    创建目录:

    hadoop fs -mkdir /wordcount
    

    上传文件:

    hadoop fs -put -f WordCount.txt /wordcount
    

    3、编写wordcount程序并执行:
    1)mapreduce 版本示例代码,跳转至github地址

    将git上的程序编译之后上传至hadoop服务器,键入如下命令运行mapreduce:

    hadoop jar mapreduce-wordcount.jar org.cooze.hadoop.mapreduce.wordcount.WordCount /wordcount /output
    

    1. spark java版本示例代码,跳转至github地址

      将git上的程序编译之后上传至hadoop服务器,键入如下命令将spark程序提交到spark中运行:
    spark-submit --master spark://localhost:7077 \
     --name WordCount --class org.cooze.hadoop.spark.wordcount.java.WordCount \
      --executor-memory 512M --total-executor-cores 2 \
      ./spark-wordcount-java.jar /wordcount
    

    1. spark scala版本示例代码,跳转至github地址

      将git上的程序编译之后上传至hadoop服务器,键入如下命令将spark程序提交到spark中运行:
    spark-submit --master spark://localhost:7077 \
     --name WordCount --class org.cooze.hadoop.spark.wordcount.scala.WordCount \
      --executor-memory 512M --total-executor-cores 2 \
      ./spark-wordcount-scala.jar /wordcount
    

    1. spark python版本示例代码,跳转至github地址

      键入如下命令将spark程序提交到spark中运行:
    spark-submit --executor-memory 512M --total-executor-cores 2 \
    spark-wordcount-python.py 
    

    相关文章

      网友评论

        本文标题:hadoop+spark 伪分布式安装

        本文链接:https://www.haomeiwen.com/subject/sriduxtx.html