<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>大数据 on 翟志军 Jack Zhai</title>
    <link>https://showme.codes/tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/</link>
    <description>Recent content in 大数据 on 翟志军 Jack Zhai</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>showme.codes</copyright>
    <lastBuildDate>Fri, 01 Jan 2016 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://showme.codes/tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Spark本地开发环境搭建</title>
      <link>https://showme.codes/zh-cn/2016-1-1-setup-spark-env-for-dev/</link>
      <pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://showme.codes/zh-cn/2016-1-1-setup-spark-env-for-dev/</guid>
      <description>&lt;p&gt;本文使用Scala2.10.6，sbt。请自行提前装好。&lt;/p&gt;
&lt;h4 id=&#34;设置ssh本地免密码登录&#34;&gt;设置SSH，本地免密码登录&lt;/h4&gt;
&lt;p&gt;因为Spark master需要ssh到Spark worker中执行命令，所以，需要免密码登录。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cat ~/.ssh/id_rsa.pub &amp;gt; ~/.ssh/authorized_keys&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;执行&lt;code&gt;ssh localhost&lt;/code&gt;确认一下，如果不需要密码登录就说明OK了。&lt;/p&gt;
&lt;p&gt;Tips：
Mac下可能ssh不到本地，请检查你sharing设置：&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Spark本地开发环境搭建&#34; loading=&#34;lazy&#34; src=&#34;https://showme.codes/assets/images/2016-1-spark-network.png&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;下载spark&#34;&gt;下载Spark&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;http://spark.apache.org/downloads.html&#34;&gt;http://spark.apache.org/downloads.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;我选择的是spark-1.6.0-bin-cdh4.tgz 。看到cdh4(Hadoop的一个分发版本)，别以为它是要你装Hadoop。其实不然，要看你自己的开发需求。因为我不需要，所以，我只装Spark。&lt;/p&gt;
&lt;h4 id=&#34;配置你的spark-slave&#34;&gt;配置你的Spark slave&lt;/h4&gt;
&lt;p&gt;我很好奇，worker和slave这个名称有什么不同？还是因为历史原因，导致本质上一个东西但是两种叫法？&lt;/p&gt;
&lt;p&gt;在你的Spark HOME路径下&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cp ./conf/slaves.template ./conf/slaves&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;slaves&lt;/code&gt;文件中有一行&lt;code&gt;localhost&lt;/code&gt;代表在本地启动一个Spark worker。&lt;/p&gt;
&lt;h4 id=&#34;启动spark伪分布式&#34;&gt;启动Spark伪分布式&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;SPARK_HOME&amp;gt;/sbin/start-all.sh&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;执行JPS验证Spark启动成功&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;➜ jps
83141 Worker
83178 Jps
83020 Master
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;打开你的spark界面&#34;&gt;打开你的Spark界面&lt;/h4&gt;
&lt;p&gt;http://localhost:8080&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Spark本地开发环境搭建&#34; loading=&#34;lazy&#34; src=&#34;https://showme.codes/assets/images/2016-1-spark-webview.png&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;下载spark项目骨架&#34;&gt;下载Spark项目骨架&lt;/h4&gt;
&lt;p&gt;为方便我自己开发，我自己创建了一个Spark应用开发的项目骨架。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下载项目骨架： &lt;a href=&#34;http://git.oschina.net/zacker330/spark-skeleton&#34;&gt;http://git.oschina.net/zacker330/spark-skeleton&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;项目路径中执行：&lt;code&gt;sbt package&lt;/code&gt; 编译打包你的spark应用程序。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;将你的spark应用程序提交给spark-master执行&#34;&gt;将你的spark应用程序提交给spark master执行&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;    &amp;lt;SPARK_HOME&amp;gt;/bin/spark-submit \ 
          --class &amp;quot;SimpleApp&amp;quot; \
          --master spark://Jacks-MBP.workgroup:7077 \
              target/scala-2.10/spark-skeleton_2.10-1.0.jar
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个“spark://Jacks-MBP.workgroup:7077”是你在 http://localhost:8080 中看到的&lt;code&gt;URL&lt;/code&gt;的值&lt;/p&gt;
&lt;p&gt;可以看到打印出: hello world&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
