• 关于

    通道地址不可用

    的搜索结果

问题

网络规划

chenchuan 2019-12-01 21:33:52 437 浏览量 回答数 0

问题

云服务器ECS企业版怎样进行网络规划?

boxti 2019-12-01 21:37:01 1469 浏览量 回答数 0

问题

批量服务器向VPC迁移方案

远途 2019-12-01 21:13:54 6891 浏览量 回答数 4

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

网络的安全性:内网

知与谁同 2019-12-01 21:34:45 1265 浏览量 回答数 0

回答

具体数字代表的含义如下: 600 某操作处于挂起状态。 601 检测到一个无效端口句柄。 602 指定端口已经打开。 603 呼叫方缓冲区太小。 604 指定了错误的信息。 605 无法设置端口信息。 606 无法连接指定端口。 607 检测到无效事件。 608 指定了一个不存在的设备。 609 设备类型不存在。 610 缓冲区无效。 611 路由不可用。 612 路由没有分配。 613 指定了无效的压缩。 614 缓冲区不足。 615 没有找到端口。 616 某异步请求处于挂起状态。 617 端口或设备已经断开。 618 端口没有打开。 619 不能建立到远程计算机的连接,因此用于此连接的端口已关闭。 620 没有端点。 621 无法打开电话簿文件。 622 无法加载电话簿文件。 623 无法找到电话簿项。 624 无法写入电话簿文件。 625 在电话簿中发现的无效信息。 626 无法加载字符串。 627 无法找到键。 628 在连接完成之前,连接被远程计算机终止。 629 数据链接被远程计算机终止。 630 由于硬件失败,端口断开连接。 631 用户已断开端口连接。 632 结构大小不正确。 633 端口已经在使用或没有为“远程访问”拨出配置端口。 634 无法在远程网络注册计算机。 635 未知错误。 636 错误的设备连接到端口。 637 字符串无法转换。 638 请求超时。 639 没有可用的异步网络。 640 发生 NetBIOS 错误。 641 服务器无法分配支持客户端所需的 NetBIOS 资源。 642 已在远程网络上注册了一个 NetBIOS 名称。 643 服务器上的网络适配器出现故障。 644 将无法接收网络弹出式消息。 645 内部身份验证错误。 646 不允许此帐户在一天的这一时间段登录。 647 本帐户已禁用。 648 密码已过期。 649 帐户没有“远程访问”的权限。 650 “远程访问”服务器没有响应。 651 调制解调器(或其他设备)报告了一个错误。 652 设备响应无法识别。 653 没有在设备 .INF 文件部分发现设备所必需的宏。 654 设备 .INF 文件部分中的命令或响应引用到未定义的宏。 655 在设备 .INF 文件部分未发现 宏。 656 在设备 .INF 文件部分中的 宏含有未定义的宏。 657 无法打开设备 .INF 文件。 658 设备 .INF 文件或媒体 .INI 文件中的设备名太长。 659 媒体 .INI 文件引用了未知的设备名。 660 设备 .INF 文件不包含对该命令的响应。 661 设备 .INF 文件缺少一条命令。 662 试图设置一个没有列在设备 .INF 文件部分的宏。 663 媒体 .INI 文件引用了未知的设备类型。 664 无法分配内存。 665 端口不是为“远程访问”配置的。 666 调制解调器(或其他设备)不起作用。 667 无法读取媒体 .INI 文件。 668 连接已除去。 669 媒体 .INI 文件中的用法参数无效。 670 不能从媒体 .INI 文件中读取部分名称。 671 不能从媒体 .INI 文件中读取设备类型。 672 不能从媒体 .INI 文件中读取设备名称。 673 不能从媒体 .INI 文件中读取使用方法。 674 不能从媒体 .INI 文件中读取最大连接 BPS 速率。 675 不能从媒体 .INI 文件中读取最大载波 BPS 速率。 676 线路忙。 677 人工应答而不是调制解调器应答。 678 远程计算机没有响应。 679 无法检测载波。 680 没有拨号音。 681 设备报告的常见错误。 691 拒绝访问,因为用户名和/或密码在域中无效。 692 端口或连接的设备内的硬件故障。 695 未启动状态机器。 696 已启动状态机器。 697 响应循环未完成。 699 设备响应引起缓冲区溢出。 700 设备 .INF 文件中的扩展命令太长。 701 设备移动到 COM 驱动程序不支持的 BPS 速率。 703 连接需要用户信息,但应用程序不允许用户交互。 704 回拨号码无效。 705 授权状态无效。 707 出现与 X.25 协议有关的错误。 708 本帐户已过期。 709 在域中修改密码的错误。 710 与调制解调器通信时检测到串口超载错误。 711 在此计算机上的配置错误阻止此连接。 712 Biplex 端口正在初始化。等几秒钟再重拨。 713 没有活动的 ISDN 线路可用。 714 没有足够的 ISDN 通道可用于呼叫。 715 电话线质量太差而产生了太多的错误。 716 “远程访问 IP”配置不能用。 717 在“远程访问 IP”地址的静态池中没有可用的 IP 地址。 718 因为远程计算机没有及时反应,此连接已被终止。 719 PPP 已被远程计算机终止。 720 无法建立与远程计算机的连接。可能需要更改此连接的网络设置。 721 远程计算机没响应。 722 PPP 数据包无效。 723 电话号码(包含前缀及后缀在内)太长。 726 不能同时将 IPX 协议用于多个端口的拨出。 728 找不到连接到“远程访问”的 IP 适配器。 729 只有在安装了 IP 协议之后,才能使用 SLIP。 731 未配置协议。 732 PPP 协商没有会合。 733 不能完成到远程计算机的连接。 734 PPP 链接控制协议被终止。 735 请求的地址被服务器拒绝。 736 远程计算机终止了控制协议。 737 检测到环回。 738 服务器没指定地址。 739 远程服务器不能使用加密的密码。 740 为“远程访问”配置的 TAPI 设备无法初始化或没有正确安装。 741 本地计算机不支持加密。 742 远程服务器不支持加密。 743 远程服务器要求加密。 752 处理脚本时遇到语法错误。

元芳啊 2019-12-02 00:44:12 0 浏览量 回答数 0

回答

一、如何接入花呗渠道 1、满足花呗准入条件 需要满足签约的app支付接口支持花呗准入。 注意:如何核实签约的销售方案是否支持可联系95188进行确认。 2、如何实现花呗扣款 方式一:支付页面选择花呗支付 调用接口唤起支付页面后,有多个支付渠道可以选择进行支付,此时,让用户选择花呗支付即可。 如果用户账户不满足花呗支付要求,如花呗额度不够等,支付页面将提示该功能暂不支持。 方式二:设置花呗单一模式。 在支付接口中设置enable_pay_channels(可用渠道)。 在enable_pay_channels(可用渠道)设置pcredit(花呗)。 在biz_content内传递的数据(多渠道使用逗号隔开)示例如下: "enable_pay_channels":"pcredit,moneyFund,debitCardExpress" 注意:支付渠道只限制了花呗,若用户账户不满足花呗支付要求,将无法继续支付。 支付渠道设置了花呗、余额宝、银行卡等多个渠道,根据用户在支付页面选择的支付渠道进行扣款。 二、如何接入花呗分期渠道 1、签约花呗分期 签约地址:可点击【花呗分期签约】进行操作。 完成签约之后即可使用花呗分期,签约准入上有任何问题可联系商户客服。 请到【商家服务中心】在线咨询或拨打商家服务热线95188咨询,服务时间为:8:00-24:00。 2、接入说明 在满足花呗准入的前提下,才能够使用花呗分期进行收款,准入后有以下两种可选方式: 注:如何核实签约的销售方案是否花呗准入可联系95188进行确认。 方式一:单通道模式 开发者需要将花呗分期参数传入到 extend_params 中,格式如下: "extend_params":{"hb_fq_num":"3","hb_fq_seller_percent":"100"} (1)hb_fq_num 代表花呗分期数,仅支持传入 3、6、12,其他期数暂不支持,传入会报错; (2)hb_fq_seller_percent 代表卖家承担收费比例,商家承担手续费传入 100,用户承担手续费传入 0,仅支持传入 100、0 两种,其他比例暂不支持,传入会报错。 若需要在单通道模式中进行限制,只能选择花呗分期,可参考接入: 在支付接口中再多传递enable_pay_channels(可用渠道)。 推荐:在enable_pay_channels(可用渠道)中设置pcreditpayInstallment(花呗分期)。 在biz_content内传递的数据(多渠道使用逗号隔开)示例如下: "enable_pay_channels":"pcreditpayInstallment" 方式二:标准收银台模式 支付宝标准收银台展示花呗分期渠道(仅支持用户承担手续费),无需额外签约花呗分期,且无需进行额外的花呗分期参数的透传开发工作,可以直接在支付宝标准收银台中展示出花呗分期渠道。 若需要在收银台模式中进行限制,只能选择花呗分期,可参考改方式接入: 在支付接口中设置enable_pay_channels(可用渠道)。 推荐:在enable_pay_channels(可用渠道)中设置pcreditpayInstallment(花呗分期)。 在biz_content内传递的数据(多渠道使用逗号隔开)示例如下: "enable_pay_channels":"pcreditpayInstallment" 注意: (1)展示效果在收银台页面呈现,仅支持用户承担手续费,且用户可自主选择3、6、12期等。 (2)支付渠道只限制了花呗分期,若用户账户不满足花呗分期支付要求,将无法继续支付。 (3)支付渠道设置了花呗分期、余额宝、银行卡等多个渠道,根据用户在收银台页面选择的支付渠道进行扣款。

保持可爱mmm 2020-05-06 09:23:06 0 浏览量 回答数 0

问题

E-MapReduce专有网络是什么?

nicenelly 2019-12-01 21:21:42 870 浏览量 回答数 0

问题

如何更优雅的使用VPC专有网络

李博 bluemind 2019-12-01 21:57:11 3369 浏览量 回答数 0

问题

如何更优雅的使用VPC专有网络

李博 bluemind 2019-12-01 21:57:12 3256 浏览量 回答数 1

回答

在阿里云容器服务中部署了多个Kubernetes集群,每个集群位于不同的区域中。 如果最靠近用户的实例发生故障或过载,则流量将无缝地定向到另一个可用实例。基于Istio,可以轻松地跨多个区域中的Kubernetes集群实现流量统一管理。 前提条件 您已经成功创建一个 Kubernetes 集群,参见创建Kubernetes 集群。 请以主账号登录,或赋予子账号足够的权限,如自定义角色中的cluster-admin,参考子账号RBAC权限配置指导。 基于Flat网络或者VPN的多集群部署方式,多个Kubernetes集群应位于同一个VPC下网络互通,或者通过云企业网、高速通道等打通跨VPC网络的访问;同时要求Pod/Service CIDR不能冲突。 以下文档使用基于Flat网络或者VPN的多集群Istio部署方式管理服务。 背景信息 容器服务Kubernetes版(简称ACK)提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes容器化应用的全生命周期管理。 阿里云容器服务Kubernetes 1.10.4及之后版本支持部署Istio,如果是1.10.4之前的版本,请先升级到1.10.4或之后版本。 一个集群中,worker节点数量需要大于等于3个,保证资源充足可用。 配置多集群网络 同一VPC下 同一VPC下,无论集群是在同一交换机下还是多个交换机下,网络互通,多个安全组需要手工设置打通。不同安全组默认情况下不能互相访问,同一VPC下可以通过设置规则使其互通,请参见添加安全组规则。添加安全组 不同VPC下 不同VPC下,无论是否在相同地域、可用区,集群之间网络本身不能互通,需要设置VPC互通(云企业网、VPN网关、高速通道),云企业网的配置更加简单而且可以自动分发学习路由,因此,推荐您使用云企业网。 说明 VPC网络不能冲突,默认建立集群时创建的VPC网络段都是192.168.0.0/16;所以需要手工创建VPC,并指定不同的网段。 此外,多个安全组需要手工设置打通,可以参考添加安全组规则。 数据平面上的安全组添加对应的控制平面的网段:添加控制平面网段 类似地,控制平面上的安全组也同时添加相应的网段。 此外,网络规划需要提前设置好,保证2个集群内的service/pod CIDR、VPC CIDR都不能重叠。 通过集群界面部署Istio 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,进入集群列表页面。 选择所需的集群并单击操作列更多 > 部署Istio。 部署istio 针对多集群部署,根据如下信息进行配置: 与部署Istio到单个集群的方式一样,可以使用阿里云提供的控制台一键部署,请参见部署Istio。 配置 说明 启用服务就近访问 在跨区域的多集群部署中是否启用服务就近访问。默认情况下不启用。 多集群同一控制平面模式设置 不启用:不启用多集群模式。 使用Flat网络或者VPN:基于Flat网络或者VPN方式实现多集群中的网络,多集群间的 Pod 可以互通。 不使用Flat网络或者VPN:不使用Flat网络或者VPN,多集群之间仅通过网关进行交互。 单击部署 Istio,启动部署。 在部署页面下方,可实时查看部署进展及状态。查看部署状态 预期结果 单击左侧导航栏应用 > 容器组,选择部署Istio的集群及命名空间,可查看到已经部署Istio的相关容器组。查看容器组 管理Istio Ingress Gateway 上述部署 Istio之后,包含一个入口网关Ingress Gateway,该网关使用公网IP的负载均衡。通过该网关将集群中应用服务暴露到集群之外。 执行kubectl get service -n istio-system -l istio=ingressgateway,获取入口网关的公网IP地址,应用访问可以通过该Gateway进行。管理Istio网关 将数据平面加入Istio管理 在数据平面的Kubernetes集群上执行如下生成 kubeconfig 文件。 kubectl create namespace istio-system kubectl apply -f http://istio.oss-cn-hangzhou.aliyuncs.com/istio-operator/rbac.yml wget http://istio.oss-cn-hangzhou.aliyuncs.com/istio-operator/generate-kubeconfig.sh chmod +x generate-kubeconfig.sh ./generate-kubeconfig.sh ${CLUSTER_NAME} 说明 ${CLUSTER_NAME}需要在整个服务网格内保证唯一。 在Istio控制平面集群下执行如下命令。 wget http://istio.oss-cn-hangzhou.aliyuncs.com/istio-operator/create-secret.sh chmod +x create-secret.sh ./create-secret.sh ${CLUSTER_NAME} 在Istio控制平面集群上,创建并拷贝内容到${CLUSTER_NAME}.yaml文件中,并执行kubectl apply -n istio-system -f ${CLUSTER_NAME}.yaml。 apiVersion: istio.alibabacloud.com/v1beta1 kind: RemoteIstio metadata: name: ${CLUSTER_NAME} namespace: istio-system spec: autoInjectionNamespaces: - default dockerImage: region: cn-beijing gateways: k8singress: {} hub: registry.cn-beijing.aliyuncs.com/aliacs-app-catalog includeIPRanges: '*' proxy: {} security: {} sidecarInjector: enabled: true replicaCount: 1 预期结果: 可通过以下操作查看远程集群的Istio部署是否成功: 切换到远程集群,单击左侧导航栏应用 > 容器组,进入容器组页面。 选择部署Istio的集群及命名空间,可查看到已经部署Istio的相关容器组。远程查看容器组

1934890530796658 2020-03-31 15:50:40 0 浏览量 回答数 0

问题

E-MapReduce专有网络是什么?

nicenelly 2019-12-01 21:17:19 1101 浏览量 回答数 0

问题

MaxCompute用户指南:数据上传下载:工具介绍

行者武松 2019-12-01 22:01:51 1368 浏览量 回答数 0

问题

ECS怎样连接或者取消连接专有网络

boxti 2019-12-01 21:40:24 4837 浏览量 回答数 0

回答

Re:Re【第一期】周四上午10点ECS产品经理分享与答疑! 1,就是希望自己做好的环境镜像,能够跨域使用,而不是每个域都分别做自定义镜像.@竹雾:这个是一个比较重要的功能,我们正在加紧研发,预计12月。 2,还有内网服务器希望可以随时升级到外网服务器,或者从外网服务器降级到内网服务器..@竹雾:如果是包年包月实例已经可以从内网升级到外网,以及反过来操作。 3,报表希望做的更精细一些.例如我哪个SLB用了多少流量所以扣了多少余额一类的...@竹雾,谢谢您的建议,我们会做持续改进,同时也希望多多反馈。 4,因为我用SLB+ECS内网服务器,所以每次更新程序,就需要开一个按量计算的外网服务器来控制,这样很不方便而且费钱,但是如果开一个1M的外网服务器又觉得不舒服,因为不是很频繁的维护程序,所以希望有一个工具或者一个功能,能让阿里云控制台直接控制内网服务器,例如VNC管理终端就非常不错,唯一可惜的是,没办法直接从控制台上传或者下载文件,还是要很麻烦的用外网服务器控制内网服务器.@竹雾,对于上传下载文件,还是需要外网的方式访问,不过未来会以更好的方式,比如弹性IP的方式,您只需要购买一个公网IP地址已经相应的带宽,这个IP可以在不同时间绑定到不同的实例上,进行操作,不需要的时候IP可以和实例解绑。 5,自动快照现在免费的,这个功能虽然实用,但是平时不碰到问题却没啥存在感,希望增加自动删除早期快照的功能,例如我现在最多只能60个,但是满了,它不会自动删除以前的,会提示快照满了.@竹雾,你说的是自动快照吗?现在系统是会自动删除自动快照的(就是那些以auto_开头的快照),比如您的策略是保留前3天,那么4天前的自动快照会被删除的。 6,希望增加一键迁移,就是自动把北京的服务器迁移到杭州区域,换IP没关系,因为现在买错区域,测试后发现不能如意,但是还有30天过期,那样就白费了,可惜了。。@竹雾:在第1个问题的回答中,除了镜像,我们同时也做快照的复制,但是时间会稍微晚一点。这样跨地域迁移,就可以通过镜像和快照来完成。 我乱讲一下,因为我现在还不是很懂,一边学习一边实践中... @竹雾,非常感谢您的建议,期待和您做更多的交流....... ------------------------- 引用第4楼zhedianshi于2014-09-23 16:36发表的  : 能和产品经理直接线上交流的机会赞啊,有两个问题 1、磁盘原地扩容和支持卸载; 2、不同节点无缝迁移(例如把杭州ecs上的数据一键迁移到北京ecs上) @竹雾,第一个功能已经在开发通道上了,预计在12月底,第二个暂时没有一键迁移的功能,而是通过跨地域复制镜像和快照的方式完成数据转移,然后通过镜像和快照进行重新创建。 ------------------------- Re:Re【第一期】周四上午10k点ECS产品经理分享与答疑! 引用第3楼董哥于2014-09-23 14:46发表的 Re【第一期】周四上午10点ECS产品经理分享与答疑! : 跨结点和跨帐号的镜像是否可以实现,另外现在快照 只能创建机器时使用,能不能后期格式化后,直接通过快照再创数据盘呢 @竹雾,跨地域的镜像复制,可以实现,预计12月推出。跨帐号的镜像分享会在晚些时候推出,已经规划。 关于快照,建议您使用独立云磁盘,通过快照单独创建独立云磁盘后,挂载到实例上。 ------------------------- Re:Re【第一期】周四上午10点ECS产品经理分享与答疑! 引用第8楼kbyyd24于2014-09-23 17:47发表的 Re【第一期】周四上午10点ECS产品经理分享与答疑! : 好机会啊!!! 我老师让我把ECS和OSS结合使用,完全不会啊!! 老师的意思是用ECS来控制OSS存储,同时在ECS上生成OSS的上传下载日志 我刚把OSS基本弄会TT 求解救 @竹雾,不是非常明白您的场景,我猜您是要用ECS做一个前端应用,然后存储到OSS上吗?可以使用OSS API嵌到您的前端应用上来进行上传下载,同时记录这些日志到ECS上。也欢迎其他同学集思广益一下。 ------------------------- Re:Re【第一期】周四上午10点ECS产品经理分享与答疑! 引用第10楼蓝色之鹰于2014-09-23 21:18发表的 Re【第一期】周四上午10点ECS产品经理分享与答疑! : 镜像系统,重新选择操作系统。这个可以实现么? @竹雾,您是说原来您的系统是Linux,现在想换Windows吗?这个可以的,在控制台中选择更换系统盘(当然需要先停止实例)就可以了。 ------------------------- Re:Re【第一期】周四上午10点ECS产品经理分享与答疑! 引用第7楼眼缭乱花于2014-09-23 17:05发表的 Re【第一期】周四上午10点ECS产品经理分享与答疑! : 磁盘原地扩容,必须的,说是10月底,或者11月初,能不能提前呢?   @竹雾,我们的攻城狮正在紧锣密鼓的开发中,我们尽量争取早日完成,推出给大家使用。 ------------------------- Re:回23楼ECS产品PD的帖子 引用第30楼董哥于2014-09-25 10:05发表的 回23楼ECS产品PD的帖子 : 独立云磁盘,必须要同一个可用区才可以,如果不是同一个可用区,但是同一个结点这个问题,应该就没有办法通过这个问题解决了吧 @竹雾,可以的,快照和镜像是整个地域有效的,独立云磁盘不能跨可用区,但是快照和镜像可以跨可用区的。 ------------------------- Re:Re【第一期】周四上午10点ECS产品经理分享与答疑! 引用第33楼silan于2014-09-25 15:16发表的 Re【第一期】周四上午10点ECS产品经理分享与答疑! : 好,杭州的这边的VPC方案,到底什么时候能推出/试用? @竹雾,我们正在加紧部署。

ECS-产品PD 2019-12-02 00:30:44 0 浏览量 回答数 0

问题

【产品经理访谈】干货分享:ECS存储、镜像、磁盘的分享与答疑

xiaofanqie 2019-12-01 21:06:42 23915 浏览量 回答数 17

问题

词汇表是什么样的?(S-V)

轩墨 2019-12-01 22:06:08 2089 浏览量 回答数 0

回答

本文档介绍如何将开源HDFS的数据平滑地迁移到文件存储HDFS。 背景信息 当前业界有很多公司是以Hadoop技术构建数据中心,而越来越多的公司和企业希望将业务顺畅地迁移到云上。文件存储HDFS可以帮助您实现将开源HDFS的数据迁移到云上,并允许您在云上就像在Hadoop分布式文件系统中管理和访问数据。 适用范围 非阿里云Hadoop集群中的数据迁移到文件存储HDFS。 阿里云ECS自建Hadoop集群中的数据迁移到文件存储HDFS。 准备工作 在阿里云ECS创建Hadoop集群。 如果您目前的Hadoop集群是搭建在阿里云VPC网络上的阿里云ECS集群,则无需在阿里云ECS上创建新的Hadoop集群。 创建和挂载文件系统至阿里云ECS上的Hadoop集群,并将文件存储HDFS设置为fs.defaultFS,详情请参见文件存储HDFS快速入门。 验证文件系统和计算节点之间的连通性。 执行以下命令,在文件存储HDFS上创建目录(如:/dfs_links)。 hadoop fs -mkdir /dfs_links 执行以下命令,验证连通性。 hadoop fs -ls dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/dfs_links 其中f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com为文件存储HDFS挂载点域名,请根据您的实际情况进行修改。 如果命令正常执行无输出结果,则表示连通成功。如果连通失败,请参见创建文件系统实例后,为什么无法访问文件存储HDFS?进行排查。 准备迁移工具。 您可以通过Hadoop社区标准的Distcp工具实现全量或增量的HDFS数据迁移,详细的Distcp工具使用说明请参见Hadoop Distcp 工具官方说明文档。 说明 使用Distcp命令将旧集群数据迁移至文件存储HDFS时,请注意文件存储HDFS不支持以下参数,其它参数使用和Hadoop Distcp 工具官方说明文档一致。文件存储HDFS及命令行存在限制的详细信息请参见使用限制。 参数 描述 状态 -p[rbpax] r:replication,b:block-size,p:permission,a:ACL,x:XATTR 不可用 非阿里云自建Hadoop集群数据迁移 非阿里云自建Hadoop集群数据迁移到文件存储HDFS包括以下两种情况。 非阿里云自建Hadoop集群与文件存储HDFS可以实现网络互通时, 请按照以下方法进行数据迁移。 使用阿里云高速通道产品建立原集群和文件存储HDFS所在VPC网络的连通,详情请参见专线上云方案介绍。 新旧集群实现网络互通后,执行以下命令迁移数据。 hadoop distcp -m 1000 -bandwidth 30 hdfs://oldclusterip:8020/user/hive/warehouse dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/user/hive/warehouse 其中oldclusterip为原自建Hadoop集群namenode的IP地址或者域名,f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com为文件存储HDFS挂载点域名,请根据您的实际情况进行修改。 说明 为减轻现有集群资源压力,建议确保新旧集群网络连通后,在新挂载文件系统的阿里云Hadoop集群上执行数据迁移命令。 非阿里云自建Hadoop集群与文件存储HDFS无法实现网络互通时,请按照以下方法进行数据迁移。 将非阿里云自建Hadoop集群数据迁移到对象存储OSS,详情请参见离线迁移教程。 将对象存储OSS数据迁移到文件存储HDFS,详情请参见文件存储HDFS和对象存储OSS双向数据迁移。 阿里云ECS自建Hadoop集群数据迁移 阿里云ECS自建Hadoop集群数据迁移到文件存储HDFS时,包括以下两种情况: 阿里云ECS自建Hadoop集群处于经典网络环境时,请按照以下方法进行数据迁移。 通过阿里云ECS的ClassicLink建立ClassicLink连接,详情请参见建立 ClassicLink 连接。 执行以下命令迁移数据。 hadoop distcp -m 1000 -bandwidth 30 hdfs://oldclusterip:8020/user/hive/warehouse dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/user/hive/warehouse 其中oldclusterip为原自建Hadoop集群namenode的IP地址或者域名,f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com为文件存储HDFS挂载点域名,请根据您的实际情况进行修改。 阿里云ECS自建Hadoop集群处于VPC网络环境时,请按照以下方法进行数据迁移。 阿里云ECS自建Hadoop集群处于VPC网络环境时,可以直接通过VPC网络迁移数据到文件存储HDFS。迁移命令如下所示: hadoop distcp -m 1000 -bandwidth 30 hdfs://oldclusterip:8020/user/hive/warehouse dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/user/hive/warehouse 其中oldclusterip为原自建Hadoop集群namenode的IP或者域名,f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com为文件存储HDFS挂载点域名,请根据您的实际情况进行修改。 常见问题 整体迁移速度受Hadoop集群与文件存储HDFS之间的带宽、集群规模影响。同时文件越多,checksum需要的时间越长。如果迁移数据量大,建议先尝试迁移几个目录评估下整体时间。如果只能在指定时间段内迁移数据,可以将目录切为几个小目录,依次迁移。 一般全量数据同步时,需要一个短暂的业务停写过程,用来启用双写双算或直接将业务切换到新集群上。 迁移过程出现异常提示:Cannot obtain block length for LocatedBlock。 从原生的HDFS往对象存储OSS/文件存储HDFS迁移数据时,可能会遇到这个问题。遇到该问题时,请执行hdfs fsck / –openforwrite命令,检查当前是否有文件处于写入状态尚未关闭。 如果有处于写入状态的文件时,需判断文件是否有效。 如果文件无效,则直接删除文件。 hdfs rm 如果文件有效,则不能直接删除,请考虑恢复问题文件租约。 hdfs debug recoverLease -path -retries

1934890530796658 2020-03-31 02:36:06 0 浏览量 回答数 0

问题

API 如何创建?

轩墨 2019-12-01 21:06:37 1397 浏览量 回答数 0

回答

客户端错误 ErrorCode 错误代码 Message 错误信息 HTTP 状态码 OperationDenied Your account does not open SCDN service yet. 403 InsufficientBalance Your account does not have enough balance. 400 Forbidden.NotVerified Your account is not verified yet. 403 UnsupportedOperation The specified action is not supported. 400 NoSuchVersion The specified version does not exist. 400 UnsupportedParameter The parameter is not supported. 400 MissingParameter The input parameter that is mandatory for processing this request is not supplied. 400 InvalidParameter The specified parameter is not valid.Or The specified image does not support the specified instance type. 400 Throttling Request was denied due to request throttling. 400 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records. 404 Forbidden User not authorized to operate on the specified resource. 403 Forbidden.RiskControl This operation is forbidden by Aliyun Risk Control system. 403 Forbidden.AccessTooManyOthersResource This operator is forbidden because too many other one’s resource to be accessed. 403 SignatureDoesNotMatch The signature we calculated does not match the one you provided. Please refer to the API reference about authentication for details. 403 SignatureNonceUsed The request signature nonce has been used. 400 IdempotentParameterMismatch Request uses a client token in a previous request but is not identical to that request. 400 ChargeTypeViolation Operations on this kind of resources are not permitted. 403 InsufficientBalance Your account does not have enough balance. 400 QuotaExceeded Living instances quota exceeded. 400 OperationDenied Specified operation is denied as your resource is locked for security reasons. 403 RiskControl.Refused Your action was.refused by RiskControl. 400 QuotaExceeded.Snapshot Snapshot quota exceeded. 400 QuotaExceeded.Image Image quota exceeded. 400 服务器端错误 错误代码 错误信息 HTTP 状态码 InternalError The request processing has failed due to some unknown error, exception or failure. 500 ServiceUnAvailable The request has failed due to a temporary failure of the server. 503 如何调用接口 对SCDN服务接口的调用是通过向SCDN服务端发送HTTP请求(可以通过HTTP或HTTPS通道发送),并获取SCDN服务对该请求响应结果的过程。SCDN服务端在接收到用户请求后,对请求做必要的身份验证和参数验证,在所有验证成功后根据请求的指定参数提交或完成相应操作,并把处理的结果以HTTP响应地形式返回给调用者。 请求组成 请求由以下几个部分组成: HTTP方法——目前scdn服务的所有接口只支持GET方法的调用。 请求URL——请求的服务地址、要执行的操作名称、操作参数和公共请求参数都包含在请求的URL中。 服务端地址:scdn服务的域名是http://scdn.aliyuncs.com/和https://scdn.aliyuncs.com/。为了保证请求的安全性,强烈推荐您使用HTTPS通道。 (HTTPS加入了SSL层对通信进行了加密,可以防止通信被截获而导致敏感信息泄露。) 操作名称:每个接口都需要指定要执行的操作名称,即Action参数。 操作参数:根据要执行的操作不同,需要传入不同的操作参数,详见每个接口的说明。 公共请求参数:包含时间戳、签名信息等每个请求都要包含的参数。 为了使服务端能够正确地验证用户的身份并授权请求执行,请求在提交前要进行签名处理。签名的规则参见签名机制一节。 在服务端对请求处理完成后,会返回响应结果。响应结果分为成功结果和错误消息,格式描述参见JSON返回示例: { "RequestId": "4C467B38-3910-447D-87BC-AC049166F216", /* 返回结果数据 */ } 返回结果一节。客户端可以解析响应的消息体,得到执行结果。 调用示例 以DescribeScdnService接口为例: 对应的Action是DescribeScdnService。在添加了所有公共请求参数(除Signature)后,请求的URL是(为了便于阅读,这里是进行URL编码前的URL): http://scdn.aliyuncs.com/?TimeStamp=2012-12-26T10:33:56Z&Format=XML&AccessKeyId=testid&Action= DescribeScdnService &SignatureMethod=HMAC-SHA1&SignatureNonce=NwDAxvLU6tFE0DVb&Version=2013-01-10&SignatureVersion=1.0 按照签名计算规则,先构造出规范化请求字符串(Canonicalized Query String),如下: http://scdn.aliyuncs.com/?TimeStamp=2012-12-26T10:33:56Z&Format=XML&AccessKeyId=testid&Action= DescribeScdnService &SignatureMethod=HMAC-SHA1&SignatureNonce=NwDAxvLU6tFE0DVb&Version=2013-01-10&SignatureVersion=1.0 再构造出用于签名的字符串StringToSign值为: GET&%2F&AccessKeyId%3Dtestid%26Action% DescribeScdnService %26Format%3DXML%26SignatureMethod%3DHMAC-SHA1%26SignatureNonce%3DNwDAxvLU6tFE0DVb%26SignatureVersion%3D1.0%26TimeStamp%3D2012-12-26T10%253A33%253A56Z%26Version%3D2013-01-10 以下Java示例代码演示了如何添加公共请求参数、如何构造用请求参数构造规范化请求字符串,以及如何构造StringToSign字符串。示例假定所有请求参数放在一个Map <String, String>对象里,使用的Access Key ID是“testid”。 final String HTTP_METHOD = "GET"; …………………………………… 其中需要注意的是,TimeStamp参数要求符合ISO8601规范,并注意使用UTC时间,否则会遇到错误。下面的示例代码演示了如何生成符合规范的TimeStamp字符串: private static final String ISO8601_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'"; private static String formatIso8601Date(Date date) { SimpleDateFormat df = new SimpleDateFormat(ISO8601_DATE_FORMAT); df.setTimeZone(new SimpleTimeZone(0, "GMT")); return df.format(date); } 生成规范化请求字符串(示例中的canonicalizedQueryString变量),以及stringToSign时,都需要进行必要的编码。编码的规则在签名机制一节中有详细描述。下面的示例代码演示了如何用java.net.URLEncoder类完成编码: private static final String ENCODING = "UTF-8"; private static String percentEncode(String value) throws UnsupportedEncodingException{ return value != null ? URLEncoder.encode(value, ENCODING).replace("+", "%20") .replace("*", "%2A").replace("%7E", "~") : null; } 假定使用的Access Key Id是“testid”,Access Key Secret是“testsecret”,用于计算HMAC的Key就是“testsecret&”,最终计算得到的签名值为: SDFQNvyH5rtkc9T5Fwo8DOjw5hc= 计算签名的示例代码(Java): // 以下是一段计算签名的示例代码 final String ALGORITHM = "HmacSHA1"; final String ENCODING = "UTF-8"; key = "testsecret&"; Mac mac = Mac.getInstance(ALGORITHM); mac.init(new SecretKeySpec( key.getBytes(ENCODING), ALGORITHM)); byte[] signData = mac.doFinal( stringToSign.getBytes(ENCODING)); String signature = new String(Base64.encodeBase64(signData)); 增加签名参数后,请按照RFC3986规则进行URL编码后得到的 http://scdn.aliyuncs.com/?TimeStamp=2012-12-26T10%3A33%3A56Z&Format=XML&AccessKeyId=testid&Action= DescribeScdnService &SignatureMethod=HMAC-SHA1&RegionId=region1&SignatureNonce=NwDAxvLU6tFE0DVb&Version=2012-09-13&SignatureVersion=1.0&Signature=SDFQNvyH5rtkc9T5Fwo8DOjw5hc%3d 接下来,通过HTTP请求的方式向上面的URL地址发送HTTP请求,并得到SCDN服务端的响应结果(示例): none 通过解析这个XML结果即可以得到所有可用的地域Id和LocalName的列表。如果在提交请求时,指定Format参数为JSON,那么返回结果的格式为JSON格式 如何保证幂等性 当通过调用创建实例接口在SCDN中创建云服务器时,如果遇到了请求超时或服务器内部错误时,客户端可能会尝试重发请求,这时客户端可以通过提供可选参数ClientToken避免服务器创建出比预期要多的实例,也就是通过提供ClientToken参数保证请求的幂等性。ClientToken是一个由客户端生成的唯一的、大小写敏感、不超过64个ASCII字符的字符串。 如果用户使用同一个ClientToken值调用创建实例接口,则服务端会返回相同的请求结果,包含相同的InstanceId。因此用户在遇到错误进行重试的时候,可以通过提供相同的ClientToken值,来确保SCDN只创建一个实例,并得到这个实例的InstanceId。 如果用户提供了一个已经使用过的ClientToken,但其他请求参数不同,则SCDN会返回 IdempotentParameterMismatch 的错误代码。但需要注意的是,SignatureNonce、Timestamp和Signature参数在重试时是需要变化的,因为scdn使用SignatureNonce来防止重放攻击,使用Timestamp来标记每次请求时间,所以再次请求必须提供不同的SignatureNonce和Timestamp参数值,这同时也会导致Signature值的变化。 通常,客户端只需要在500(InternetError)或503(ServiceUnAvailable)错误、或者无法得到响应结果的情况下进行重试操作。返回结果是200时,重试可以得到上次相同的结果,但不会对服务端状态带来任何影响。而对4xx的返回错误,除非提示信息里明确出现“try it later”,通常重试也是不能成功的。 欠费状态下的API行为 下列表中,“-” 表示无关,“正常逻辑逻辑”表示按照接口的正常逻辑逻辑执行并返回结果。 账户欠费时 接口 行为 描述 OpenScdnService 正常

保持可爱mmm 2020-03-29 15:47:37 0 浏览量 回答数 0

回答

简介 如果您听说过 Node,或者阅读过一些文章,宣称 Node 是多么多么的棒,那么您可能会想:“Node 究竟是什么东西?”尽管不是针对所有人的,但 Node 可能是某些人的正确选择。 为试图解释什么是 Node.js,本文探究了它能解决的问题,它如何工作,如何运行一个简单应用程序,最后,Node 何时是和何时不是一个好的解决方案。本文不涉及如何编写一个复杂的 Node 应用程序,也不是一份全面的 Node 教程。阅读本文应该有助于您决定是否应该学习 Node,以便将其用于您的业务。 Node 旨在解决什么问题? Node 公开宣称的目标是 “旨在提供一种简单的构建可伸缩网络程序的方法”。当前的服务器程序有什么问题?我们来做个数学题。在 Java™ 和 PHP 这类语言中,每个连接都会生成一个新线程,每个新线程可能需要 2 MB 配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户。随着您的客户端基础的增长,您希望您的 web 应用程序支持更多用户,这样,您必须添加更多服务器。当然,这会增加业务成本,尤其是服务器成本、运输成本和人工成本。除这些成本上升外,还有一个技术问题:用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。例如,在 Java 中,静态变量和缓存需要在每个服务器上的 JVMs 之间共享。这就是整个 web 应用程序架构中的瓶颈:一个服务器能够处理的并发连接的最大数量。 Node 解决这个问题的方法是:更改连接连接到服务器的方式。每个连接都创建一个进程,该进程不需要配套内存块,而不是为每个连接生成一个新的 OS 线程(并向其分配一些配套内存)。Node 声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。Node 还宣称,运行它的服务器能支持数万个并发连接。事实上,Node 通过将整个系统中的瓶颈从最大连接数量更改到单个系统的流量来改变服务器面貌。 现在您有了一个能处理数万条并发连接的程序,那么您能通过 Node 实际构建什么呢?如果您有一个 web 应用程序需要处理这么多连接,那将是一件很 “恐怖” 的事!那是一种 “如果您有这个问题,那么它根本不是问题” 的问题。在回答上面的问题之前,我们先看看 Node 如何工作以及它被设计的如何运行。 Node 肯定不是什么 没错,Node 是一个服务器程序。但是,它肯定不 像 Apache 或 Tomcat。那些服务器是独立服务器产品,可以立即安装并部署应用程序。通过这些产品,您可以在一分钟内启动并运行一个服务器。Node 肯定不是这种产品。Apache 能添加一个 PHP 模块来允许开发人员创建动态 web 页,使用 Tomcat 的程序员能部署 JSPs 来创建动态 web 页。Node 肯定不是这种类型。 在 Node 的早期阶段(当前是 version 0.4.6),它还不是一个 “运行就绪” 的服务器程序,您还不能安装它,向其中放置文件,拥有一个功能齐全的 web 服务器。即使是要实现 web 服务器在安装完成后启动并运行这个基本功能,也还需要做大量工作。 Node 如何工作 Node 本身运行 V8 JavaScript。等等,服务器上的 JavaScript?没错,您没有看错。服务器端 JavaScript 是一个相对较新的概念,这个概念是大约两年前在 developerWorks 上讨论 Aptana Jaxer 产品时提到的(参见 参考资料)。尽管 Jaxer 一直没有真正流行,但这个理念本身并不是遥不可及的 — 为何不能在服务器上使用客户机上使用的编程语言? 什么使 V8?V8 JavaScript 引擎是 Google 用于他们的 Chrome 浏览器的底层 JavaScript 引擎。很少有人考虑 JavaScript 在客户机上实际做了些什么?实际上,JavaScript 引擎负责解释并执行代码。使用 V8,Google 创建了一个以 C++ 编写的超快解释器,该解释器拥有另一个独特特征;您可以下载该引擎并将其嵌入任何 应用程序。它不仅限于在一个浏览器中运行。因此,Node 实际上使用 Google 编写的 V8 JavaScript 引擎并将其重建为在服务器上使用。太完美了!既然已经有一个不错的解决方案可用,为何还要创建一种新语言呢? 事件驱动编程 许多程序员接受的教育使他们认为,面向对象编程是完美的编程设计,而对其他编程方法不屑一顾。Node 使用一个所谓的事件驱动编程模型。 清单 1. 客户端上使用 jQuery 的事件驱动编程 复制代码 代码如下: // jQuery code on the client-side showing how Event-Driven programming works // When a button is pressed, an Event occurs - deal with it // directly right here in an anonymous function, where all the // necessary variables are present and can be referenced directly $("#myButton").click(function(){ if ($("#myTextField").val() != $(this).val()) alert("Field must match button text"); }); 实际上,服务器端和客户端没有任何区别。没错,这没有按钮点击操作,也没有向文本字段键入的操作,但在一个更高的层面上,事件正在 发生。一个连接被建立 — 事件!数据通过连接接收 — 事件!数据通过连接停止 — 事件! 为什么这种设置类型对 Node 很理想?JavaScript 是一种很棒的事件驱动编程语言,因为它允许匿名函数和闭包,更重要的是,任何写过代码的人都熟悉它的语法。事件发生时调用的回调函数可以在捕获事件处编写。这样,代码容易编写和维护,没有复杂的面向对象框架,没有接口,没有在上面架构任何内容的潜能。只需监听事件,编写一个回调函数,然后,事件驱动编程将照管好一切! 示例 Node 应用程序 最后,我们来看一些代码!让我们将讨论过的所有内容综合起来,创建我们的第一个 Node 应用程序。由于我们已经知道,Node 对于处理高流量应用程序很理想,我们就来创建一个非常简单的 web 应用程序 — 一个为实现最大速度而构建的应用程序。下面是 “老板” 交代的关于我们的样例应用程序的具体要求:创建一个随机数字生成器 RESTful API。这个应用程序应该接受一个输入:一个名为 “number” 的参数。然后,应用程序返回一个介于 0 和该参数之间的随机数字,并将生成的数字返回调用者。由于 “老板” 希望它成为一个广泛流行的应用程序,因此它应该能处理 50,000 个并发用户。我们来看看代码: 清单 2. Node 随机数字生成器 复制代码 代码如下: // these modules need to be imported in order to use them. // Node has several modules. They are like any #include // or import statement in other languages var http = require("http"); var url = require("url"); // The most important line in any Node file. This function // does the actual process of creating the server. Technically, // Node tells the underlying operating system that whenever a // connection is made, this particular callback function should be // executed. Since we're creating a web service with REST API, // we want an HTTP server, which requires the http variable // we created in the lines above. // Finally, you can see that the callback method receives a 'request' // and 'response' object automatically. This should be familiar // to any PHP or Java programmer. http.createServer(function(request, response) { // The response needs to handle all the headers, and the return codes // These types of things are handled automatically in server programs // like Apache and Tomcat, but Node requires everything to be done yourself response.writeHead(200, {"Content-Type": "text/plain"}); // Here is some unique-looking code. This is how Node retrives // parameters passed in from client requests. The url module // handles all these functions. The parse function // deconstructs the URL, and places the query key-values in the // query object. We can find the value for the "number" key // by referencing it directly - the beauty of JavaScript. var params = url.parse(request.url, true).query; var input = params.number; // These are the generic JavaScript methods that will create // our random number that gets passed back to the caller var numInput = new Number(input); var numOutput = new Number(Math.random() * numInput).toFixed(0); // Write the random number to response response.write(numOutput); // Node requires us to explicitly end this connection. This is because // Node allows you to keep a connection open and pass data back and forth, // though that advanced topic isn't discussed in this article. response.end(); // When we create the server, we have to explicitly connect the HTTP server to // a port. Standard HTTP port is 80, so we'll connect it to that one. }).listen(80); // Output a String to the console once the server starts up, letting us know everything // starts up correctly console.log("Random Number Generator Running..."); 将上面的代码放到一个名为 “random.js” 的文件中。现在,要启动这个应用程序并运行它(进而创建 HTTP 服务器并监听端口 80 上的连接),只需在您的命令提示中输入以下命令:% node random.js。下面是服务器已经启动并运行时它看起来的样子: 复制代码 代码如下: root@ubuntu:/home/moila/ws/mike# node random.js Random Number Generator Running... 访问应用程序 应用程序已经启动并运行。Node 正在监听任何连接,我们来测试一下。由于我们创建了一个简单的 RESTful API,我们可以使用我们的 web 浏览器来访问这个应用程序。键入以下地址(确保您完成了上面的步骤):localhost/?number=27。 您的浏览器窗口将更改到一个介于 0 到 27 之间的随机数字。单击浏览器上的 “重新载入” 按钮,将得到另一个随机数字。就是这样,这就是您的第一个 Node 应用程序! Node 对什么有好处? 到此为止,应该能够回答 “Node 是什么” 这个问题了,但您可能还不清楚什么时候应该使用它。这是一个需要提出的重要问题,因为 Node 对有一些东西有好处,但相反,对另一些东西而言,目前 Node 可能不是一个好的解决方案。您需要小心决定何时使用 Node,因为在错误的情况下使用它可能会导致一个多余编码的 LOT。 它对什么有好处? 正如您此前所看到的,Node 非常适合以下情况:您预计可能有很高的流量,而在响应客户端之前服务器端逻辑和处理所需不一定是巨大的。Node 表现出众的典型示例包括: 1.RESTful API 提供 RESTful API 的 web 服务接收几个参数,解析它们,组合一个响应,并返回一个响应(通常是较少的文本)给用户。这是适合 Node 的理想情况,因为您可以构建它来处理数万条连接。它还不需要大量逻辑;它只是从一个数据库查找一些值并组合一个响应。由于响应是少量文本,入站请求时少量文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的 API 需求。 2.Twitter 队列 想像一下像 Twitter 这样的公司,它必须接收 tweets 并将其写入一个数据库。实际上,每秒几乎有数千条 tweets 达到,数据库不可能及时处理高峰时段需要的写入数量。Node 成为这个问题的解决方案的重要一环。如您所见,Node 能处理数万条入站 tweets。它能迅速轻松地将它们写入一个内存排队机制(例如 memcached),另一个单独进程可以从那里将它们写入数据库。Node 在这里的角色是迅速收集 tweet 并将这个信息传递给另一个负责写入的进程。想象一下另一种设计 — 一个常规 PHP 服务器自己试图处理对数据库的写入 — 每个 tweet 将在写入数据库时导致一个短暂的延迟,这是因为数据库调用正在阻塞通道。由于数据库延迟,一台这样设计的机器每秒可能只能处理 2000 条入站 tweets。每秒 100 万条 tweets 需要 500 个服务器。相反,Node 能处理每个连接而不会阻塞通道,从而能捕获尽可能多的 tweets。一个能处理 50,000 条 tweets 的 Node 机器只需要 20 个服务器。 3.映像文件服务器 一个拥有大型分布式网站的公司(比如 Facebook 或 Flickr)可能会决定将所有机器只用于服务映像。Node 将是这个问题的一个不错的解决方案,因为该公司能使用它编写一个简单的文件检索器,然后处理数万条连接。Node 将查找映像文件,返回文件或一个 404 错误,然后什么也不用做。这种设置将允许这类分布式网站减少它们服务映像、.js 和 .css 文件等静态文件所需的服务器数量。 它对什么有坏处? 当然,在某些情况下,Node 并非理想选择。下面是 Node 不擅长的领域: 1.动态创建的页 目前,Node 没有提供一种默认方法来创建动态页。例如,使用 JavaServer Pages (JSP) 技术时,可以创建一个在这样的 JSP 代码段中包含循环的 index.jsp 页。Node 不支持这类动态的、HTML 驱动的页面。同样,Node 不太适合作为 Apache 和 Tomcat 这样的网页服务器。因此,如果您想在 Node 中提供这样一个服务器端解决方案,必须自己编写整个解决方案。PHP 程序员不想在每次部署 web 应用程序时都编写一个针对 Apache 的 PHP 转换器,当目前为止,这正是 Node 要求您做的。 2. 关系数据库重型应用程序 Node 的目的是快速、异步和非阻塞。数据库并不一定分享这些目标。它们是同步和阻塞的,因为读写时对数据库的调用在结果生成之前将一直阻塞通道。因此,一个每个请求都需要大量数据库调用、大量读取、大量写入的 web 应用程序非常不适合 Node,这是因为关系数据库本身就能抵销 Node 的众多优势。(新的 NoSQL 数据库更适合 Node,不过那完全是另一个主题了。) 结束语 问题是 “什么是 Node.js?” 应该已经得到解答。阅读本文之后,您应该能通过几个清晰简洁的句子回答这个问题。如果这样,那么您已经走到了许多编码员和程序员的前面。我和许多人都谈论过 Node,但它们对 Node 究竟是什么一直很迷惑。可以理解,他们具有的是 Apache 的思维方式 — 服务器是一个应用程序,将 HTML 文件放入其中,一切就会正常运转。而 Node 是目的驱动的。它是一个软件程序,使用 JavaScript 来允许程序员轻松快速地创建快速、可伸缩的 web 服务器。Apache 是运行就绪的,而 Node 是编码就绪的。 Node 完成了它提供高度可伸缩服务器的目标。它并不分配一个 “每个连接一个线程” 模型,而是使用一个 “每个连接一个流程” 模型,只创建每个连接需要的内存。它使用 Google 的一个非常快速的 JavaScript 引擎:V8 引擎。它使用一个事件驱动设计来保持代码最小且易于阅读。所有这些因素促成了 Node 的理想目标 — 编写一个高度可伸缩的解决方案变得比较容易。 与理解 Node 是 什么同样重要的是,理解它不是 什么。Node 并不是 Apache 的一个替代品,后者旨在使 PHP web 应用程序更容易伸缩。事实确实如此。在 Node 的这个初始阶段,大量程序员使用它的可能性不大,但在它能发挥作用的场景中,它的表现非常好。 将来应该期望从 Node 得到什么呢?这也许是本文引出的最重要的问题。既然您知道了它现在的作用,您应该会想知道它下一步将做什么。在接下来的一年中,我期待着 Node 提供与现有的第三方支持库更好地集成。现在,许多第三方程序员已经研发了用于 Node 的插件,包括添加文件服务器支持和 MySQL 支持。希望 Node 开始将它们集成到其核心功能中。最后,我还希望 Node 支持某种动态页面模块,这样,您就可以在 HTML 文件中执行在 PHP 和 JSP(也许是一个 NSP,一个 Node 服务器页)中所做的操作。最后,希望有一天会出现一个 “部署就绪” 的 Node 服务器,可以下载和安装,只需将您的 HTML 文件放到其中,就像使用 Apache 或 Tomcat 那样。Node 现在还处于初始阶段,但它发展得很快,可能不久就会出现在您的视野中。 答案来源于网络

养狐狸的猫 2019-12-02 02:17:03 0 浏览量 回答数 0

问题

【阿里云产品公测】简单日志服务SLS使用评测含教程

mr_wid 2019-12-01 21:08:11 36639 浏览量 回答数 20

问题

流量充值API(Charge)---Python

猫饭先生 2019-12-01 20:59:36 1063 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站