Spark开发测试运行环境安装
VirtualBox下载地址
https://www.virtualbox.org/wiki/Downloads
操作系统下载地址
http://mirrors.aliyun.com/
https://mirrors.aliyun.com/centos/6.9/isos/x86_64/
在Windows下安装CentOS虚拟机,并配置网卡
- 使用课程提供的镜像:CentOS-6.8-i386-minimal.iso。
- 创建虚拟机:打开Virtual Box,点击“新建”按钮;输入虚拟机名称为sparkproject1,选择操作系统为Linux,选择版本为Red Hat;分配1024MB内存;后面所有选项全部用默认的设置;注意,在Virtual disk file location and size中,一定要自己选择一个目录来存放虚拟机文件;最后点击“create”按钮,开始创建虚拟机。
- 设置网卡(桥接网卡):选择创建好的虚拟机,点击“设置”按钮,在网络一栏中,连接方式中,选择“Bridged Adapter”,即桥接网卡。
- 安装CentOS 6.8操作系统:选择创建好的虚拟机,点击“开始”按钮;选择安装介质(即本地的CentOS 6.8镜像文件);选择第一项开始安装-Skip-欢迎界面Next-选择默认语言-Baisc Storage Devices-Yes, discard any data-主机名:sparkproject1-选择时区-设置初始密码为hadoop-Replace Existing Linux System-Write changes to disk-开始安装。
- 安装完以后,会提醒你要重启一下,就是reboot,reboot就可以了。
配置Linux网卡
- 先临时性设置虚拟机ip地址:ifconfig eth0 192.168.1.110,在/etc/hosts文件中配置本地ip到host的映射
- 配置windows主机上的hosts文件:C:\Windows\System32\drivers\etc\hosts,192.168.1.110 sparkproject1
- 使用SecureCRT从windows上连接虚拟机
- 永久性配置CentOS网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.110
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
- 重启网卡
service network restart
关闭防火墙
service ip6tables stop
service iptables status
service ip6tables status
chkconfig ip6tablesoff
vi /etc/selinux/config
在win7的控制面板中,关闭windows的防火墙!如果不关闭防火墙的话,就怕,可能win7和虚拟机直接无法ping通!
配置DNS服务器
1、配置DNS服务器
nameserver 114.114.114.114
ping www.baidu.com
解决无法访问外网的问题
即使更换了ip地址,重启网卡,可能还是联不通网。那么可以先将IPADDR、NETMASK、GATEWAY给删除,将BOOTPROTO改成dhcp。然后用service network restart重启网卡。此时linux会自动给分配一个ip地址,用ifconfig查看分配的ip地址。然后再次按照之前说的,配置网卡,将ip改成自动分配的ip地址。最后再重启一次网卡。
安装JDK 1.7
JDK 1.7下载地址
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
1、将jdk-7uXX-linux-i586.rpm上传到虚拟机中
2、安装JDK:rpm -ivh jdk-7uXX-linux-i586.rpm
3、配置jdk相关的环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
4、测试jdk安装是否成功:java -version
scala下载地址
http://www.scala-lang.org/blog/announcements/
安装spark Standalone
spark下载地址
http://spark.apache.org/downloads.html
1、将spark-1.6.3-bin-hadoop2.6.tgz使用xftp上传到/usr/local目录下。
2、解压缩spark包:tar -zxvf spark-1.6.3-bin-hadoop2.6.tgz
3、重命名spark目录:mv spark-1.6.3-bin-hadoop2.6 spark
4、修改spark环境变量
vi /etc/preofile
export PATH=$SPARK_HOME/bin
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source /etc/preofile
修改spark-env.sh文件
1、cd /usr/local/spark/conf
2、cp spark-env.sh.template spark-env.sh
3、vi spark-env.sh
export JAVA_HOME=/usr/java/latest
export SCALA_HOME=/usr/local/scala
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
测试环境
用yarn-client模式提交spark作业
--class org.apache.spark.example.JavaSparkPi \
--master yarn-client \
--num-executors 1 \
--driver-memory 10m \
--executor-memory 10m \
--executor-cores 1 \
/usr/local/spark/lib/spark-examples-1.6.3-hadoop2.6.jar \
用yarn-cluster模式提交spark作业
/usr/local/spark/bin/spark-submit \
--class org.apache.spark.example.JavaSparkPi \
--master yarn-cluster \
--num-executors 1 \
--driver-memory 10m \
--executor-memory 10m \
--executor-cores 1 \
/usr/local/spark/lib/spark-examples-1.6.3-hadoop2.6.jar \
安装第二台和第三台虚拟机
1、安装上述步骤,再安装两台一模一样环境的虚拟机。
2、另外两台机器的hostname分别设置为sparkproject2和sparkproject3即可
3、在安装的时候,另外两台虚拟机的centos镜像文件必须重新拷贝一份,放在新的目录里,使用各自自己的镜像文件。
4、虚拟机的硬盘文件也必须重新选择一个新的目录,以更好的区分。
5、安装好之后,记得要在三台机器的/etc/hosts文件中,配置全三台机器的ip地址到hostname的映射,而不能只配置本机,这个很重要!
6、在windows的hosts文件中也要配置全三台机器的ip地址到hostname的映射。
配置集群ssh免密码登录
1、在三台机器的/etc/hosts文件中,都配置对三台机器的ip-hostname的映射
2、首先在三台机器上配置对本机的ssh免密码登录
生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
ssh-keygen -t rsa
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
cd /root/.ssh
cp id_rsa.pub authorized_keys
3、接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i spark命令将本机的公钥拷贝到指定机器的authorized_keys文件中(方便好用)