0.大前提
我们在编写Python程序的时候都会觉得Jupyter超级适合入门使用,而且可以实时的看到每一步的执行,所以在练习Spark程序的时候,如果也可以使用Jupyter就好了,那么这也是这一篇文章的初衷~
首先无论是在windows中还是在Linux中都要实现安装好python3的环境,在此基础中我们再安装好jupyter,毕竟jupyter是基于python3的。
在windows中和Linux安装jupyter非常简单,在换源之后直接使用pip install jupyter即可(如果有特殊情况报错,比如虽然是换源了,但是下载的时候仍然报错,此时直接使用 在pip 命令 中 通过 -i 参数 指定一个国内的源安装即可);但是在Linux中有时候会缺少对应的中文字符集,我们需要手动的添加到系统的。
1.Windows中
可能不用配置hadoop,但是在windows中我经常会用到,所以就一起配置了;所以未测试!
(1).部署python环境(当前版本:3.7)
直接双击安装包即可,在安装时需要勾选添加到PATH中。
(2).部署java环境(当前版本:jdk1.8)
直接双击安装包即可,其会自动将环境变量加入到PATH中。
(3).部署Hadoop(当前版本:2.7)
将下载好的hadoop解压,配置HADOOP_HOME,再配置到PATH环境变量中,然后在windows环境中需要额外添加一个exe文件(winutils.exe)
(4).部署spark(当前版本:2.44)
将根据Hadoop版本编译好的spark解压,然后配置SPARK_HOME,再配置到PATH环境变量中。
(5).部署spylon-kernel
这个是在jupyter中使用spark中的关键了。直接依次使用以下两条命令安装即可:
pip install spylon-kernel
python -m spylon_kernel install
(6).查看当前的jupyter中已安装内核
使用以下命令即可查看到当前环境中有"python3"和"spylon-kernel"两个内核:
jupyter kernelspec list
(7).启动jupyter服务,然后新建即可
jupyter notebook
2.Linux中
这里测试了没有安装hadoop,直接安装jupyter-spark;测试通过!
(1).部署jdk(1.8)
解压、配置环境变量
(2).部署Scala(2.11)
解压、配置环境变量
(3).部署Spark(2.44)
-
解压、配置环境变量;
-
修改spark-env.sh
export SPARK_MASTER_IP=master
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export JAVA_HOME=/usr/local/jdk
- 拷贝jar包
# 拷贝spark目录中yarn目录下的jar包到==> hadoop的yarn目录下
源目录:/usr/local/spark/yarn/spark-2.4.4-yarn-shuffle.jar
目的目录:/usr/local/hadoop/share/hadoop/yarn
- 注意在yarn-site.xml中需要有以下关于spark的配置
<!-- 当需要Spark程序要运行在 yarn中时,需要更改以下配置 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>spark_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
<value>org.apache.spark.network.yarn.YarnShuffleService</value>
</property>
<!--配置yarn的主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
(4),安装 toree 和 jupyter-spark
这里直接采用的默认方式进行安装的,并没有设置--master spark地址和--kernal_name 等,直接指定的--spark_home,然后进行安装的。
pip3 install toree
jupyter toree install --spark_home=/usr/local/spark
(5).查看当前的jupyter中已安装内核
使用以下命令即可查看到当前环境中有"python3"和"apache_toree_scala"两个内核:
jupyter kernelspec list
(6).启动jupyter服务,然后新建即可
jupyter notebook --allow-root
网友评论