搭建hadoop/spark集群環境
hadoop和spark集群的搭建,主要用到了hadoop2.5.2、spark1.2.0、scala2.11.4
hadoop2.5.2的安裝可以參照
http://blog.csdn.net/greensurfer/article/details/39450369
jdk下載地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
hadoop下載地址
http://mirrors.cnnic.cn/apache/hadoop/common/
這篇文章中沒有說配置環境的事,我在這里簡單說一下,為了能使虛機啟動后環境變量就直接可用,我將jdk和hadoop直接配置到~/.bashrc文件中
# set java environment export JAVA_HOME=/usr/lib/java/jdk1.7.0_71 export SCALA_HOME=/usr/lib/scala/scala-2.11.4 export SPARK_HOME=/usr/local/spark/spark-1.2.0-bin-hadoop2.4 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/hadoop/hadoop-2.5.2/bin:$SCALA_HOME/bin:$SPARK_HOME/bin
配置完成后,使用source使命令生效
我主要說一下spark集群的安裝
先去scala和spark的官網下載scala-2.11.4.tgz、spark-1.2.0-bin-hadoop2.4.tgz
安裝scala
創建目錄
mkdir /usr/lib/scala
在新建的目錄中解壓scala
tar zxvf scala-2.11.4.tgz
將scala添加到環境變量中
vim ~/.bashrc
在文件最下面添加
export SCALA_HOME=/usr/lib/scala/scala-2.11.4 export PATH=$PATH:$SCALA_HOME/bin
保存退出后,用source使命令生效
source ~/.bashrc
查看scala是否安裝成功
[root@master scala]# scala -version Scala code runner version 2.11.4 -- Copyright 2002-2013, LAMP/EPFL
這樣在master上就完成了scala的安裝,由于spark要運行在master、slave1、slave2三個虛機上,所以我們可以用scp命令將~/.bashrc從master拷貝到slave機器上
安裝spark
創建目錄
mkdir /usr/local/spark
將已下載的spark-1.2.0-bin-hadoop2.4.tgz解壓到此目錄中
tar zxvf spark-1.2.0-bin-hadoop2.4.tgz
設置環境變量
vim ~/.bashrc
在文件中添加一行
export SPARK_HOME=/usr/local/spark/spark-1.2.0-bin-hadoop2.4
修改文件的PATH為
export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin
如果要把jdk和hadoop也一起加入的話,那最后結果為
# set java environment export JAVA_HOME=/usr/lib/java/jdk1.7.0_71 export SCALA_HOME=/usr/lib/scala/scala-2.11.4 export SPARK_HOME=/usr/local/spark/spark-1.2.0-bin-hadoop2.4 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/hadoop/hadoop-2.5.2/bin:$SCALA_HOME/bin:$SPARK_HOME/bin
使用source使命令生效
source ~/.bashrc
配制spark,進入到spark的conf目錄
[root@master scala]# cd /usr/local/spark/spark-1.2.0-bin-hadoop2.4/conf
使用cp命令復制一份spark-env.sh
cp spark-env.sh.template spark-env.sh
修改此文件,在文件末尾添加
###jdk安裝目錄 export JAVA_HOME=/usr/lib/java/jdk1.7.0_71 ###scala安裝目錄 export SCALA_HOME=/usr/lib/scala/scala-2.11.4 ###spark集群的master節點的ip export SPARK_MASTER_IP=192.168.1.3 ###指定的worker節點能夠最大分配給Excutors的內存大小 export SPARK_WORKER_MEMORY=1g ###hadoop集群的配置文件目錄 export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.5.2/etc/hadoop
修改conf目錄下面的slaves文件將worker節點都加進去
[root@master conf]# cat slaves # A Spark Worker will be started on each of the machines listed below. master slave1 slave2
保存退出,這樣master中spark就安裝完成了,slave節點和maser一樣的設置
成功后如下圖
另外說一些實用的界面
查看spark-shell狀態
http://master:4040/stages/
查看sprak中worker的狀態
http://master:8080
查看dfs(datanode)的狀態
http://master:50070
查看nodes的狀態
http://master:8088