安裝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上該目錄不存在
			
				
			
			
	
	
	
	
	
	
	
	
	
	
相關文章
相關標籤/搜索