Spark-yarn环境部署

    基本环境: ubuntu 12.04 32位

一. 安装yarn伪分布式集群

     1. 创建新用户

         (1) 添加用户: sudo useradd -m hadoop -s /bin/bash
         (2) 修改密码: sudo passwd hadoop
         (3) 添加sudo权限: sudo adduser hadoop sudo
         (4) 注销选择hadoop用户登录

     2. 系统环境配置

         (1) sudo apt-get update
         (2) 安装vim: sudo apt-get install vim
         (3) 安装ssh: sudo apt-get install openssh-server
(4) 设置ssh免登录
cd ~/.ssh
rm ./id_rsa*
ssh-keygen -t rsa  (一路回车即可)
cat ./id_rsa.pub >> ./authorized_keys

     3. 安装java环境

         (1) 安装jre和jdk: sudo apt-get install openjdk-7-jre openjdk-7-jdk
         (2) 设置环境变量JAVA_HOME: dpkg -L openjdk-7-jdk | grep '/bin/javac'
              该命令会输出一个路径,除去路径末尾的 “/bin/javac”
         (3) vim ~/.bashrc
              添加一行export JAVA_HOME=...
         (4) source ~/.bashrc
         (5) check java 版本: java -version

     4. 安装hadoop2

         (1) 从http://mirror.bit.edu.cn/apache/hadoop/common/下载最新的稳定版本的hadoop,例如hadoop-2.7.3/hadoop-2.7.3.tar.gz
         (2) 安装hadoop:
               sudo tar -zxf hadoop-2.7.3.tar.gz -C /usr/local
               cd /usr/local
               sudo mv hadoop-2.7.3 hadoop
               sudo chown -R hadoop hadoop

     5. 配置hadoop

       cd /usr/local/hadoop/etc/hadoop进入hadoop配置目录,如果没有hadoop-env.sh或yarn-env.sh需要从后缀名为hadoop-env.sh.template复制一份
       1). 在hadoop-env.sh中配置JAVA_HOME
       2).在yarn-env.sh中配置JAVA_HOME
3). 修改core-site.xml
<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>
4). 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>
5). mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

6). yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

       6. 启动hadoop

(1) namenode格式化
    ./bin/hdfs namenode -format
(2) 修改~/.bashrc添加以下两行,并执行source ~/.bashrc
    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
(3) ./libexec/hadoop-config.sh 找到JAVA_HOME,在前面添加
    export JAVA_HOME=...
(4) 开启 NameNode 和 DataNode 守护进程
    ./sbin/start-dfs.sh
(5) jps命令查看是否成功启动
    若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
(6) 启动成功后可以通过 http://localhost:50070/查看nameNode和dataNode相关信息
(7) 关闭hadoop
    ./sbin/stop-dfs.sh
    第二次之后启动 hadoop,无需进行 NameNode 的初始化,只需要运行 ./sbin/start-dfs.sh 即可

      7. 启动YARN

 (1) 启动yarn
      ./sbin/start-yarn.sh
      ./sbin/mr-jobhistory-daemon.sh start historyserver  #开启历史服务器,才能在Web中查看任务运行情况
 (2) jps查看
      开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程
 (3) 启动成功后可以通过页面http://localhost:8088/cluster查看集群任务的运行情况
 (4) 关闭yarn
       ./sbin/stop-yarn.sh
       ./sbin/mr-jobhistory-daemon.sh stop historyserver

二. 安装Spark

1. 下载Spark
   wget "http://d3kbcqa49mib13.cloudfront.net/spark-2.0.0-bin-hadoop2.7.tgz"
2. 解压到/usr/local
   sudo tar -xvzf spark-2.0.0-bin-hadoop2.7.tgz -C /usr/local
   cd /usr/local
   sudo mv spark-2.0.0-bin-hadoop2.7 spark
   sudo chown -R hadoop spark
3. 设置环境变化PATH
   vim ~/.bashrc
   export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/spark/bin
   source ~/.bashrc

4). 配置Spark
cd /usr/local/spark/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
配置内容如下
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/usr/local/spark
SPARK_DRIVER_MEMORY=1G
5). 启动spark
sh /usr/local/sbin/start-all.sh
启动成功后可以使用
pyspark或spark-submit
同时也可以访问以下链接查看spark任务
http://master:8080

三.  使用Yarn运行Spark程序

     为了方便,以后我们都采用Yarn来运行Spark任务,不会再单独启动Spark

     1.  机器配置

sudo chown hadoop:root -R /usr/local/hadoop
sudo chown hadoop:root -R /usr/local/spark
sudo chmod 775 -R /usr/local/hadoop
sudo chmod 775 -R /usr/local/spark
//bashrc配置
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/spark/bin
export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native:$LD_LIBRARY_PATH

     2. 启动yarn

cd /usr/local/hadoop
./sbin/start-dfs.sh
./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver

     jps查看进程,应该有以下几个

16891 NodeManager
16951 JobHistoryServer
16502 SecondaryNameNode
16028 NameNode
17729 Jps
16683 ResourceManager
16228 DataNode

     3. 停止yarn

cd /usr/local/hadoop
./sbin/stop-dfs.sh
./sbin/stop-yarn.sh
./sbin/mr-jobhistory-daemon.sh stop historyserver

      4. web界面查看

查看nameNode和dataNode: http://localhost:50070/
查看yarn集群任务: http://localhost:8088/cluster

四.  问题汇总

     1. 问题
        Hadoop 2.x.x - warning: You have loaded library /home/hadoop/2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard.
        解决方案
        1. vi ~/.bashrc
        2. 添加以下2行
           export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
           export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib
时间: 2024-07-28 16:14:28

Spark-yarn环境部署的相关文章

Spark集群部署

1. 安装环境简介 硬件环境:两台四核cpu.4G内存.500G硬盘的虚拟机. 软件环境:64位http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu12.04 LTS:主机名分别为spark1.spark2,IP地址分别为1**.1*.**.***/***.JDK版本为1.7.集群上已经成功部署了Hadoop2.2,详细的部署过程可以参见另一篇文档Yarn的安装与部署. 2.  安装Scala2.9.3 1)在/home/te

Spark-基础-Spark编译与部署--Hadoop编译安装

1.编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载maven安装包,建议安装3.0以上版本,本次安装选择的是maven3.0.5的二进制包,下载地址如下 http://mirror.bit.edu.cn/apache/maven/maven-3/ 2. 使用ssh工具把maven包上传到/home/hadoop/upload目录 3. 解压缩apache-maven-3.0.5-bin.tar.gz包 $tar -zxvf apache-maven-3.0.5

Apache Spark源码走读(四)Hive on Spark运行环境搭建 &amp;hiveql on spark实现详解

<一>Hive on Spark运行环境搭建 楔子 Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析.由于这一特性而收到广泛的欢迎. Hive的整体框架中有一个重要的模块是执行模块,这一部分是用Hadoop中MapReduce计算框架来实现,因而在处理速度上不是非常令人满意.由于Spark出色的处理速度,有人已经成功将HiveQL的执行利用Spark来运行,这就

Redis从单机到集群,一步步教你环境部署以及使用

Redis作为缓存系统来说还是很有价值的,在大数据方向里,也是需要有缓存系统的.一般可以考虑tachyon或者redis,由于redis安装以及使用更简单,所以还是优先考虑了它.那么在一些场景下为了保证数据的可靠性,就需要采用集群的模式部署,因此本篇文章就基于Redis Cluster的背景讲解下部署以及后期的使用. 大致会包括下面的内容: Redis单机版的安装以及验证 Redis集群版的安装以及验证 使用图形化工具访问Redis 使用Jedis访问Redis 使用JedisCluster访问

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经非常详细了,但是.咳咳,太长了,我就稍微简单点的来概括,其实Git在MAC和Ubuntu上的体验是最好的,不过搞Android开发的我相信绝大多数人还是用windows吧,当然不排除个例 廖雪峰教程:http://www.liaoxuefeng.com/wiki/001373951630592960

php+mysql+nginx在linux上的环境部署

一直在linux上鼓捣,还没有完整在linux下配置过nginx服务器环境部署呢,这几天没什么事就部署了一下,遇到的问题也很多,现在把我的环境部署文档发出了,有什么问题大家可以一起讨论一下,希望大家采用后遇到问题多多沟通. 安装所需各种依赖包 sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 lib

微信公众号开发系列教程一(调试环境部署续:vs远程调试)

原文:微信公众号开发系列教程一(调试环境部署续:vs远程调试) 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南)   前几天决定写个微信公众平台开发系列,在发布第一篇博文后,收到了很多园友的反馈和建议,在这里感谢大家的支持,我会坚持写完这个系列,希望能帮助更多的小伙伴.特别要感谢下@ZIP,是他的一个提醒才有了这篇博文.也希望更多的小伙伴能把你的想法反馈给我. 上一篇中主要介绍的是使用花

【Xamarin开发 Android 系列 1】环境部署搭建

原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开发的WP7 ,Windows Phone 系列没成功, 收购诺基亚 ,搭载WP8 ,依然Windows Phone  ,结果Xaml依然不温不火.最后还把诺基亚干挺了.想想当时手握N91 的吊样儿..时过境迁. 主流移动互联网平台, 1 Android 2 IOS 3???? 地铁 大街上,凡是走的

Flume环境部署和配置详解及案例大全_Linux

一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OGoriginal generation属于 cloudera.但随着 FLume 功能的扩展Flume OG 代码工程臃肿.核心组件设计不合理.核心配置不标准等缺点暴露出来尤其是在 Flume OG 的最后一个发行版本 0.94.0 中日志传输不稳定的现象尤为严重为了解决这些问题2011 年 10 月 22 号cloudera 完成

ip-Tomcat环境部署好外网却无法访问网站?

问题描述 Tomcat环境部署好外网却无法访问网站? 盛大云主机里面的Tomcat环境部署好之后,只能通过127.0.0.1访问,通过主机IP却无法访问,这是为什么啊?求指教啊!我的防火墙根本就没开,所以应该不会是防火墙的原因 解决方案 外网,是不是还要在你的云管理页面上开放这个端口.