sudo tar -zxf ~/download/spark-2.0.2-bin-without-hadoop.tgz -C /usr/local/ cd /usr/local sudo mv ./spark-2.0.2-bin-without-hadoop/ ./spark sudo chown -R hadoop ./spark配置环境变量
在Mster节点主机的终端中执行如下命令:
vim ~/.bash_profile
在.bash_profile添加如下配置:
export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
执行如下命令使得配置立即生效:
source ~/.bash_profileSpark配置
在Master节点主机上进行如下 *** 作:
配置slaves文件将 slaves.template 拷贝到 slaves
cd /usr/local/spark/ cp ./conf/slaves.template ./conf/slaves
slaves文件设置Worker节点。编辑slaves内容,把默认内容localhost替换成如下内容:
master slave01 slave02
配置spark-env.sh文件将 spark-env.sh.template 拷贝到 spark-env.sh
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
编辑spark-env.sh,添加如下内容:
export SCALA_HOME=/usr/local/src/scala-2.13.5 export JAVA_HOME=/usr/local/src/jdk1.8.0_144 export HADOOP_HOME=/usr/local/src/hadoop-2.6.0 export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.6.0/etc/hadoop #export SPARK_MASTER_IP=master #export SPARK_WORKER_MEMORY=1g #export SPARK_EXECUTOR_MEMORY=1g #export SPARK_DRIVER_MEMORY=500m #export SPARK_WORKER_CORES=2 export SPARK_HOME=/usr/local/src/spark-2.0.1-bin-without-hadoop export SPARK_DIST_CLASSPATH=$(/usr/local/src/hadoop-2.6.0/bin/hadoop classpath) export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.retainedApplication=30 -Dspark.history.fs.logDirectory=hdfs://mycluster/directory" #下面这个决定spark是否高可用 export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=Master:2181,Worker1:2181,Worker2:2181 -Dspark.deploy.zookeeper.dir=/spark"
SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址;
修改sprak-default.conf的内容如下:
# Example:# spark.master spark://master:7077spark.eventLog.enabled truespark.eventLog.dir hdfs://mycluster/directory # spark.serializer org.apache.spark.serializer.KryoSerializer # spark.driver.memory 5g # spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
配置好之后使用scp将整个spark包发送到集群机器上,并且发送.bash_profile文件并且source.
启动Spark集群 启动Hadoop集群启动Spark集群前,要先启动Hadoop集群。在Master节点主机上运行如下命令:
cd /usr/local/hadoop/sbin/start-all.sh启动Spark集群
启动Master节点在Master节点主机上运行如下命令,ui访问8080:
cd /usr/local/spark/sbin/start-master.sh
在Master节点上运行jps命令,可以看到多了个Master进程:
15093 Jps 14343 SecondaryNameNode 14121 NameNode 14891 Master 14509 ResourceManager
启动所有Slave节点在Master节点主机上运行如下命令:
sbin/start-slaves.sh
分别在slave01、slave02节点上运行jps命令,可以看到多了个Worker进程
37553 DataNode 37684 NodeManager 37876 Worker 37924 Jps
在浏览器上查看Spark独立集群管理器的集群信息在master主机上打开浏览器,访问http://master:8080
如果是高可用可以在任意的机器上使用start-master.sh启动达成spark高可用,然后kill掉之前的master,过一会zookeeper更新就可以看见第二台master状态转变为Active,并且转移了task到自身。
如需启动spark的历史服务器如下指令,ui访问18080
start-history-server.sh
测试loacl模式,求派案例
**bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://master:7077,slave1:7077,slave2:7077 \ --executor-memory 1G \ --total-executor-cores 2 \ ./examples/jars/spark-examples_2.11-2.1.1.jar \ 100**
注意:提交的任务会在console上直接可视的执行,也就是client模式
测试cluster模式,求派案例
**bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://master:7077,slave1:7077,slave2:7077 \ --deploy-mode cluster \ --executor-memory 1G \ --total-executor-cores 2 \ ./examples/jars/spark-examples_2.11-2.1.1.jar \ 100**
注意:提交的任务不会直接在console上可视的执行,而是直接被提交到spark节点上执行,可以查看ui观察运行成功与否。
如需看job页面需要预先启动spark-shell,才可以访问4040端口
Yarn模式
需要先修改hadoop的yarn-site.xml
yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false
测试案例
bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn \--deploy-mode client \./examples/jars/spark-examples_2.11-2.1.1.jar 0
关闭Master节点
sbin/stop-master.sh
关闭Worker节点
sbin/stop-slaves.sh
关闭Hadoop集群
cd /usr/local/hadoop/sbin/stop-all.sh
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)