安装spark ha集群

安装spark ha集群 

1.默认安装好hadoop+zookeeper
2.安装scala
	1.解压安装包
		tar zxvf scala-2.11.7.tgz
	2.配置环境变量
		vim /etc/profile
		
		#scala
		export SCALA_HOME=/opt/scala-2.11.7
		
		#CLASSPATH
		export CLASSPATH=$CLASSPATH:$SCALA_HOME/lib
		
		#PATH
		export PATH=$PATH:$SCALA_HOME/bin
		
		保存退出
		
		source /etc/profile
	3.验证
		scala -version
				
3.安装spark
	1.解压安装包
		tar zxvf spark-1.6.0-bin-hadoop2.4.tgz
	2.配置环境变量
		vim /etc/profile
		
		#spark
		export SPARK_HOME=/opt/spark-1.6.0
		
		#CLASSPATH
		export CLASSPATH=$CLASSPATH:$SPARK_HOME/lib
		
		#PATH
		export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
		
		保存退出
		
		source /etc/profile
		
	3.修改配置文件
		1.根据模板复制相关配置文件
			cp spark-env.sh.template spark-env.sh
			cp slaves.template slaves
			cp log4j.properties.template log4j.properties
			cp spark-defaults.conf.template spark-defaults.conf
		2.创建相关目录
			mkdir /opt/spark-1.6.0/logs
			mkdir /opt/spark-1.6.0/tmp
			hadoop fs -mkdir /spark //在hdfs上创建存储spark的任务日志文件
		3.修改配置文件参数
			####spark-env.sh#### 最后加入 其中hadoop.master为主节点 hadoop.slaver1为备份主节点
			export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop.master:2181,hadoop.slaver1:2181 -Dspark.deploy.zookeeper.dir=/spark"
			export JAVA_HOME=/usr/java/jdk1.8.0_65
			export SPARK_WORKER_CORES=1
			export SPARK_WORKER_INSTANCES=1
			export SPARK_WORKER_MEMORY=1g
			
			####slaves####将所有的从节点主机名加入
			hadoop.slaver1
			hadoop.slaver2
			hadoop.slaver3
			
			####log4j.properties####
			无需修改
			
			
			####spark-defaults.conf####
			spark.eventLog.enabled  true
			spark.eventLog.dir      hdfs://ns1:8020/spark
			spark.history.fs.logDirectory      hdfs://ns1:8020/spark
			spark.eventLog.compress true
			
	4.分发到各个节点
		scp -r /opt/spark-1.6.0 hadoop@hadoop.slaver1:/opt
		scp -r /opt/spark-1.6.0 hadoop@hadoop.slaver2:/opt
		scp -r /opt/spark-1.6.0 hadoop@hadoop.slaver3:/opt
	5.启动
		//先启动zookeeper 和 hdfs
		sbin/start-all.sh   //注意切换目录  不然跟hadoop的start-all 冲突
		
		spark-shell --master spark://hadoop.master:7077  //集群模式启动客户端
		spark-shell     //单机模式启动客户端
	6.验证
		1.jps
		2.web
			节点主机名:8080  //如果采用默认端口的話则是8080  主节点web
			节点主机名:18080  //主节点 历史任务web
			节点主机名:4040   //子节点正在进行任务web
		3.HA
			在备份主机节点执行 start-master.sh命令
			然后在主机节点把master进程kill掉,此时会自行切换至备份节点(需要几秒钟的缓冲时间)
	7.常用命令
		1.启动
			start-all.sh  //注意切换目录
			start-master.sh
			stop-master.sh
			start-slave.sh 主节点:7077  //默认端口  如果不修改的話
			start-history-server.sh   //启动任务历史服务
		2.使用
			1.本机模式
				运行 spark-shell
			2.yarn
				打包运行jar包
				spark-submit 
				--master spark://spark113:7077 
				--class org.apache.spark.examples.SparkPi 
				--name Spark-Pi --executor-memory 400M 
				--driver-memory 512M 
				/opt/spark-1.6.0/lib/spark-examples-1.6.0-hadoop2.4.0.jar
			3.wordcount
				val file=sc.textFile("hdfs://ns1:8020/huangzhijian/test.dat")
				val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
				count.saveAsTextFile("hdfs://ns1:8020/output")  //需保证hdfs上该目录不存在
			
				
			
			
	
	
	
	
	
	
	
	
	
	

  

原文地址:https://www.cnblogs.com/ciade/p/5174691.html