码迷,mamicode.com
首页 > 其他好文 > 详细

Spark-1.4.0单机部署(Hadoop-2.6.0采用伪分布式)【已测】

时间:2015-08-26 22:42:31      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:hadoop   spark   jdk   

??目前手上只有一个机器,就先拿来练下手(事先服务器上没有安装软件)尝试一下Spark的单机部署。

??几个参数:
??JDK-1.7+
??Hadoop-2.6.0(伪分布式);
??Scala-2.10.5;
??Spark-1.4.0;
??下面是具体的配置过程


  • 安装JDK 1.7+
    【下载网址】http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    • 环境变量设置(最好不要采用openjdk):

      export JAVA_HOME=/usr/java/java-1.7.0_71
      export JRE_HOME=$JAVA_HOME/jre
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    • 更新重启环境变量
      $ source /etc/profile

    • 测试
      $ java -version
  • 下载安装scala-2.10.5
    【下载网址】http://www.scala-lang.org/download/2.10.5.html
    下载对对对应的压缩包

    $ tar -zxf scala-2.10.5.tgz
    $ sudo mv scala-2.10.5 /usr/local

    配置环境变量:
    export SCALA_HOME=/usr/local/scala-2.11.4
    export PATH=$SCALA_HOME/bin:$PATH
    更新启动环境变量
    source /etc/profile
    测试scala安装是否成功
    $ scala -version

  • 【亲测】安装Hadoop(需要修改Hadoop的情况下,手动编译)
    【安装Hadoop的参考网址】http://qindongliang.iteye.com/blog/2222145

    • 安装依赖
      sudo yum install -y autoconf automake libtool git gcc gcc-c++ make cmake openssl-devel,ncurses-devel bzip2-devel
    • 安装Maven3.0+
      【下载网址】http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/

      • 解压
        tar -xvf apache-maven-3.0.5-bin.tar.gz
      • 移动文件
        mv -rf apache-maven-3.0.5 /usr/local/
      • 配置环境变量

        MAVEN_HOME=/usr/local/apache-maven-3.0.5
        export MAVEN_HOME
        export PATH=${PATH}:${MAVEN_HOME}/bin
      • 使生效
        source /etc/profile

      • 检查是否安装成功 mvn -v
    • 安装ant1.8+
      【下载网址】http://archive.apache.org/dist/ant/binaries/

      • 环境变量

        export ANT_HOME=/usr/local/apache-ant-1.8.4
        export PATH=$ANT_HOME/bin:$PATH
      • 测试
        ant -version

    • 安装 protobuf-2.5.0.tar.gz

      • 解压
        tar xvf protobuf-2.5.0.tar.gz
      • 安装
        cd protobuf-2.5.0
        ./configure --prefix=/usr/local/protobuf
        make
        nake install
      • 环境变量

        export PATH=$PATH:/usr/local/protobuf/bin
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
      • 测试
        protoc --version
        如果输出libprotoc 2.5.0表示安装成功。

    • 安装snappy1.1.0.tar.gz(可选选项,如果需要编译完的Hadoop支持Snappy压缩,需要此步骤)
      • 安装
        ./configure --prefix=/usr/local/snappy #指定的一个安装目录
        make
        make install
    • 安装hadoop-snappy
      • git下载地址
        git clone https://github.com/electrum/hadoop-snappy.git
      • 打包
        下载完成后
        cd hadoop-snappy
        执行maven打包命令
        mvn package -Dsnappy.prefix=/home/search/snappy
      • 验证
        技术分享
        ?这个目录就是编译后的snappy的本地库,在
        hadoop-snappy/target/hadoop-snappy-0.0.1-SNAPSHOT-tar/hadoop-snappy-0.0.1-SNAPSHOT/lib目录下,有个hadoop-snappy-0.0.1-SNAPSHOT.jar,在hadoop编译后,需要拷贝到$HADOOP_HOME/lib目录下。
        ?【备注】整个过程中使用到的包都放在/root/下面。
    • 安装Hadoop
      • 安装(下载hadoop-2.6.0-src.tar.gz是hadoop的源码)
        【下载网址】http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
        【也可以直接获取】wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.1-src.tar.gz
      • 解压
        tar -zxvf hadoop-2.6.0-cdh5.4.1-src.tar.gz
      • 解压后进入根目录,执行下面这个编译命令,就能把snappy库绑定到hadoop的本地库里面,这样就可以在所有的机器上跑了
        mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=(hadoop-snappy里面编译后的库地址) -Dbundle.snappy
        ?中间会报一些异常,无须关心,如果报异常退出了,就继续执行上面这个命令,直到成功为止,一般速度会跟你的网速有关系,大概40分钟左右,最后会编译成功。
  • 【最终选择】安装Hadoop(无需修改Hadoop时直接下载编译好的Hadoop文件)

单机部署Hadoop(伪分布式)

  • Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中(很多的xml文件),伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml。
  • 修改配置文件 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml)
    将当中的
<configuration>
</configuration>

修改为下面配置:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  • 修改配置文件 hdfs-site.xml(同理)
<configuration>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>

【注意】不说明的话都是目录的起始位置都是:hadoop/

  • 配置完成后,执行 namenode 的格式化:
    bin/hdfs namenode -format
    成功的话,会看到successfully formatted的提示,且输出信息的倒数第5行的提示如下,Exitting with status 0 表示成功,若为 Exitting with status 1 则是出错。若出错,可试着加上 sudo, 既 sudo bin/hdfs namenode -format 再试试看。
  • 开启NameNode、DataNode守护进程
    sbin/start-dfs.sh
    【注意】若你使用的是 Hadoop 2.4.1 64位,则此时可能会出现一连串的warn提示,如 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 这个提示,这些warn提示可以忽略,不会影响正常使用。
  • 查看进程
    输入jps即可
    成功启动则会列出如下进程: NameNode、DataNode和SecondaryNameNode
  • Hadoop-webUI
    在浏览器中输入http://localhost:50070(localhost或者是服务器ip)
    【注意】如无法访问,先检查防火墙是否是关闭状态(应当是关闭状态)。
  • 注意(配置过程中遇到)
    在这一步以及后面启动 Hadoop 时若提示 Error: JAVA_HOME is not set and could not be found. 的错误,则需要在文件 hadoop/etc/hadoop/hadoop-env.sh 中设置 JAVA_HOME 变量,即找到 export JAVA_HOME=${JAVA_HOME} 这一行,改为 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 (就是之前设置的JAVA_HOME位置),再重新尝试即可。
  • 关闭NameNode、DataNode守护进程
    sbin/stop-dfs.sh

单机部署Spark

  • 下载
    wget http://archive.apache.org/dist/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.6.tgz
  • 解压并修改名字为spark
  • 环境变量
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
  • 配置Spark环境变量
    cd $SPARK_HOME/conf
    cp spark-env.sh.template spark-env.sh
    vim spark-env.sh
    添加如下代码:
export JAVA_HOME=/usr/java/latest
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SCALA_HOME=/usr/local/scala-2.10.5
export SPARK_HOME=/usr/local/spark
export SPARK_MASTER_IP=127.0.0.1
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8099
export SPARK_WORKER_CORES=3
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=10G
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=1G
#export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar
#export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATH
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native
  • 配置Slave
    cp slaves.template slaves
    vim slaves
    添加以下代码(默认就是localhost):
localhost
  • 因为是单机ssh免登陆不再赘述
  • 启动Spark Master
    目录:cd $SPARK_HOME/sbin/
    ./start-master.sh
  • 启动Spark Slave
    目录:cd $SPARK_HOME/sbin/
    ./start-slaves.sh(注意是slaves)
  • 启动Spark-shell(application)
    ./spark-shell –master spark://127.0.0.1:7077
  • Spark-webUI
    http://localhost:8099(localhost或者是服务器ip)
    如下所示:
    技术分享
  • 关闭master和slave
    目录:cd $SPARK_HOME/sbin/
    ./stop-master.sh
    ./stop-slaves.sh

版权声明:本文为博主原创文章,未经博主允许不得转载。

Spark-1.4.0单机部署(Hadoop-2.6.0采用伪分布式)【已测】

标签:hadoop   spark   jdk   

原文地址:http://blog.csdn.net/hust_sheng/article/details/48008617

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!