Jupyterhub是一个支持多用户的Notebook服务器,用于创建、管理和代理多个Jupyter Notebook实例。本文为您介绍如何访问Jupyterhub的Web UI,以及Jupyterhub的使用示例。
前提条件
已创建DataScience集群。
集群安全组中已打开12443端口。
获取主节点的公网IP地址
进入集群管理页签。
在顶部菜单栏处,根据实际情况选择地域和资源组。
单击上方的集群管理页签。
在集群管理页面,单击相应集群所在行的详情。
在集群基础信息页面的主机信息区域,获取主节点的公网IP地址。
添加Linux用户
访问Jupyterhub的Web UI
添加12443端口到安全组。
详情请参见添加安全组规则。
访问Web UI。
在浏览器地址栏输入https://<主节点公网IP地址>:12443,即可访问相应的Web UI。
主节点公网IP地址的获取方式请参见获取主节点的公网IP地址。
示例
本文通过以下三种方式为您展示Jupyterhub的使用:
WordCount
通过SSH方式连接集群。
详情请参见登录集群。
创建测试数据hello.txt,内容如下:
hello world hello alibaba hello taobao
创建测试数据的上传目录。
hadoop fs -mkdir hdfs://emr-header-1:9000/user/spark/
上传测试数据至HDFS。
hadoop fs -put hello.txt hdfs://emr-header-1:9000/user/spark/
在Jupyterhub页面,选择
。访问Jupyterhub的Web UI,详情请参见访问Jupyterhub的Web UI。
拷贝如下代码至Cell中并单击运行。
代码如下:
import findspark findspark.init() from pyspark import SparkContext, SparkConf try: sc.stop() except: pass conf = SparkConf().setAppName("wordcount").setMaster("local") sc = SparkContext(conf = conf) lines = sc.textFile("hdfs://emr-header-1:9000/user/spark/hello.txt") words = lines.flatMap(lambda line:line.split()) pairs = words.map(lambda word:(word,1)) counts = pairs.reduceByKey(lambda a,b:a + b) counts.countByKey() print(counts.collect())
此方式支持local和yarn-client模式,不支持yarn-cluster模式,仅spark-submit方式支持yarn-cluster模式。
返回结果如下:
MatPlot
在Jupyterhub页面,选择
。访问Jupyterhub的Web UI,详情请参见访问Jupyterhub的Web UI。
拷贝如下代码至Cell中并单击运行。
代码如下:
import numpy as np from matplotlib import pyplot as plt ys = 200 + np.random.randn(100) x = [x for x in range(len(ys))] plt.plot(x,ys,'_') plt.fill_between(x,ys,195,where=(ys>195),facecolor = 'g',alpha = 0.6) plt.title('Fills and alpha example') plt.show()
返回结果如下:
spark-submit
通过SSH方式连接集群。
详情请参见登录集群。
执行如下命令,查找JAR包。
find / -name spark-examples_2.11-2.4.5.jar
本示例返回信息如下所示:
/opt/apps/ecm/service/spark/2.4.5-hadoop2.8-2.0.1/package/spark-2.4.5-hadoop2.8-2.0.1/examples/jars/spark-examples_2.11-2.4.5.jar
进入JAR包目录。
cd /opt/apps/ecm/service/spark/2.4.5-hadoop2.8-2.0.1/package/spark-2.4.5-hadoop2.8-2.0.1/examples/jars/
根据相应模式提交Spark任务。
local模式
spark-submit --master local --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.5.jar 100
yarn-client模式
spark-submit --master yarn-client --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.5.jar 100
yarn-cluster模式
spark-submit --master yarn-cluster --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.5.jar 100
安装numpy包
您可以根据以下步骤,安装numpy包至Jupyterhub环境中。
通过SSH方式连接集群。
详情请参见登录集群。
执行如下命令,安装numpy包。
conda install -c conda-forge numpy -n jt
如果您使用的是Worker节点,则需要先给Worker节点开公网IP,再执行安装命令。Worker节点开通公网IP的详情,请参见Worker节点开通公网IP。
- 本页导读 (1)
- 前提条件
- 获取主节点的公网IP地址
- 添加Linux用户
- 访问Jupyterhub的Web UI
- 示例
- 安装numpy包