我们有一对Oracle服务器,它们被设置为集群中的节点(如果我的术语已经过时,我会道歉).在我的tnsnames.ora文件中,我们有一个看起来像的条目
EXAMPLE.GOV =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.2.3.4)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.2.3.5)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = example.gov)
)
)
Run Code Online (Sandbox Code Playgroud)
这与我使用该tnsnames.ora文件的程序连接时有效.但是,我也有一个Java程序,它使用oracle.jdbc.pool.OracleDataSource类来建立连接
public static Connection connect() throws Exception {
OracleDataSource ods = new OracleDataSource();
ods.setDriverType("thin");
ods.setServerName("1.2.3.4");
ods.setDatabaseName("example");
ods.setPortNumber(1521);
ods.setUser("scott");
ods.setPassword("tiger");
return ods.getConnection();
}
Run Code Online (Sandbox Code Playgroud)
它只是直接连接到其中一个节点.我想改为使用负载平衡tnsnames.ora方法,它使用负载平衡或任何连接到其中一个节点的任何东西,这样如果其中一个节点关闭,那么它将自动连接到另一个节点.
由于我只有两个节点,我可以轻松地尝试打开与第一个节点的连接,然后如果不起作用则打开与第二个节点的连接.但是,我想知道是否有更正确的方法来做到这一点.
我看到有一个setTNSEntryName参数,但由于我tnsnames.ora在一个非标准的地方,我需要设置TNS_ADMIN环境变量,我不确定我甚至可以在Java中做什么.我也不确定这在任何情况下都会有效.
有谁知道如何从Java程序连接到Oracle节点集群?
正如在讨论这个职位,所以不适合使用单在集群环境中(因为在不同的JVM多单的对象),这必须是由Spring框架创建单身真.
如果这是正确的,那么我们必须非常小心使用Spring框架来使用单例类.你能否告诉我这是否正确理解?
我正在运行一个带有3个节点的cassandra集群.keyspace1配置为运行NetworkTopologyStrategy,
Run Code Online (Sandbox Code Playgroud)[default@Keyspace1] describe Keyspace1; Keyspace: Keyspace1: Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy Durable Writes: true Options: [datacenter1:1]
我尝试通过在cassandra CLI中的Node1上运行此命令来更新复制因子
使用strategy_options = {datacenter1:3}更新密钥空间Keyspace1;
但是当我使用describe Keyspace1再次检查时,我仍然看到选项:[datacenter1:1],复制因子没有改变.我尝试重启cassandra,尝试修复和清理所有节点,仍然没有效果.我错过了什么?
`
我一直在阅读Jenkins主/从配置,但我仍然有一些问题:
是不是真的安装了奴隶詹金斯并且像詹金斯大师那样开始了?我以为我会以同样的方式安装一个主Jenkins和另一个奴隶Jenkins,然后主人Jenkins将通过SSH控制奴隶?所以我无法通过GUI查看奴隶Jenkins?
我之所以考虑在另一个VM上添加从属Jenkins,是因为VM包含我们的应用程序服务器(许多测试环境).从主Jenkins部署和启动/停止应用程序服务器很痛苦,因为主Jenkins和应用程序服务器位于不同的计算机上.因此,如果我将一个从属Jenkins添加到我们的应用程序服务器所在的机器上,这些实际上将在本地部署和启动/停止(由奴隶Jenkins).如果我的推测仍然有效,我想知道我是否遗漏了一些东西.
我在局域网上有两台服务器,全新安装了Centos 6.4 minimal和R 3.0.1.两台计算机都安装了doParallel,snow和snowfall软件包.
服务器可以很好地互相ssh.
当我尝试在任一方向上创建集群时,我会收到密码提示,但输入密码后,它会无限期挂起.
makePSOCKcluster("192.168.1.1",user="username")
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
编辑:
我也尝试在上面提到的计算机上调用makePSOCKcluster,其主机能够用作从属设备(来自其他计算机),但它仍然挂起.那么,是否可能存在防火墙问题?我也尝试使用带端口22的makePSOCKcluster:
> makePSOCKcluster("192.168.1.1",user="username",port=22)
Error in socketConnection("localhost", port = port, server = TRUE, blocking = TRUE, :
cannot open the connection
In addition: Warning message:
In socketConnection("localhost", port = port, server = TRUE, blocking = TRUE, :
port 22 cannot be opened
Run Code Online (Sandbox Code Playgroud)
这是我的iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state …Run Code Online (Sandbox Code Playgroud) 我是MPI的新手,我想为其创建一个新的数据类型Residence struct.我只是想看看我是否可以正确地创建新类型.struct Residence {double x; 双y; };
我的新MPI类型
MPI_Datatype createRecType()
{
// Set-up the arguments for the type constructor
MPI_Datatype new_type;
int count = 2;
int blocklens[] = { 1,1 };
MPI_Aint indices[2];
//indices[0]=0;
MPI_Type_extent( MPI_DOUBLE, &indices[0] );
MPI_Type_extent( MPI_DOUBLE, &indices[1] );
MPI_Datatype old_types[] = {MPI_DOUBLE,MPI_DOUBLE};
MPI_Type_struct(count,blocklens,indices,old_types,&new_type);
MPI_Type_commit(&new_type);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用下面的链接在liferay 6.2中实现群集
我在liferay服务器portal-ext.properties和将Liferay服务器指向同一数据库的下面放置了属性.
cluster.link.enabled=true
cluster.link.autodetect.address=localhost:3306
lucene.replicate.write=true
Run Code Online (Sandbox Code Playgroud)
现在我从第一个Liferay实例向一个页面添加了一个portlet,并从Second Liferay实例访问同一页面(使用相同的用户ID)我收到错误消息" Invalid authentication Token".这似乎是集群中的会话复制问题但是无法弄清楚如何解决这个问题.
寻求帮助以弄清楚什么是错的.
提前致谢.
我有一个部署在集群上的应用程序.根据环境,群集可能有2个或4个JVM.该应用程序具有与我们在所有JVM上部署的相同的CamelContext.因此,所有JVM都具有相同的路由.对于FTP路由,这很好,因为它使它具有竞争力,只有1个JVM获取文件.但是,在使用基于计时器的操作从DB中获取时,我看到所有JVM都读取相同的记录集并执行相同的工作.我想要的是,如果一条路线捡起来,其他路线不应该尝试.我试着谷歌搜索这个.但是,找不到最好的方法.是否有支持此功能的默认camel组件?我在Camel文档中阅读了集群和负载平衡,但它没有帮助.JGroups和ZooKeeper特定于集群类型.任何帮助,将不胜感激.
我试图找出,如何参数我的2节点集群,以便有一个精确的副本,如果其中一个已关闭...使用此工具检查出来:http://www.ecyrd.com/cassandracalculator /
对于以下参数:
Cluster size: 2 / Replication Factor: 2 / Write Level: All / Read Level: One
Run Code Online (Sandbox Code Playgroud)
它给了我结果:
我同意所有这些结果,除了一个,"你可以幸免于没有节点的损失".我不明白为什么集群无法从一个节点丢失中存活,如果一个节点死亡,"Write:ALL"将写入剩下的唯一一个节点,不是吗?然后,当我重新启动第二个节点时,它应该与第一个节点同步,并再次接受写入,不是吗?
如果我错了,有人可以向我解释原因吗?
编辑:
除了持有%之外,更多配置将给出相同的结果:
Cluster size: 3 / Replication Factor: 2 / Write Level: All / Read Level: One
Cluster size: 3 / Replication Factor: 2 / Write Level: Quorum / Read Level: One
Run Code Online (Sandbox Code Playgroud)
即使我试图与Reads保持一致,而不是写入:
Cluster size: 2 / Replication …Run Code Online (Sandbox Code Playgroud) 我需要构建一个在Kubernetes集群中加入许多裸机节点的应用程序,我需要在这些节点之间使用共享的持久文件系统.节点应该能够同时在该文件系统中进行读写.
额外奖励:即使群集崩溃,有没有办法让文件系统保持活动状态?
我读过这篇文章,但无法找到这个问题的答案.
这个问题对我来说非常重要,因为这是我本科毕业论文的要求.