常见问题

1 基本信息

1.1 问:如何获得GeneDock账号?

答:登录 www.genedock.com, 点右上角“注册”创建GeneDock账号。

1.2 问:使用GeneDock平台需要哪些硬件和软件的要求?

答:运行GeneDock平台提供的公共工作流,只需要可联网的电脑即可。希望用户使用chrome、safari或者firefox等现代浏览器。如果希望自己创建私有工具、运行私有工作流,你需要使用docker,详见《如何制作镜像》

1.3 问:如何找到access id和access key?

答:登录genedock.com网站,进入账户设置页面,切换到 “AccessKey”菜单,详见《数据传输工具》

1.4 问:什么是“域”?如何选择域?聚道目前有多少个域?

答:地域(简称“域”,Region)指的是GeneDock的服务节点(详见《主要概念》)。

用户可根据自己的网络设施,选择不同的服务节点使用,例如北方用户主要使用北京域,南方用户主要使用深圳域,具体可咨询聚道的售前工程师。

目前GeneDock有北京和深圳和两个域。当某个域的资源无法满足客户需求时(如计算资源等),客户可以联系我们的工作人员进行域的切换。

2 数据相关

2.1 问:如何上传、下载数据?

答:GeneDock数据传输工具提供完善的数据传输服务,详见《数据传输工具》

2.2 问:上传、下载数据没有速度怎么办?

答:由于数据上传下载受到网络运营商等因素影响,我们建议您更换网络环境重新尝试。若问题依然存在,可以联系我们的工程师。

2.3 问:我的数据客户端会被杀毒软件报毒怎么办?

答:您无需担心GDC(GeneDock Data Client)数据客户端的安全性。
GDC基于对您数据安全性考虑,对您的核心信息进行了加密封装,可能因此导致某些杀毒软件由于不能“开箱 检查”而造成误报,例如Avast。
您需要手动将GDC添加到Avast软件的白名单中,步骤如下:
1.打开Avast用户界面,“设置(Settings)” > “通用(General)”
2.将GDC的本地路径添加到 “排除项(Exclusions)” > “文件路径(File paths)”中
3.点击“添加(Add)”即可生效
如下图所示
avast

2.4 问:在 windows 7 上使用数据客户端访问 FTP 存储搭建的私有云服务时,为何数据上传下载失败?

答:由于 windows 7 操作系统防火墙对 Java FTPClient 被动模式连接存在小问题,导致从私有云 FTP 服务传输数据失败。不过您不用担心,只需要按照微软官方说明:http://support.microsoft.com/kb/2754804,点击“修补程序下载可用”后,输入邮箱地址下载补丁,安装后重启即可。如图所示
ftp-client-does-not-establish

2.5 问:启动图形化数据客户提示计算机中丢失 api-ms-win-crt-runtimel1-1-0.dll ?

答:请根据您的操作系统版本,下载并安装相应的 “Visual C++ Redistributable for Visual Studio 2015” 包。x86 | x64。安装成功后重启电脑即可。

注意:如果在 Windows 7 上安装 Visual C++ 2015 失败,请先安装 KB976932 系统更新。更新方式参考微软官方支持 “安装 Windows 7 Service Pack 1 (SP1)”

2.6 问:在 Linux 上传输 FastQ 数据失败,日志显示 “…version `GLIBCXX_3.4.17’ not found.” ?

答:您可以通过下面命令查看系统当前支持 GLIBCXX 版本。

mkdir temp
cp genedock-data-client/genedock-lib/library/genedock-official-java-sdk-1.1.0.jar ./temp/
cd temp
unzip genedock-official-java-sdk-1.1.0.jar
ldd dsrcjava.so

结果如下:

./dsrcjava.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by ./dsrcjava.so)
    linux-vdso.so.1 =>  (0x00007ffd087f8000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fe0c678d000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe0c6577000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fe0c61e2000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fe0c5f5e000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003b43400000)

通过上面结果中的 /usr/lib64/libstdc++.so.6 文件可以查看当前支持 GLIBCXX 版本,如下:

[root@centos-2 temp]# ll /usr/lib64/libstdc++.so.6  # 查看 libstdc++.so.6 指向
lrwxrwxrwx. 1 root root 19 5月  21 16:35 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
[root@centos-2 temp]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX  # 查询 GLIBCXX 版本
GLIBCXX_3.4
...
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

可见当前最高支持 GLIBCXX_3.4.13。您需要安装/更新系统 gcc 程序至 4.8 或以上的版本,安装/更新成功后 /usr/lib64/libstdc++.so.6 指向也会自动更新,此时已经支持 GLIBCXX_3.4.17,如下:

[root@centos-2 ~]# ll /usr/lib64/libstdc++.so.6
lrwxrwxrwx. 1 root root 19 5月  22 09:53 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.25
[root@centos-2 ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
...
GLIBCXX_3.4.17
...
GLIBCXX_3.4.25
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

3 镜像相关

3.1 问:上传到GeneDock上的镜像怎么删除呢?

答:目前不提供删除,上传一个同样名字和标签的镜像,可以替换掉原来的镜像。

3.2 问:从Docker Hub 下载镜像慢怎么解决?

答:由于Docker Hub在国内没有使用CDN(Content Delivery Network,内容分发网络),及运营商分配的国际出口带宽小等原因造成下载慢,可以使用Docker加速器,比如DaoCloud的免费服务。

3.3 问:使用Ubuntu操作系统的apt-get安装软件时速度慢怎么解决?

答:官方镜像中的源一般都是国外的源( archive.ubuntu.com )。由于国内网络的原因,连接archive.ubuntu.com很有可能非常慢。因此容器内的baseimage中使用国外源的话,而容器在国内运行,apt-get update会非常慢。可以修改/etc/apt/sources.list,把软件源换成国内地址,可以在Ubuntu中文Wiki中查找到源列表。请注意,sources.list文件需要与您所使用的Ubuntu系统的版本对应。详见《如何制作镜像》

3.4. 问:使用Ubuntu操作系统的apt-get安装软件报“Hash 校验和不符”怎么解决?

答:该报错主要由于Ubuntu 下载的索引文件不是来自指定的软件源,而是网络服务提供商的缓存,可以通过如下2种方法解决:

  • 使用代理:修改/etc/apt/apt.conf,添加一行:Acquire::http::Proxy "http://yourproxyaddress:proxyport";
  • 修改docker daemon(守护进程)使用的DNS:启动Docker Daemon的时候设定DOCKER_OPTS,添加–dns参数。

3.5 问:上传比较大的镜像总失败,是否有什么好的建议?

答:根据用户所在的网络环境的不同,上传镜像的速度会不同。

建议用户在做Dockerfile的时候,减少每一层的命令内容,避免上传某一层,由于内容太多而超时。

Dockerfile最好增加一些减少镜像体积的命令行。尽量控制镜像在3GB以内。

或者修改docker daemon使用的DNS。

4 工具相关

4.1 问:不知道所写的命令行模版是否正确怎么办?

答:在测试栏中填写输入文件,点击命令行即可看到替换输入输出项的shell脚本。

shell

5 工作流相关

5.1 问:为什么提示node_id、enid、工作流名称等非法?

答:提示非法的原因是不符合命名规范,请根据下面具体的命名规范进行检查:

项目 首字符 其他字符 字符长度 是否支持中文
node id 字母和下划线”_” 字母、数字、下划线 - 不支持
enid 字母和下划线”_” 字母、数字、下划线 - 不支持
工作流命名 字母 字母、数字、短横线”-“、下划线”_” 3~128个字符 不支持

5.2 问:为什么运行工作流时会显示“编译失败,请检查参数设置是否正确”?

答:造成该问题的原因可能很多,但大多数是由于工具或者工作流配置导致的。例如:

  • 输入的文件与工具对应输入项所允许的文件格式不符;
  • 工具中对应的参数与工作流中对应的参数不服;很有可能是由于修改了工具,但是没有修改包含该工具的工作流;
  • 配置工具中,命令行模板编写不对,如拼写错误等等。

6 任务相关

6.1 问:在与GeneDock的工作人员交流时,经常提到的task id是什么?如何查询?

答:task id是我们系统使用识别“任务”的一个24位的字符串。提供task id可以方便我们工作人员快速定位到你所提交的任务。其实不光有task id,我们的数据(enid)也使用了全局唯一的id。这些id可以通过浏览器的地址栏来进行查询(如下图显示的是task id)。

taskid

6.2 问:运行任务,显示waiting,是什么意思?

答:任务的运行有几种状态,success、waiting、failed、submit等。waiting指的是任务已经提交,但是还在等待云端分配资源。如果你长时间显示waiting(如超过12小时),很可能是由于你要求的资源过多或者资源类型比较特别,请及时联系GeneDock 技术支持人员。

6.3 问:是否可以自动运行工作流,批量提交任务呢?

答:GeneDock提供基于HTTP协议的REST风格API,可以与系统中的工具(Tool)、工作流(Workflow)、任务(Task)进行交互。其中ActivateWorkflow可以用于运行指定工作流,实现批量提交任务的功能。SDK是对API的封装,使用它可以更方便的调用我们的API。

目前GeneDock提供python版Java版的SDK。

我们还提供工作流命令行客户端,进一步方便客户使用。