Spark叢集環境搭建並測試
阿新 • • 發佈:2018-12-19
不在此處介紹spark了,直接上步驟, spark環境需要jdk 、Scala環境 、下載hadoop 和是spark,jdk的安裝十分簡單,下面介紹其他三個步驟。
環境介紹
三臺虛擬機器
hadoop1 192.168.46.129 centos 2g
hadoop2 192.168.46.128 centos 2g
hadoop3 192.168.46.130 centos 2g
一、環境搭建
1.1 scala下載
解壓至指定資料夾
1.2 hadoop下載
解壓後進入配置檔案目錄 cd /etc/hadoop
配置mapred-site.xml
#cp mapred-site.xml.template mapred-site.xml
修改如下
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master.hadoop1:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master.hadoop1:19888</value> </property> </configuration>
編輯hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop-2.6.5/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop-2.6.5/hdfs/data</value> </property> </configuration>
注意檔案目錄位置,沒有的話自行建立
編輯core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/bigdata/hadoop-2.6.5/tmp</value>
<description>Abase for other temporary directories</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
</configuration>
1.3 spark下載
進入配置檔案conf,將spark-env.sh.template 和slaves.template各複製一份
編輯saprk-env.sh
export LD_LIBRARY_PATH=${HADOOP_HOME}/lib/native
export JAVA_HOME=/usr/local/jdk1.8.0_181
export SPARK_MASTER_IP=192.168.46.129
編輯slaves
192.168.46.129
192.168.46.128
192.168.46.130
三個環境配置完成,新增環境變數,請根據個人的目錄配置
export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/bigdata/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export SCALA_HOME=/usr/local/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin
完成後可以通過 scala 命令驗證scala是否新增好。
二、測試環境是否配置好
此處通過在spark-shell中執行一個簡單的wordcount來測試環境
首先啟動hdfs
#進入hadoop目錄,執行下面命令
#hdfs初始化
#bin/hdfs namenode -format
#sbin/start-dfs.sh
#建立hdfs目錄並上傳一個本地檔案
#bin/hdfs dfs -mkdir /input
#bin/hdfs dfs -put test.txt /input test.txt為當前目錄下建立的一個檔案 並隨意寫入幾個單詞
進入spark目錄,進行測試
執行
#sbin/start-all.sh
#bin/spark-shell
進入互動介面
scala> val file=sc.textFile("hdfs://192.168.46.129:9000/input/test.txt")
file: org.apache.spark.rdd.RDD[String] = hdfs://192.168.46.129:9000/input/test.txt MapPartitionsRDD[1] at textFile at <console>:24
scala> val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
count: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[4] at reduceByKey at <console>:25
scala> count.collect()
res0: Array[(String, Int)] = Array((is,1), (tom,2), (hello,3))
執行以上幾個命令,可以看到最後輸出了(is,1), (tom,2), (hello,3) 的資訊。