3台机器配置spark-2.1.0集群

一. 环境介绍

三台主机,主机名和ip分别为:
ubuntu1  10.3.19.171
ubuntu2  10.3.19.172
ubuntu3  10.3.19.173
三台主机的登录用户名是bigdata,home目录是/home/bigdata
现在三台主机上部署spark集群。ubuntu1作为master, ubuntu1 ubuntu2 ubuntu3均作为worker。

二.在一台主机上部署spark

bigdata@ubuntu1:~/download$ tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz
bigdata@ubuntu1:~/download$ mv spark-2.1.0-bin-hadoop2.7 ../run/
bigdata@ubuntu1:~/download$ cd ../run/
bigdata@ubuntu1:~/run$ ln -s spark-2.1.0-bin-hadoop2.7 spark

创建spark日志目录:
bigdata@ubuntu1:~/run/spark$ mkdir logs

三. 在一台主机上配置spark

a. 创建脚本文件spark-env.sh,并增加如下配置
bigdata@ubuntu1:~/run/spark/conf$ cp spark-env.sh.template spark-env.sh
bigdata@ubuntu1:~/run/spark/conf$ cat spark-env.sh
......
export JAVA_HOME=/home/bigdata/usr/jdk1.8.0_25
export HADOOP_HOME=/home/bigdata/run/hadoop
export SPARK_MASTER_IP=ubuntu1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MERMORY=1G
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_DAEMON_JAVA_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/bigdata/run/spark/logs -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xms128m -XX:PermSize=128m -XX:MaxPermSize=256m"
#export SPARK_DAEMON_JAVA_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/bigdata/run/spark/logs -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m"
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=7777 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://ubuntu1:9000/sparkHistoryLogs -Dspark.yarn.historyServer.address=ubuntu1:7788 -Dspark.history.fs.updateInterval=10"

b. 创建配置文件spark-defaults.conf,并增加如下配置
bigdata@ubuntu1:~/run/spark/conf$ cp spark-defaults.conf.template spark-defaults.conf
bigdata@ubuntu1:~/run/spark/conf$ cat spark-defaults.conf
......
spark.master                     spark://ubuntu1:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://ubuntu1:9000/sparkHistoryLogs
spark.eventLog.compress          true
spark.history.updateInterval     5
spark.history.ui.port            7777
spark.history.fs.logDirectory    hdfs://ubuntu1:9000/sparkHistoryLogs

c. 创建slaves,并增加如下配置
bigdata@ubuntu1:~/run/spark/conf$ cp slaves.template slaves
bigdata@ubuntu3:~/run/spark/conf$ cat slaves
......
# A Spark Worker will be started on each of the machines listed below.
ubuntu1
ubuntu2
ubuntu3

至此,在一台主机上部署spark已完成。


四. 部署spark到主机ubuntu2 ubuntu3

为了部署方便,直接拷贝ubuntu1上的spark目录到ubuntu1 ubuntu2
bigdata@ubuntu1:~/run$ tar -zcvf spark-2.1.0-bin-hadoop2.7.tar.gz spark-2.1.0-bin-hadoop2.7/
bigdata@ubuntu1:~/run$ scp spark-2.1.0-bin-hadoop2.7.tar.gz ubuntu2:/home/bigdata/run
bigdata@ubuntu1:~/run$ scp spark-2.1.0-bin-hadoop2.7.tar.gz ubuntu3:/home/bigdata/run
至ubuntu2 ubuntu3解压

ubuntu2: 
bigdata@ubuntu2:~/run$ tar -zxvf spark-2.1.0-bin-hadoop2.7.tar.gz
bigdata@ubuntu2:~/run$ ln -s spark-2.1.0-bin-hadoop2.7 spark

ubuntu3: 
bigdata@ubuntu3:~/run$ tar -zxvf spark-2.1.0-bin-hadoop2.7.tar.gz
bigdata@ubuntu3:~/run$ ln -s spark-2.1.0-bin-hadoop2.7 spark

至此,spark已部署到三机主机上。


五. 运行spark

bigdata@ubuntu1:~/run/spark/sbin$ ./start-all.sh 
在ubuntu1上查看spark进程,包含worker和master
bigdata@ubuntu1:~/run/spark/sbin$ jps -l
1520 org.apache.spark.deploy.worker.Worker
1433 org.apache.spark.deploy.master.Master
1627 sun.tools.jps.Jps

在ubuntu2 ubuntu3上查看spark进程,只有worker
bigdata@ubuntu2:~/run$ jps -l
1057 sun.tools.jps.Jps
961 org.apache.spark.deploy.worker.Worker

查看页面:
访问:http://10.3.19.171:8080/

查看job历史记录, 先启动hadoop:
bigdata@ubuntu1:~/run/hadoop/sbin$ ./start-all.sh
bigdata@ubuntu1:~/run/spark/sbin$ ./start-history-server.sh 
访问:http://10.3.19.171:7777/


六. 运行自己的JavaWordCount程序


获取程序源码通过:
使用mvn package命令编译得到jar包:mysparkdemo-0.0.1.jar
将mysparkdemo-0.0.1.jar包上传到目录 /home/bigdata/run/spark
至此执行程序已准备好。

创建一文本文件,程序会统计此文本中各单词出现的次数。
bigdata@ubuntu1:~/run/spark$ touch hello.txt
bigdata@ubuntu1:~/run/spark$ cat LICENSE > hello.txt
将hello.txt文件拷贝到hdfs上
bigdata@ubuntu1:~/run/spark$ hdfs dfs -mkdir -p /user/bigdata
bigdata@ubuntu1:~/run/spark$ hdfs dfs -copyFromLocal hello.txt /user/bigdata/hello.txt
bigdata@ubuntu1:~/run/spark$ hdfs dfs -cat /user/bigdata/hello.txt

执各程序命令:
bigdata@ubuntu1:~/run/spark/bin$ ./spark-submit --class com.ai.apark.demo.JavaWordCount --master spark://ubuntu1:7077 ../mysparkdemo-0.0.1.jar hello.txt









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值