spark-1.6.0-cdh5.15.1环境搭建:Local模式和StandAlone
下載spark
從http://archive.cloudera.com/cdh5/cdh/5/下載spark-1.6.0-cdh5.15.1,因為我之前使用的hadoop版本都是cdh5.15.1,所以版本要保持一致。
下載完成之后解壓。
修改配置
在conf下面修改spark-env.sh,添加內容:
export SPARK_DIST_CLASSPATH=$(/home/iie4bu/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop classpath)
配置環境變量
修改~/.bashrc文件:
# JAVA_HOME JAVA_HOME=/home/iie4bu/app/jdk1.8.0_101 # HADOOP_HOME HADOOP_HOME=/home/iie4bu/app/hadoop-2.6.0-cdh5.15.1 # HIVE_HOME HIVE_HOME=/home/iie4bu/app/hive-1.1.0-cdh5.15.1 # SPARK_HOME SPARK_HOME=/home/iie4bu/app/spark-1.6.0-cdh5.15.1 PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin:$PATH添加依賴
目前spark中缺少一些lib包,因此先獲取jar包,pom.xml內容如下:
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.4.4</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.4.4</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.4.4</version></dependency><dependency><groupId>com.twitter</groupId><artifactId>parquet-hadoop</artifactId><version>1.4.3</version></dependency>一般情況下把這4個jar包,導入到$HADOOP_HOME/share/hadoop/common路徑下。
測試運行Local模式
- master指定運行模式,local表示本地模式 [2]表示可以兩個線程并行運行。
瀏覽器中輸入ip:4040
表示配置成功。
測試運行Standalone模式
1個Master+多個Worker
修改配置文件
修改spark-1.6.0-cdh5.15.1/conf/spark-env.sh內容如下:
SPARK_MASTER_IP=manager SPARK_WORKER_CORES=2 SPARK_WORKER_MEMORY=2g SPARK_WORKER_INSTANCES=1修改spark-1.6.0-cdh5.15.1/conf/slaves,內容如下:
manager修改spark-1.6.0-cdh5.15.1/sbin/spark-config.sh,添加JAVA環境變量:
export JAVA_HOME=/home/iie4bu/app/jdk1.8.0_101在sbin下運行命令:./start-all.sh
在瀏覽器中訪問:ip:8080
可以看到worker已經注冊到manager:7077,
Alive worker:1 因為我們配置了SPARK_WORKER_INSTANCES=1
當我們將SPARK_WORKER_INSTANCES的值修改為2時,重啟一下spark,然后查看ip:8080,如下:
就會看到有兩個實例了。使用jps查看:
看到有兩個worker。
測試使用
使用命令:./bin/spark-shell --master spark://manager:7077
可以看到已經啟動成功了。
在瀏覽器中查看:
可以看到,當前的這個spark-shell 用了4個core,用了1024M的內存。
當我們再啟動一個終端時,會發生什么情況?
可以看到新來的Application沒有占用Cores,而且狀態是WAITING,因此只能等到上一個Application運行結束時,才能開始運行。
當然可以通過命令指定占用多少cores和memory:
--total-executor-cores NUM,--executor-cores NUM
總結
以上是生活随笔為你收集整理的spark-1.6.0-cdh5.15.1环境搭建:Local模式和StandAlone的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YARN 任务执行报错:Caused b
- 下一篇: spark 1.6.0 简单使用