1. 程式人生 > >Spark叢集安裝及Streaming除錯

Spark叢集安裝及Streaming除錯

安裝前置條件

1.         系統需要安裝the Oracle Java Development Kit(not OpenJDK),安裝jdk1.7以上,下載目錄:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html?ssSourceSiteId=ocomen。

  檢查方法:java -version

2.         安裝python2.7 以上,並配置環境變數和PATH,到https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2下載64位版本

  檢查方法:python -version

3.         在叢集所有機器中,安裝scala 2.10以上,並配置環境變數和PATH,下載目錄:http://downloads.typesafe.com/scala/2.10.5/scala-2.10.5.tgz

  檢查方法:scala命令可使用

4.         安裝rsync元件;

  檢查方法:scp命令可使用

5.         安裝ssh並在e3base使用者下完成叢集之間的無密碼訪問配置

6.         叢集之間保證ntp時鐘同步。

        檢查方法:service ntp status、service ntpd restart

7.         叢集各主機一定要永久關閉防火牆和selinux。

        檢查方法:service iptables status、service iptables stop

8.         將叢集中所有的主機名及ip對應關係都新增到每臺主機的/etc/hosts中。

Scala安裝

解壓安裝包

tar -xzvf scala-2.10.6.tgz

mv scala-2.10.6 scala

配置環境變數

exportSCALA_HOME=/home/hadoop/cdh5.5.0/scala

export PATH=$SCALA_HOME/bin:$PATH

使環境變數生效

source ~/.bash_profile

驗證是否安裝成功

執行如下命令:

scala –version

出現如下資訊則安裝成功

Spark叢集部署

安裝

解壓壓縮包

tar -xzvf spark-1.5.0-cdh5.5.0.tar.gz

mv spark-1.5.0-cdh5.5.0 spark

配置環境變數

vi ~/.bash_profile

exportSPARK_HOME=/home/hadoop/cdh5.5.0/spark

export PATH=$SPARK_HOME/bin:$PATH

使環境變數生效

source ~/.bash_profile

配置

spark-env.sh

cp spark-env.sh.template spark-env.sh

寫入如下資訊

vi spark-env.sh

slaves

cp slaves.template slaves

將Worker主機寫入slaves

啟動

將配置copy到Worker主機

cd $SPARK_HOME/sbin

sh start-all.sh

 

注意:啟動之前保證Hadoop已經啟動,否則Master會啟動失敗)

Master HA配置

Master在從standby狀態到active狀態時,這個過程會影響新程式的提交,已經執行的程式不受影響。

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=worker1:2181,worker2:2181,worker3:2181-Dspark.deploy.zookeeper.dir=/spark"

引數:

spark.deploy.recoveryMode=ZOOKEEPER

spark.deploy.zookeeper.url=worker1:2181,worker2:2181,worker3:2181

spark.deploy.zookeeper.dir=/spark

spark.deploy.recoveryMode

恢復模式(Master重新啟勱的模式),有三種:1.ZooKeeper,2. FileSystem, 3 NONE

spark.deploy.zookeeper.url

ZooKeeper的Server地址

spark.deploy.zookeeper.dir

/spark,ZooKeeper 儲存叢集元資料資訊的檔案目錄,包括Worker,Driver和Application。

問題解決

啟動失敗

問題描述

Exception in thread "main"java.lang.NoClassDefFoundError: org/slf4j/Logger

       at java.lang.Class.getDeclaredMethods0(Native Method)

       at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)

       at java.lang.Class.getMethod0(Class.java:2866)

       at java.lang.Class.getMethod(Class.java:1676)

       at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)

       at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)

Caused by:java.lang.ClassNotFoundException: org.slf4j.Logger

       at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

       at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

       at java.security.AccessController.doPrivileged(Native Method)

       at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

       at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

       at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

問題解決

在spark-env.sh配置檔案中增加slf4j相關jar包,如下:

for f in$HADOOP_HOME/share/hadoop/common/lib/*.jar; do

  if[ "$SPARK_CLASSPATH" ]; then

   export SPARK_CLASSPATH=$SPARK_CLASSPATH:$f

 else

   export SPARK_CLASSPATH=$f

  fi

done

for f in$HADOOP_HOME/share/hadoop/common/*.jar; do

  if[ "$SPARK_CLASSPATH" ]; then

   export SPARK_CLASSPATH=$SPARK_CLASSPATH:$f

 else

   export SPARK_CLASSPATH=$f

  fi

done

啟動成功後一會自動shut down

問題描述

17/04/06 23:11:59 ERROR ActorSystemImpl:Uncaught fatal error from thread [sparkMaster-akka.actor.default-dispatcher-4]shutting down ActorSystem [sparkMaster]

java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/Module

       at java.lang.Class.forName0(Native Method)

       at java.lang.Class.forName(Class.java:278)

       at org.apache.spark.util.Utils$.classForName(Utils.scala:173)

       atorg.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:190)

       at org.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:186)

       atscala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)

       atscala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)

       atscala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)

       at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)

       at scala.collection.mutable.HashMap.foreach(HashMap.scala:98)

       at org.apache.spark.metrics.MetricsSystem.registerSinks(MetricsSystem.scala:186)

       at org.apache.spark.metrics.MetricsSystem.start(MetricsSystem.scala:100)

       at org.apache.spark.deploy.master.Master.onStart(Master.scala:152)

       at org.apache.spark.rpc.akka.AkkaRpcEnv$$anonfun$actorRef$lzycompute$1$1$$anon$1$$anonfun$preStart$1.apply$mcV$sp(AkkaRpcEnv.scala:100)

       atorg.apache.spark.rpc.akka.AkkaRpcEnv.org$apache$spark$rpc$akka$AkkaRpcEnv$$safelyCall(AkkaRpcEnv.scala:197)

       at org.apache.spark.rpc.akka.AkkaRpcEnv$$anonfun$actorRef$lzycompute$1$1$$anon$1.preStart(AkkaRpcEnv.scala:99)

       at akka.actor.ActorCell.create(ActorCell.scala:562)

       at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:425)

       at akka.actor.ActorCell.systemInvoke(ActorCell.scala:447)

       at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:262)

       at akka.dispatch.Mailbox.run(Mailbox.scala:218)

       atakka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)

       at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)

       at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)

       atscala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)

       atscala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Caused by:java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.Module

       at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

       at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

       at java.security.AccessController.doPrivileged(Native Method)

       at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

       at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

       at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

       ... 26 more

17/04/06 23:11:59 ERROR ErrorMonitor:Uncaught fatal error from thread [sparkMaster-akka.actor.default-dispatcher-4]shutting down ActorSystem [sparkMaster]

java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/Module

       at java.lang.Class.forName0(Native Method)

       at java.lang.Class.forName(Class.java:278)

       at org.apache.spark.util.Utils$.classForName(Utils.scala:173)

       atorg.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:190)

       atorg.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:186)

       atscala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)

       at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)

       atscala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)

       at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)

       at scala.collection.mutable.HashMap.foreach(HashMap.scala:98)

       atorg.apache.spark.metrics.MetricsSystem.registerSinks(MetricsSystem.scala:186)

       at org.apache.spark.metrics.MetricsSystem.start(MetricsSystem.scala:100)

       at org.apache.spark.deploy.master.Master.onStart(Master.scala:152)

       atorg.apache.spark.rpc.akka.AkkaRpcEnv$$anonfun$actorRef$lzycompute$1$1$$anon$1$$anonfun$preStart$1.apply$mcV$sp(AkkaRpcEnv.scala:100)

       atorg.apache.spark.rpc.akka.AkkaRpcEnv.org$apache$spark$rpc$akka$AkkaRpcEnv$$safelyCall(AkkaRpcEnv.scala:197)

       atorg.apache.spark.rpc.akka.AkkaRpcEnv$$anonfun$actorRef$lzycompute$1$1$$anon$1.preStart(AkkaRpcEnv.scala:99)

       at akka.actor.ActorCell.create(ActorCell.scala:562)

       at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:425)

        atakka.actor.ActorCell.systemInvoke(ActorCell.scala:447)

       at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:262)

       at akka.dispatch.Mailbox.run(Mailbox.scala:218)

       at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)

       at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)

       atscala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)

       at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)

       atscala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Caused by:java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.Module

       at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

       at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

       at java.security.AccessController.doPrivileged(Native Method)

       at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

       at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

       at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

       ... 26 more

17/04/06 23:12:00 WARN MetricsSystem:Stopping a MetricsSystem that is not running

17/04/06 23:12:00 ERROR AkkaRpcEnv: Ignoreerror: null

java.lang.NullPointerException

       at org.apache.spark.deploy.master.Master.onStop(Master.scala:198)

       at org.apache.spark.rpc.akka.AkkaRpcEnv$$anonfun$actorRef$lzycompute$1$1$$anon$1$$anonfun$postStop$1.apply$mcV$sp(AkkaRpcEnv.scala:143)

       atorg.apache.spark.rpc.akka.AkkaRpcEnv.org$apache$spark$rpc$akka$AkkaRpcEnv$$safelyCall(AkkaRpcEnv.scala:197)

       at org.apache.spark.rpc.akka.AkkaRpcEnv$$anonfun$actorRef$lzycompute$1$1$$anon$1.postStop(AkkaRpcEnv.scala:142)

       atakka.actor.dungeon.FaultHandling$class.akka$actor$dungeon$FaultHandling$$finishTerminate(FaultHandling.scala:201)

       atakka.actor.dungeon.FaultHandling$class.terminate(FaultHandling.scala:163)

       at akka.actor.ActorCell.terminate(ActorCell.scala:338)

       at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:431)

       at akka.actor.ActorCell.systemInvoke(ActorCell.scala:447)

       at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:262)

       at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:240)

       at akka.dispatch.Mailbox.run(Mailbox.scala:219)

       at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)

       at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)

       atscala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)

       at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)

       atscala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

17/04/06 23:12:00 INFORemoteActorRefProvider$RemotingTerminator: Shutting down remote daemon.

17/04/06 23:12:00 INFORemoteActorRefProvider$RemotingTerminator: Remote daemon shut down; proceedingwith flushing remote transports.

17/04/06 23:12:01 INFO Remoting: Remotingshut down

17/04/06 23:12:01 INFORemoteActorRefProvider$RemotingTerminator: Remoting shut down.

問題解決

CLASSPATH中缺少jackson包

for f in$HADOOP_HOME/share/hadoop/mapreduce*/lib/*.jar; do

  if[ "$SPARK_CLASSPATH" ]; then

   export SPARK_CLASSPATH=$SPARK_CLASSPATH:$f

 else

   export SPARK_CLASSPATH=$f

  fi

done

Spark Streaming除錯

使用sparkexample自帶的streaming用例進行測試:計算從資料伺服器監聽TCP套接字接收的文字資料字數。

1、  啟動netcat作為伺服器

nc –lk 9999

2、  啟動Streaming的例項

run-example streaming.NetworkWordCount 172.21.3.60 9999

3、  在終端netcat伺服器傳送資料

相關推薦

Spark叢集安裝Streaming除錯

安裝前置條件 1.         系統需要安裝the Oracle Java Development Kit(not OpenJDK),安裝jdk1.7以上,下載目錄:http://www.oracle.com/technetwork/java/javase/downlo

Spark叢集安裝搭建

1.下載Spark Spark是一個獨立的記憶體計算框架,如果不考慮儲存的話,可以完全獨立執行,因此這裡就只安裝Spark叢集 Spark下載地址:       http://spark.apache.org/downloads.html 選

Spark本地安裝Linux下偽分散式搭建

title: Spark本地安裝及Linux下偽分散式搭建 date: 2018-12-01 12:34:35 tags: Spark categories: 大資料 toc: true 個人github部落格:Josonlee’s Blog 文章目錄

Spark】Ubuntu16.04 spark 叢集安裝 (standalone模式)

一、前言 目前 Apache Spark 支援三種分散式部署方式,分別是: standalone spark on mesos spark on YARN 其中,第一種類似於MapReduce 1.0所採用的模式,內部實現了容錯性和資源管理,後兩種則是未來發

Bochs原始碼安裝執行除錯

最近在讀《Orange's一個作業系統的實現》,開始部分介紹了虛擬機器Bochs的安裝及除錯,本文把折騰過程做下記錄。 作業系統:Ubuntu10.04(最新的版本老是有問題) 軟體版本:bochs 2.3.5(和書中保持一致) 1 更新Ubuntu 由於ubuntu 1

hadoop3節點叢集安裝spark叢集安裝

一 : 修改機器名 1. 修改3臺機器的機器名,注意名字不要帶下劃線 修改機器名命令: hostnamectl set-hostname xxxx 然後退出shell重新登陸 修改3臺機器的hosts檔案 vim /etc/hosts 新增以下內容 192.107.53.157 had

Spark叢集安裝和WordCount編寫

一、Spark概述 官網:http://spark.apache.org/ Apache Spark™是用於大規模資料處理的統一分析引擎。 為大資料處理而設計的快速通用的計算引擎。 Spark加州大學伯克利分校AMP實驗室。不同於mapreduce的是一個Sp

Hadoop+Spark叢集安裝步驟詳解

一、環境:作業系統版本:SUSE Linux Enterprise Server 11 (x86_64) SP3主機名:192.168.0.10    node1192.168.0.11    node2192.168.0.12    node3192.168.0.13   

hive on spark安裝問題

配置hive hive-site <property> <name>hive.metastore.uris</name> <value>thrift://database:9083</value>

Nginx+Tomcat+redis 叢集安裝配置

下載及安裝: redis:http://blog.csdn.net/majian_1987/article/details/9672393 nginx:http://download.csdn.net/detail/cd4_5792/6974455 整合配置: 配置環境使

Spark原始碼分析-spark叢集啟動任務執行

注: 因為基於Akka的Actor的RPC版本相對容易理解一點,本文分析使用的Spark版本如下: <dependency> <groupId>org.apache.spark</groupId> <

GDB+gdbserver 編譯安裝qtcreator除錯

一、首先要做以下準備工作:(1)主機上安裝了交叉編譯工具。(2)下載GDB安裝包,地址:http://ftp.gnu.org/gnu/gdb/             http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.xz二、安裝GDB(1)解壓原

ElasticSearch5.x叢集安裝測試

準備工作: 1.瞭解ES相關版本對應的JDK版本,ES5.x之後需要JDK1.7版本及以上 2.叢集環境為 IP port hostname 10.187.96.50 9200 kafka18750 10.187.96.51 9

spark叢集安裝與配置

Spark有三種執行模式,分別為: local模式-只執行在本地,相當於偽分散式 standalone模式-這種模式只需要安裝Spark即可,使用自帶的資源管理器 Spark on yarn/mesos模式-這種模式Spark將使用yarn/mesos作為資源管理器 一般來

Spark叢集安裝和使用

本文主要記錄 CDH5 叢集中 Spark 叢集模式的安裝過程配置過程並測試 Spark 的一些基本使用方法。 安裝環境如下: 作業系統:CentOs 6.5Hadoop 版本:cdh-5.3.0Spark 版本:cdh5-1.2.0_5.3.0關於 yum 源的配置以及 Hadoop 叢集的安裝,請參考

Spark叢集安裝

    Spark的版本1.6.0,Scala的版本2.12,jdk版本1.8。最近使用spark,在這裡記錄

Spark叢集安裝方式2

    環境: jdk1.8、hadoop-2.7、spark-1.6、三臺centos7(如下List-1所

安裝spark叢集spark介紹

Spark的介紹 Hadoop與Strom Hadoop: MapReduce:為海量資料提供了計算,但只有Map和Reduce操作,操作不靈活。 HDFS(分散式檔案系統):為海量的資料提供了儲

大數據筆記(二十七)——Spark Core簡介安裝配置

sin cli sca follow com clu 同時 graphx 信息 1、Spark Core: 類似MapReduce 核心:RDD 2、Spark SQL: 類似Hive,支持SQL 3、Spark Streaming:類似

Linux下安裝spark叢集

1、安裝scala 2、安裝Spark 3、配置Spark 修改配置檔案spark-env.sh,在解壓spark下的conf檔案中 將模板檔案複製出來 cp spark-env.sh.template spark-env.sh cp slave.template sl