centos安装使用的是CentOS-7-x86_64-DVD-1708.iso 
root登录ssh

 

 

设置开机自动联网

vim /etc/sysconfig/network-scripts/ifcfg-ens33

根据其他资料显示,ifcfg-en33文件名不定,命名规则总是ifcfg-xxx,文件内容如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1bf1d746-36b1-4812-9295-9bdbe339b3a5
DEVICE=ens33
ONBOOT=no

将最后一行ONBOOT=no修改为ONBOOT=yes,保存退出。

配置linux环境

安装后续会用到的各种东西,其实缺啥补啥就行,只是每次补足缺少的东西,总要重新编译,很费劲。

yum install -y gcc zlib zlib-devel openssl-devel sqlite-devel

最后几行如下 
这里写图片描述

更改openjdk为java jdk

有啥用?不清楚,只是听说java jdk更好,所以瞎折腾。

卸载openjdk

rpm -qa | grep openjdk

结果如下: 
这里写图片描述
这几个openjdk都要卸载,依次执行以下命令

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64

再次执行rpm -qa | grep openjdk检查是否卸载干净。结果如下: 
这里写图片描述

安装java jdk

cd /usr/local

把java jdk拽进来,我用的jdk-8u151-linux-x64.tar.gz

tar -zxvf jdk-8u151-linux-x64.tar.gz
mv ./jdk1.8.0_151 ./java/ # 名字太长,改个名字

修改java jdk环境变量

vim /etc/profile

文末增加以下内容

#java jdk
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

保存退出,source /etc/profile使之生效。输入javac查看,再使用java -version查看如果正确安装,结果如下: 
这里写图片描述

安装python

cd /usr/local

把下载好的python拽进去,没有现成的wget下载一个也行。这里用的是Python-3.6.4.tgz

tar -zxvf Python-3.6.4.tgz
cd Python-3.6.4/
mkdir /usr/local/python3 # 创建安装文件夹,python3就安装在这里
./configure --prefix=/usr/local/python3 # 编译,指定安装目录
make && make install # 如果上一步没有安装依赖包,会提示出错,缺啥补啥,重新编译就完了。

配置python环境变量

看其他资料,一般都是使用ln -s /usr/local/python3/bin/python3 /usr/bin/python3创建软连接,不过个人不太习惯,因为接下来要设置python中搜索spark的环境变量,而用软连接这种方法,我不会设置,囧,因此还是使用修改环境变量的方法。 
命令行输入vim /etc/profile,文末增加以下内容

#python
export PYTHON_HOME=/usr/local/python3
export PATH=$PYTHON_HOME/bin:$PATH

保存退出,source /etc/profile使之生效。命令行输入python3 -Vpip3 -V如果正确安装,会分别返回如下结果:

Python 3.6.4
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)

安装Jupyter

pip3 install jupyter

安装成功截图如下: 
这里写图片描述
进入虚拟机,使用终端打开jupyter

source /etc/profile # 首次使用需要重新source使配置生效
jupyter notebook

命令行结果如下: 
这里写图片描述 
最终会打开jupyter如下: 
这里写图片描述

安装单机spark

cd /usr/local

把spark拽进来,我用的是spark-2.2.1-bin-hadoop2.7.tgz

tar -zxvf spark-2.2.1-bin-hadoop2.7.tgz
mv ./spark-2.2.1-bin-hadoop2.7 ./spark # 名字太长不看,改短

设置spark环境变量

vim /etc/profile

文末增加以下内容:

#spark
export SPARK_HOME=/usr/local/spark
export PATH=$SPARK_HOME/bin:$PATH
#add spark to python
export PYTHONPATH=/usr/local/spark/python

输入source /etc/profile使之生效,输入pyspark检查是否安装成功,如果正确安装,会返回如下界面: 
这里写图片描述

将pyspark与jupyter连接

打开vim /etc/profile配置环境变量。 
文末增加如下内容:

#add pyspark to jupyter
export PYSPARK_PYTHON=/usr/local/python3/bin/python3 # 因为我们装了两个版本的python,所以要指定pyspark_python,否则pyspark执行程序会报错。
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

回到虚拟机,打开终端,执行以下命令

source /etc/profile
pyspark

命令行结果如下: 
这里写图片描述

最终会打开jupyter,我们在jupyter中新建python3脚本。

输入sc检查pyspark是否成功启动,如果结果如下,说明pyspark成功启动。

这里写图片描述

使用jupyter运行一个spark案例

求π

import random
num_samples = 1000
def inside(p):     
    x, y = random.random(), random.random()
    return x*x + y*y < 1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi = 4 * count / num_samples
print(pi)
3.184

这里写图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐