# Notebook 常见问题
如何还是无法解决,请企微联系海聪AI平台服务热线
# ssh连接不上
大概率是sshd server被意外停止了,请在notebook内执行下面命令启动
/usr/sbin/sshd -p 32389 -o "PermitRootLogin yes" -o "PubkeyAuthentication yes" -o "PasswordAuthentication yes" -o "ClientAliveInterval 30" -o "ClientAliveCountMax 2880"
# notebook保存失败
请确保每次notebook保存时,占用空间增量(即相比上一次保存时的增加量)小于4094MB,建议安装环境时少量多次保存。如果保存失败,请先卸载冗余的包或尝试通过以下命令查找冗余文件并清理。
du -h / --max-depth=1
du -h /root/.cache --max-depth=1
将无用临时数据删除掉,再尝试保存
# notebook页面无法访问
如果是因为不小心点击了大文件夹目录,导致notebook异常卡住,请按如下指示恢复:
1.通过ssh进入notebook,请阅读本地终端SSH登录章节
2.在终端执行
ps aux | grep "/usr/bin/python3 /usr/local/bin/jupyter-lab --allow-root --no-browser" | awk '{print $2}' | xargs kill -9
# tensorboard访问方法
1.在notebook内命令行执行(只替换logdir,其它不动)
tensorboard --host=${MY_POD_IP} --port=8887 --path_prefix=/ --logdir=/xxxxxx
example:
tensorboard --host=${MY_POD_IP} --port=8887 --path_prefix=/ --logdir=/workspace/cpfs-data/result/log
2.浏览器访问网址
http://{region}-{notebookId}-8887.notebook.huya.info/
其中,region值有两个:gz2-huyahy和sh-ali,分别对应广州汇云和上海阿里两个集群
notebookId值为当前开放tensorboard所对应的notebook ID值
广州汇云eg:
http://gz2-huyahy-10395-8887.notebook.huya.info/
上海阿里集群eg:
http://sh-ali-10395-8887.notebook.huya.info/
# 浏览器兼容问题
推荐使用 Chrome 浏览器
# 如何保存中间结果(持久化存储)
请阅读Notebook数据持久化储存章节,可将中间结果保存到持久化目录中,避免因 notebook 关闭而丢失。
# Notebook页面终端内如何使用复制粘贴?
Mac:
command + c # 复制
command + v # 粘贴
Windows:
ctrl + insert # 复制
shift + insert # 粘贴
# 或者使用浏览器本身的复制粘贴
右键复制
右键粘贴
# 如何将自己Notebook里的数据拷贝到别人Notebook里
假如需要将自己Notebook的路径为 /workspace/nas-data/test 目录拷贝到小A的Notebook对应目录 /workspace/nas-data/hello/test 上,可按如下步骤操作:
这里使用rsync进行拷贝,rsync相较于scp好处是支持增量拷贝,支持断点续传。
首先查看小A的Notebook的内网IP地址是多少,在小A的notebook命令行里执行 ip address :
root@notebook-kbhte-zmkct:~# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
3: eth0@if1433: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 7a:9d:75:f5:af:39 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.210.49.57/32 brd 10.210.49.57 scope global eth0
valid_lft forever preferred_lft forever
如上所示, 10.210.49.57 这个即是小A的内网ip,然后需要让小A告诉一下他此notebook的密码是多少。
然后在自己的notebook命令行终端里,开始拷贝:
rsync -av -e 'ssh -p 32389' /workspace/nas-data/test root@10.210.49.57:/workspace/nas-data/hello/
注意替换上面命令中的源路径、目标路径和目标内网ip,然后就可以看到拷贝过程了,数据量大的话请耐心等待。
- 切记:注意和对方沟通要目标路径要保存到哪里,避免意外覆盖对方已有数据!
# 如何在研测机器和Notebook之间互拷数据
- 先登录到研测机器,确保有带上私钥,可以执行
ssh-add -L查看,有一大串秘钥输出则正常 - 编辑
vim ~/.ssh/config,写入下面内容:
Host *
ForwardAgent yes
- 执行拷贝,示例如下:
# 请替换下面的username为你oa名,替换notebook_ip为你的notebook ip,替换两个路径,即可
scp -r -P 32389 -o ProxyCommand='ssh -p 32200 -q username@fort.huya.com -W %h:%p' root@notebook_ip:/path/to local_path
# Jupyter notebook点击运行没反应
一般是由于升级了ipykernel导致的,尝试降低版本修复。
pip3 install ipykernel==5.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 在Notebook上使用Spark
任意带一个python3.7的镜像即可,比如:registry-haiyan.local.huya.com/machine-learn/platform_python:py37_v3.0
使用如下命令装一下py4j:pip3 install py4j -i https://pypi.tuna.tsinghua.edu.cn/simple
然后参考这里,设置一下hadoop权限:点击这里跳转 (opens new window)
然后就能正常用了,下面是示例代码:
import sys
sys.path.append('/data/apps/spark/python')
import os
from pyspark import SparkConf, SparkContext
from pyspark.sql import SparkSession
os.environ["HADOOP_USER_NAME] = "dw_xxx@tokenxxxxxxxxxx" # 请替换这个为前面获取到的hadoop权限token
conf = SparkConf()
conf.set("spark.sql.crossJoin.enabled", "true")
conf.set('spark.yarn.queue','dplat.cm')
conf.set("spark.hadoop.hive.exec.dynamic.partition.mode","nonstrict")
conf.set("spark.sql.sources.partitionOverwriteMode","dynamic")
sc = SparkContext(conf=conf)
spark = SparkSession.builder.appName('app').enableHiveSupport().getOrCreate()
#spark.sql("set hive.exec.dynamic.partition.mode=nonstrict")
df = spark.sql("select 1")
注意,请把代码中的spark.yarn.queue根据下表中的对应关系,替换为你们部门组的队列,避免把任务提交到其它部门去了(如果表中未找到,请联系zhangjiahuang咨询使用哪个)。
| spark.yarn.queue | 一级部门 | 二级部门 |
|---|---|---|
| abtest_cm | 业务研发线 | 数据决策技术部 |
| adhoc2_ops_dis2_cm | 基础保障部 | 基础运维组 |
| bistat_ana_cm | 数据技术部 | 经营分析中心 |
| bistat_gov_cm | 数据技术部 | 经营分析中心 |
| bistat_midp_cm | 数据技术部 | 经营分析中心 |
| bml_cm | 业务研发线 | 数据决策技术部 |
| content_cm | 内容线 | 内容线 |
| dplat_cm | 基础保障部 | 大数据平台组 |
| dw_cm | 数据技术部 | 数据治理中心 |
| huyaee_cm | 业务研发线 | 工程效能 |
| li0svr_cm | 业务研发线 | 虎牙直播研发部 |
| liweb_cm | 业务研发线 | 虎牙直播研发部 |
| misc_cm | 基础保障部 | 大数据平台组 |
| mix0cube_cm | 数据技术部 | 数据治理中心 |
| next_cm | 创新内容部 | NEXT项目组 |
| ops_cm | 基础保障部 | 基础运维组 |
| udb_cm | 业务研发线 | 运营平台技术部 |
| video0net_cm | 音视频网络技术部 | 音视频数据组 |
# 安装pip包时空间不够
请修改临时缓存文件夹试试:TMPDIR=/workspace/nas-data/tmp
比如:
# 可选:建议先清理掉缓存,释放空间来安装
rm -rf /root/.cache/pip
# 替换torch为你待安装的包
mkdir /workspace/nas-data/tmp
TMPDIR=/workspace/nas-data/tmp pip3 install -U --no-cache torch -i https://pypi.huya.info/simple/
小提示
请不要将TMPDIR环境变量设置为全局生效,因为这个环境不单pip会用到,其它很多库也可能会用到,设为全局可能会潜在影响其它库正常运行
# vscode网页端使用copilot
- 点击左侧"Account" -> "Sign in with GitHub to use GitHub Copilot (1)"
- 弹窗点击"Copy & Continue to GitHub"
- 弹窗点击"open",跳转虎牙copilot授权页面,等待授权完成
具体可参考以下gif

目前已知问题:
- ubuntu18及以下版本 无法正常使用copilot插件,若需要使用,请将镜像升级到ubuntu20或以上版本