官网下载的spark比较贴心,它预编译了hadoop和scale,而且可以单机运行,不需要复杂的配置,只需要java环境就可以了。相比以前学习hadoop的时候,光是配置hadoop和hbase就够呛的了。
下面是比较仔细的安装过程,包括虚拟机安装,java安装,spark安装,ipython安装等。
1.virtualbox安装ubuntu
下载ubuntu 64位的,然后使用virtualbox安装。
安装比较简单,新建虚拟机,然后挂载ubuntu.iso镜像,网络设置建议断网,或者仅主机(host-only)适配器(此时也是断网的),因为如果联网的话安装过程中会下载一些更新,这其实是不需要的。
安装的用户名和密码,sudo的密码要牢记,建议统一设置为:用户zhenyu,密码abc123
启用root用户
ubuntu默认是没有启用root用户的,启用root用户的步骤是:
$ sudo passwd
Password: <--- 输入安装时那个用户的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
passwd:已成功更新密码
安装virtualbox增强工具,不然ubuntu就只能800*600的分辨率。
2.ubuntu安装ssh服务
这是远程操作虚拟机所必需的,为什么要远程操作虚拟机呢,因为这比较快,真的,如果直接在虚拟机里面的terminal里面操作,有卡顿的现象。如果你配置过hadoop分布式集群,就算是虚拟机里面的集群,同样是要安装ssh,而且是免密钥登陆的ssh。在实际的生产环境中就是远程操作,更贴近实际。
步骤如下
1.网络设置用“网络地址转换NAT”
2.sudo apt-get install openssh-server
如果提示没有这个模块,多半是要更新下载源
sudo apt-get update
之后再执行 sudo apt-get install openssh-server
3.命令行ps -e |grep ssh
出现下面的说明ssh安装成功,但是
后来发现只有sshd也是可以的。
sshd
ssh-agent
4.关闭防火墙 sudo ufw disable
,否则 xshell 无法连接
5.关闭虚拟机,修改网络连接方式为 host–only
6.重启ubuntu,输入 ifconfig 查看IP地址
7.开启xshell,新建连接,然后输入主机IP,端口默认22,用户名,密码即可登陆
3.备份与重建
首先删除不必要的软件,比如
empaty聊天,thunderbird邮件,浏览器,python3.5,茄子大头贴,游戏,office程序,remmina远程桌面客户端,电影播放器,音乐播放器,等
删除缓存和不需要的软件包
这时候可以备份虚拟机文件ubuntu.vdi,如果以后ubuntu虚拟机有什么问题,可以直接从备份文件恢复即可,省得再次安装和配置,也可以在等后面的java,ipython,spark等都安装好了再备份。
重建虚拟机的方法
1.重装virtualbox
2.新建虚拟电脑
3.选择ubuntu,Linux64 bit
4.硬盘文件,选择现有的虚拟磁盘文件,而不是新建虚拟硬盘文件。
5.选择上次备份的ubuntu.vdi文件
6.启动虚拟机即可
4.安装java8
1.从oracle官网下载linux32位对应的jdk文件jdk-8u73-linux-x64.tar.gz
2.打开xshell的sftp窗口,直接将java8文件拖到/home/zhenyu目录下,下面的spark1.6也可以这样直接上传至虚拟机,很方便吧。
3.解压,然后重命名文件夹
为什么要重命名,我也不知道,反正我成功了。
$ tar -zxvf jdk-8u77-linux-x64.tar.gz
$ mv jdk1.8.0_77 jdk8
4.将文件夹移动到安装目录/usr/local/
$ sudo mv jdk8 /usr/local/
5.配置环境变量
打开/etc/profile文件,在文件最后加上如下几行:
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
如果使用ubuntu的terminal窗口,更方便
$ sudo gedit /etc/profile
此时会打开profile文件,就行windows的记事本一样编辑即可。
使之生效
$ source /etc/profile
7.查看java版本
java -version
javac
8.后来发现一个更加方便的方法,就是要在线下载oracle安装包可能有些耗时。
# 添加软件源
sudo add-apt-repository ppa:webupd8team/java
# 更新软件源
sudo apt-get update
# 安装 jdk1.8
sudo apt-get install oracle-java8-installer
# 查看 java 安装路径
sudo update-alternatives --config java
sudo update-alternatives --config javac
# 查看 java 安装后的版本
java -version
5.安装spark
1.spark官网下载 spark-1.6.0-bin-hadoop2.4.tgz
2.打开xshell的sftp窗口,然后将spark-1.6.0-bin-hadoop2.4.tgz拖至 /home/zhenyu 目录下
3.解压并重命名
$ tar -zxvf spark-1.6.0-bin-hadoop2.4.tgz
$ mv spark-1.6.0-bin-hadoop2.4 spark1.6
4.启动spark-shell
cd spark1.6/bin
./spark-shell
启动python-spark
./pyspark
启动ipython-spark
IPYTHON=1 ./bin/pyspark
启动ipython-notebook
IPYTHON_OPTS="notebook" ./bin/pyspark
降低日志输出级别
将 conf/log4j.properties.template 复制一份为 conf/log4j.properties
修改
log4j.rootCategory=INFO, console
—>log4j.rootCategory=WARN, console
5.将spark/bin添加至环境变量,其实可要可不要的
打开终端并输入:sudo gedit /etc/environment
在PATH=”….”的末尾处添加:/home/zhenyu/spark1.6/bin
使其立即生效,在终端执行:source /etc/environment
或者重启电脑即可。
5.2或者设置当前用户环境变量
打开终端并输入:sudo gedit ~/.bashrc
在其末尾添加:export PATH=/home/zhenyu/spark1.6/bin:$PATH
使其立即生效,在终端执行:source ~/.bashrc
或者重启电脑即可。
6.安装anaconda的python2.7版本
将Anaconda2-2.5.0-Linux-x86_x64.sh上传至虚拟机,然后
$ sudo bash ./Anaconda3-2.3.0-Linux-x86_64.sh
一路回车即可,有yes|no的地方输入yes
添加至环境变量
export PATH="/home/username/anaconda/bin:$PATH"
export PATH="/home/zhenyu/anaconda3/bin:$PATH"
这样就可以替换默认的python版本了
7.虚拟机内存
尽量加大虚拟机的运行内存,比如4G,默认只有700多M。
这样在运行spark的时候就不会出现内存错误。
8.安装R语言
从revaluation R网站(前段时间被微软收购了)下载ubuntu版本的R,注意,revaluation R只提供64位的R语言。
打开xshell的sftp窗口,然后将R-3.2.3-64bit-for-ubuntu.deb拖至 /home/zhenyu 目录下,如果下载的R有中文名,修改为没有中文的。
sudo dpkg -i R-3.2.3-64bit-for-ubuntu.deb
提示没有libgfortran3,安装 sudo apt-get install libgfortran3
安装目录是 /usr/lib64/RRO/R-3.2.2/bin/R.
启动R:在terminal窗口输入R即可。
注意:在启动ipython的时候会出错,百度一下,发现是虚拟内存不够,于是分配4G,后面的一切都很顺利。