`
mintelong
  • 浏览: 392370 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

三、配置子节点(3)

阅读更多
登录到xx2.com,修改sudoers文件
[root@xx2 ~]# visudo

[root@xx2 ~]# tail /etc/sudoers
# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now

# Globus GRAM Entities
globus ALL=(zhangxiao) NOPASSWD: /usr/local/globus/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/local/globus/libexec/globus-job-manager-script.pl *


globus ALL=(zhangxiao) NOPASSWD: /usr/local/globus/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/local/globus/libexec/globus-gram-local-proxy-tool *



在上一篇中,我曾经说了出现了错误,其实,如果大家按照上面的步骤去做,是不会错的。

在我调用类似于
[zx@xx1 tmp]$ globus-url-copy gsiftp://xx1.com/tmp/mytest gsiftp://xx2.com/tmp/form.xx1
这样的命令,出现了不能拷贝错误。

原因就是因为我不小心动了某些东西。结果把节点xx2.com上的gsiftp给弄错了,导致gsiftp启动不起来,不能够连接上xx2.com,
并且sudoers文件配置也错误。

于是一狠心,反正xx2.com是虚拟机,从来一遍。于是回到原始的snapshot,啪啪啪啪,反正轻车熟路,一会就安装好了。

执行启动容器的命令,发现地址全不是loopback的,这怎行?

[root@xx2 globus_wsrf_core]# su - globus -c /usr/local/globus/bin/globus-start-container
[1]: https://127.0.0.1:8443/wsrf/services/TriggerFactoryService
[2]: https://127.0.0.1:8443/wsrf/services/DelegationTestService
[3]: https://127.0.0.1:8443/wsrf/services/SecureCounterService
[4]: https://127.0.0.1:8443/wsrf/services/IndexServiceEntry
[5]: https://127.0.0.1:8443/wsrf/services/DelegationService
[6]: https://127.0.0.1:8443/wsrf/services/InMemoryServiceGroupFactory
[7]: https://127.0.0.1:8443/wsrf/services/mds/test/execsource/IndexService
[8]: https://127.0.0.1:8443/wsrf/services/mds/test/subsource/IndexService
[9]: https://127.0.0.1:8443/wsrf/services/SubscriptionManagerService
[10]: https://127.0.0.1:8443/wsrf/services/TestServiceWrongWSDL
[11]: https://127.0.0.1:8443/wsrf/services/SampleAuthzService
[12]: https://127.0.0.1:8443/wsrf/services/WidgetNotificationService
[13]: https://127.0.0.1:8443/wsrf/services/AdminService
[14]: https://127.0.0.1:8443/wsrf/services/DefaultIndexServiceEntry
[15]: https://127.0.0.1:8443/wsrf/services/CounterService
[16]: https://127.0.0.1:8443/wsrf/services/TestService
[17]: https://127.0.0.1:8443/wsrf/services/InMemoryServiceGroup
[18]: https://127.0.0.1:8443/wsrf/services/SecurityTestService
[19]: https://127.0.0.1:8443/wsrf/services/ContainerRegistryEntryService
[20]: https://127.0.0.1:8443/wsrf/services/NotificationConsumerFactoryService
[21]: https://127.0.0.1:8443/wsrf/services/TestServiceRequest
[22]: https://127.0.0.1:8443/wsrf/services/IndexFactoryService
[23]: https://127.0.0.1:8443/wsrf/services/ReliableFileTransferService
[24]: https://127.0.0.1:8443/wsrf/services/mds/test/subsource/IndexServiceEntry
[25]: https://127.0.0.1:8443/wsrf/services/Version
[26]: https://127.0.0.1:8443/wsrf/services/NotificationConsumerService
[27]: https://127.0.0.1:8443/wsrf/services/IndexService
[28]: https://127.0.0.1:8443/wsrf/services/NotificationTestService
[29]: https://127.0.0.1:8443/wsrf/services/ReliableFileTransferFactoryService
[30]: https://127.0.0.1:8443/wsrf/services/DefaultTriggerServiceEntry
[31]: https://127.0.0.1:8443/wsrf/services/TriggerServiceEntry
[32]: https://127.0.0.1:8443/wsrf/services/PersistenceTestSubscriptionManager
[33]: https://127.0.0.1:8443/wsrf/services/mds/test/execsource/IndexServiceEntry
[34]: https://127.0.0.1:8443/wsrf/services/DefaultTriggerService
[35]: https://127.0.0.1:8443/wsrf/services/TriggerService
[36]: https://127.0.0.1:8443/wsrf/services/gsi/AuthenticationService
[37]: https://127.0.0.1:8443/wsrf/services/TestRPCService
[38]: https://127.0.0.1:8443/wsrf/services/ManagedMultiJobService
[39]: https://127.0.0.1:8443/wsrf/services/RendezvousFactoryService
[40]: https://127.0.0.1:8443/wsrf/services/WidgetService
[41]: https://127.0.0.1:8443/wsrf/services/ManagementService
[42]: https://127.0.0.1:8443/wsrf/services/ManagedExecutableJobService
[43]: https://127.0.0.1:8443/wsrf/services/InMemoryServiceGroupEntry
[44]: https://127.0.0.1:8443/wsrf/services/AuthzCalloutTestService
[45]: https://127.0.0.1:8443/wsrf/services/DelegationFactoryService
[46]: https://127.0.0.1:8443/wsrf/services/DefaultIndexService
[47]: https://127.0.0.1:8443/wsrf/services/ShutdownService
[48]: https://127.0.0.1:8443/wsrf/services/ContainerRegistryService
[49]: https://127.0.0.1:8443/wsrf/services/TestAuthzService
[50]: https://127.0.0.1:8443/wsrf/services/CASService
[51]: https://127.0.0.1:8443/wsrf/services/ManagedJobFactoryService

于是,我连忙修改$GLOBUS_LOCATION/etc/globus_wsrf_core下面的
server-config.wsdd 和 client-server-config.wsdd文件,
在<globalConfiguration></globalConfiguration>
中间都添加上,<parameter name="logicalHost" value="211.67.141.189" />元素,这样就好了。

把容器停止以后,我们再次启动容器,结果发现地址是对了,可是仍然提示FRT错误。
[root@xx2 globus_wsrf_core]# su - globus -c /usr/local/globus/bin/globus-start-container
2007-07-13 21:52:18,916 ERROR service.ReliableFileTransferImpl [main,<init>:69] Unable to setup database driver with pooling.Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2007-07-13 21:52:20,143 WARN  service.ReliableFileTransferHome [main,initialize:97] All RFT requests will fail and all GRAM jobs that require file staging will fail.Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2007-07-13 21:53:03,390 INFO  impl.DefaultIndexService [ServiceThread-9,processConfigFile:107] Reading default registration configuration from file: /usr/local/globus/etc/globus_wsrf_mds_index/hierarchy.xml
Starting SOAP server at: https://211.67.141.189:8443/wsrf/services/
With the following services:

[1]: https://211.67.141.189:8443/wsrf/services/AdminService
[2]: https://211.67.141.189:8443/wsrf/services/AuthzCalloutTestService
[3]: https://211.67.141.189:8443/wsrf/services/CASService
[4]: https://211.67.141.189:8443/wsrf/services/ContainerRegistryEntryService
[5]: https://211.67.141.189:8443/wsrf/services/ContainerRegistryService
[6]: https://211.67.141.189:8443/wsrf/services/CounterService


这里,我们要清楚,我们的网格环境进行分布计算是需要RFT(reliable file transfer)支持的,可是我们在xx2.com上面,是没有RFT所需的postgresql数据库的,所以我们要改GRAM的工作环境,把工作台主机改为xx1.com,协议改为https。

注意,下面这一步是错误的,我故意把它挂上来,提醒大家。我是root用户执行的这个命令,虽然安装成功了,但是启动的时候会出错。
[root@xx2 ~]# $GLOBUS_LOCATION/setup/globus/setup-gram-service-common --staging-host=xx1.com --staging-protocol=https
Running /usr/local/globus/setup/globus/setup-gram-service-common
Determining system information...
Buildfile: /usr/local/globus/setup/globus/build-gram-service-gar.xml

启动的时候出错了,大家看看,原来是不能读取某个文件了。
[root@xx2 globus_wsrf_core]# su - globus -c /usr/local/globus/bin/globus-start-container
Failed to start container: Container failed to initialize [Caused by: Failed to read '/usr/local/globus/etc/gram-service/jndi-config.xml' JNDI configuration file]


幸亏我用的是图形界面,可以翻滚回去,我看看执行安装命令都装了什么东西。

Running /usr/local/globus/setup/globus/setup-gram-service-common
Determining system information...
Buildfile: /usr/local/globus/setup/globus/build-gram-service-gar.xml

generateConfig:
   [delete] Deleting directory /usr/local/globus/tmp/gram-service
    [mkdir] Created dir: /usr/local/globus/tmp/gram-service
     [copy] Copying 1 file to /usr/local/globus/tmp/gram-service
    [mkdir] Created dir: /usr/local/globus/tmp/gram-service/etc
     [echo] Checking for existence of file /usr/local/globus/etc/gram-service/globus_gram_fs_map_config.xml

其中

   [delete] Deleting directory /usr/local/globus/tmp/gram-service
    [mkdir] Created dir: /usr/local/globus/tmp/gram-service

说明了,这个gram-service文件夹应该是新建的,应该是root的属主,我看一下

[root@xx2 gram-service]# ls -la
total 32
drwxr-xr-x  4 root   root    4096 Jul 13 22:00 .
drwxr-xr-x  5 globus globus  4096 Jul 13 22:01 ..
-rw-r--r--  1 root   root   11318 Jul 13 22:00 deploy-jndi-config-deploy.xml
drwxr-xr-x  2 root   root    4096 Jul 13 22:00 etc
-rw-r--r--  1 root   root    1592 Jul 13 22:00 gram-service.gar
drwxr-xr-x  2 root   root    4096 Jul 13 22:00 lib

果真,还真是root的,时间上也对着,现在晚上刚刚10点钟。

这样就明白了,globus用户启动容器,会出现有些文件没有权限读取,

算了,死马当活马医吧,我先删除了子节点上的/usr/local/globus/tmp/gram-service再说,

然后再换作globus用户执行
[globus@xx2 ~]$ $GLOBUS_LOCATION/setup/globus/setup-gram-service-common --staging-host=xxl.com --staging-protocol=https

成功之后,我再启动容器,已经不对GRAM进行报错了,却仍然对RFT进行报错。


我们就仔细思考了,网格是依靠RFT(Reliable File Transfer)进行一些夸平台作业的,现在我们在子节点xx2.com上,并没有安装RFT运行所依赖的postgresql,虽然我们在上一步,已经执行了把平台作业的主机设为xx1.com,但是我们就像当初,我们配置主机xx1.com一样,postgresql数据库默认只有本地主机 127.0.0.1可以连接。
然而,我们的每个节点都有自己的IP,所以我们必须在安装有postgresql的主机上进行相应设计,使得postgresql数据库允许从其它地方访问。

进入相应目录
[root@xx1 data]# pwd
/usr/local/pgsql/data

修改相应的文件,把xx2.com的IP添加到信任区域。
[root@xx1 data]# tail pg_hba.conf
# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
# IPv6 local connections:
host    all         all         ::1/128               trust
# IPv4 local connections:
host    all         all         211.67.141.181/32     trust
# IPv4 local connections:
host    all         all         211.67.141.189/32     trust

关掉xx2.com的容器,再次启动容器,发现仍然有错误,xx2.com的容器,默认的RFT仍然是自己说
https://211.67.141.189:8443/wsrf/services/ReliableFileTransferFactoryService
服务失败或者找不到。

我们想,肯定是那个配置文件出了错误,应该连到xx1.com却连到了xx2.com。
那配置文件一般都在etc目录下面,我们进入$globus_location/etc下,一看,果真有rft字样的文件夹,
不管三七二十一,进入

[root@xx2 globus_wsrf_rft]# pwd
/usr/local/globus/etc/globus_wsrf_rft

看看都有什么?
[root@xx2 globus_wsrf_rft]# ls
factory-security-config.xml  registration.xml     server-config.wsdd
jndi-config.xml              security-config.xml

一个一个找吧,我最后找到了应该修改的配置文件
[root@xx2 globus_wsrf_rft]# vi jndi-config.xml
找到其中一段

            <parameter>
                <name>
                connectionString
                </name>
                <value>
                jdbc:postgresql://xx2.com/rftDatabase
                </value>
            </parameter>
哈哈,明白了吧,数据库连接出错了。把它改成xx1就好了。
修改后,该是jdbc:postgresql://xx1.com/rftDatabase。

到这里,细心的朋友会问,数据库连接不是有帐号密码吗?不要急,大家接着往下找,结果又发现了两段
            <parameter>
                <name>
                userName
                </name>
                <value>
                globus
                </value>
            </parameter>
            <parameter>
                <name>
                password
                </name>
                <value>
                foo
                </value>
            </parameter>
哦,帐号密码都有了啊。大家还记得,我们配置第一台服务器的时候,创建了一个数据库rftDatabase,它的用户就是globus,密码是foo啊?
为何默认的是这样?我对postgresql了解不是很深,希望大家能告诉我。

好了,我们重启xx2.com上的容器,这下没有问题了。白天,在实验室憋了一天,已经凌晨了,就写道这里吧,受不了了。
分享到:
评论

相关推荐

    三层交换机DHCP配置

    //为客户机配置节点模式(影响名称解释的顺利,如h-node=先通过wins服务器解释...) lease 3 //地址租用期限: 3天 ip dhcp pool vlan1 network 10.1.1.0 255.255.255.0 //本pool是global的子pool, 将从global ...

    C#读写XML文件,支持多层节点

    自己写的读写XML文件的一个小测试程序,已经测试过可用,无需引用第三方库,使用方便,多层节点可写入程序的配置文件。

    zTree实现节点修改的实时刷新功能

    比如要在test1234节点下新建子节点,首先要选中test1234节点,添加成功后,根据test1234结点的TID去后台请求对应子节点数据,实现动态刷新。删除节点类似。 三、代码实现 1、初始化时必须设置配置 ...

    1394总线三节点仿真设备设计与实现

    结合1394协议在领域的需求,研发了一种满足1394协议的总线三节点仿真设备,该设备实现控制计算机(CC)、远程节点(RN)、总线监控(BM)、加载维护(LM)一体化设计,集节点数据收发、配置加载、故障注入、通信监控、...

    一个完整的搭建过程1

    二、配置子节点sun1 三、配置sun2节点 四、创建同步表数据 五、初始化顶级节点sun的系统表结构

    ceph集群(centos7)安装配置文档201510

    简介: 4 一:安装配置环境介绍 5 1:系统版本: 5 2:内核版本: 5 3:ceph版本: 5 4:ceph-deploy版本: 5 4:网络拓扑图 6 ...3:修改集群子系统,日志和调试设置 64 4:日志输出级别默认值 65

    基于cloudera搭建hadoop集群

    4. 子节点互通配置 6 5. 用户sudo功能设置 7 6. 挂载硬盘 7 7. 配置yum源 9 8. 关闭防火墙 9 9. 配置ssh免key(可以不配置) 10 10. 配置时间同步 10 11. 设置hadoop存储目录 11 12. 配置cm源文件 11 五. 安装 12 1. ...

    Hyperledger Fabric环境配置,2023年1月28日整理亲测有效

    1.Hyperledger Fabric 1.4环境配置,尽管CSDN上存在很多Hyperledger Fabric环境配置教程,但是都存在各种问题,本文选择了一篇文章进行环境配置,同时对环境配置过程中产生的各种问题提出了解决方案,并亲测有效,...

    2021年 TI杯 全国大学生电子设计竞赛 赛题D 基于互联网的摄像测量系统

    配置 A 节点 IP 地址为 192.168.24.205, B 节点 IP 地址为 192.168.24.206, 中心节点 IP 地址为 192.168.24.204 (中心节点 IP 地址也可用同一网段其他 IP 代替) 按赛题要求搭建场地, 并将三个节点接入同一交换机 在...

    DWR.xml配置文件说明书(含源码)

    scripted script 返回远程对象的脚本,脚本可以指定一些属性,多数情况下一般只设置param节点配置.属性很少设置. spring Location* 任何以location开头的参数,每个参数都是指定一个spring的配置文件,在参数没有设置的...

    老男孩第三期Python全栈开发视频教程 零基础系统学习Python开发视频+资料

    ├─(100) 04 python全栈3 day54 Django内容回顾(三).avi ├─(101) 05 python全栈3 day54 Django请求生命周期之Http请求.avi ├─(102) 06 python全栈3 day54 Django请求生命周期之FBV和CBV.avi ├─(103) 07 ...

    angular-ui-tree-filter:提供 AngularJS 过滤器的模块,可与 angular-ui-tree 一起使用以匹配树节点

    #ui.tree-过滤器 提供过滤器的模块,可与以匹配树节点。 使用生成的目录 这个怎么运作? 它是可配置的: 您可以提供应该与提供的模式...它匹配整个路径如果一个子节点也匹配它的所有祖先直到树根匹配: Filte

    大数据平台技术实训报告.docx

    大数据平台技术 实训报告 一、创建虚拟机与操作系统的安装 1、创建虚拟机步骤截图 ...1、将集群主节点的配置文件分发到其他子节点上 四、集群主节点的格式化与启动 1、格式化文件系统 2、启动集群

    H3BPM 试用系统操作手册

    如【通知办理】子流程的“会议内容”来源于父流程【会议通知】的“会议内容”数据项,可以对数据项的来源进行配置。 设计过程  子流程分属于不同的流程包,2条流程如需建立关系,需通过“数据映射”建立父子流程的...

    inspec-gke-cis-benchmark:GKE CIS 1.1.0基准InSpec配置文件

    基准包含三个配置文件,可以在子目录 , 和。 配置文件是分开的,因为运行inspec exec时每个配置文件都需要针对不同的目标( -t )选项运行。 使用的目标: inspec-gke-cis-gcp使用 inspec-gke-cis-k8s使用 ...

    全分布式集群Hadoop全套组件解压即可使用包含(Ubuntu-HDFS-HBASE-HIve-Sqoop-mysql....)

    1.集群配置,包含三个结点,主节点控制所有的子节点 2.集群已经搭建好了,解压之后直接可以使用Finalshell和VMware连接 3.包含全套组件:hdfs,hbase,hive,sqoop,mysql,pig,spark等大数据组件 4.如果不知道如何...

    节点版本管理-Node.js开发

    n –交互式管理您的Node.js版本Node....)n –交互式管理您的Node.js版本安装第三方安装程序安装节点版本指定节点版本使用下载的节点版本删除版本而无需重新安装保留npm杂项自定义源自定义体系结构可选环境变量的方式它

    Drupal入门二十问

    第一问 Drupal的安装,汉化包的安装 3 第二问 配置简洁URL 4 第三问 发送电子邮件 7 第四问 分别创建一个Page节点,和一个Story节点,并比较它们之间的区别 9 第五问 为URL http://example.com/node/1 创建一个别名 10 ...

    论文研究 - 使用802.11标准评估无线网状网络中的主动,被动和混合路由协议的能耗

    最后,节点数在随机拓扑中变化,节点是静态的或移动的。 使用NS3进行仿真。 使用真实网络接口卡的参数。 从移动位置方案的结果来看,没有一种协议的性能优于其他协议。 即使OLSR在大多数情况下能耗最低。 但是,在...

Global site tag (gtag.js) - Google Analytics