P01_Spark开发测试运行环境安装Spark开发测试运行环境安装
Spark开发测试运行环境安装
VirtualBox下载地址 https://www.virtualbox.org/wiki/Downloads
image.png
操作系统下载地址 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:WindowsSystem32driversetchosts,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
image.png
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文件中(方便好用)
- 关于Android PullTorefreshScrollview回到顶部实例
- 《笨办法学Python》 第2课手记
- 《笨办法学Python》 第1课手记
- 《笨办法学Python》 第40课手记
- 很经典的GDB调试命令,包括查看变量,查看内存
- 《笨办法学Python》 第39课手记
- 《笨办法学Python》 第38课手记
- 01背包及其变种(物品无限背包、恰好装满背包)
- 《笨办法学Python》 第35课手记
- github pages + Hexo + 域名绑定搭建个人博客增强版
- 责任链模式
- 《笨办法学Python》 第33课手记
- 《笨办法学Python》 第32课手记
- 《笨办法学Python》 第31课手记
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法