standalone
hdfs:namenode是主节点进程,datanode是从节点进程
yarn:resourcemanager是主节点进程,nodemanager是从节点进程
hdfs和yarn是hadoop里面的节点进程信息
在spark里面有
master:主节点进程
worker:从节点进程
使用standalone模式:
将$SPARK_HOME/conf/目录下的slaves.template修改为slaves后添加主机名,如果有5个台机器就应该进行如下slaves的配置hadoop001~hadoop005
如果是多台机器,那么每台机器都在相同的路径下部署spark
将$SPARK_HOME/conf/目录下的spark-env.sh.template修改为spark-env.sh并添加JAVA_HOME的环境变量,否则会报错
配置完成后启动
在$SPARK_HOME/sbin/目录下执行./start-all.sh,通过jps检测会有Master和Worker两个节点进程,就说明standalone模式安装成功。
web界面访问:
MasterWebUI:http://hadoop000:8080
spark提交作业时指定的端口:spark://hadoop000:7077
提交作业到standalone模式
$SPARK_HOME/bin/执行./pyspark --master spark://hadoop000:7077
standalone模式spark-submit运行
$SPARK_HOME/bin/执行./spark-submit --master spark://hadoop000:7077 --name spark-standalone /home/hadoop/script/spark0402.py hdfs://hadoop000:8020/hello.txt hdfs://hadoop000:8020/wc/output
如果使用standalone模式,而且节点个数大于1的时候,如果使用本地文件测试,必须要保证每个节点上都有本地测试文件,可以直接用hdfs进行测试。
例如:hdfs://hadoop000:8020/hello.txt hdfs://hadoop000:8020/wc/output
yarn运行模式
spark on yarn(spark作为客户端,spark需要做的事情是提交作业到yarn上执行)
yarn和standalone的区别:
yarn模式:只需要一个节点,然后提交作业即可,不需要spark集群的(不需要启动Maser和Worker)
standalone模式:在spark集群上的每个节点都需要部署spark,然后需要启动spark集群(需要Maser和Worker进程节点)
启动yarn:
$SPARK_HOME/bin/执行./spark-submit --master yarn --name spark-yarn /home/hadoop/script/spark0402.py hdfs://hadoop000:8020/hello.txt hdfs://hadoop000:8020/wc/output
运行yarn模式前提是需要指定hadoop_conf_dir或者yarn_conf_dir的配置文件目录
将$HADOOP_HOME/etc/hadoop目录,添加到$SPARK_HOME/conf/目录下的spark-env.sh文件中。例如:HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
yarn支持client和cluster模式:driver运行在哪里
client:提交作业的进程是不能停止的否则作业就挂了
cluster:提交完作业,那么提交作业端就可以断开,因为driver是运行在am里面的
pyspark/spark-shell:交互式运行程序,只能运行在client里面
如何查看已经运行完的yarn的日志信息:yarn logs -applicationId <applicationId>
日志聚合参看:10小时入门Hadoop大数据中的5-12 JobHistory使用