Java 无法在现有Apache Ignite单节点群集中创建缓存
我在我的单主机pc上运行两个Apache Ignite实例(版本2.2.0),它们相互发现,没有任何问题。 我现在想做的是,在这个现有的“伪集群”中简单地创建一个IgniteCache,最好不用启动一个新实例。 这是我现在掌握的代码:Java 无法在现有Apache Ignite单节点群集中创建缓存,java,caching,ignite,Java,Caching,Ignite,我在我的单主机pc上运行两个Apache Ignite实例(版本2.2.0),它们相互发现,没有任何问题。 我现在想做的是,在这个现有的“伪集群”中简单地创建一个IgniteCache,最好不用启动一个新实例。 这是我现在掌握的代码: public class Create_Ignite_Cache { public static void main(String[] args){ TcpDiscoverySpi spi = new TcpDiscoverySpi(); Tc
public class Create_Ignite_Cache {
public static void main(String[] args){
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipFinder=new TcpDiscoveryMulticastIpFinder();
List<String> adresses=new ArrayList<String>();
adresses.add("127.0.0.1");
ipFinder.setAddresses(adresses);
spi.setIpFinder(ipFinder);
IgniteConfiguration cfg=new IgniteConfiguration()
.setDiscoverySpi(spi).setClientMode(true);
CacheConfiguration cache_conf=new CacheConfiguration<String,String>().setCacheMode(CacheMode.PARTITIONED).setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL).setBackups(1).
setGroupName("Test_group").setIndexedTypes(String.class,String.class).setName("Test_Cache");
Ignite ignite=Ignition.getOrStart(cfg);
ignite.getOrCreateCache(cache_conf);
System.out.print("[INFO] CACHE CREATED");
ignite.close();
}
}
但是,当我运行ignitevisor检查缓存列表时,它没有任何缓存:
visor> cache
(wrn) <visor>: No caches found.
visor>cache
(警告):未找到缓存。
我的问题是:使用这种方法我做错了什么?
有没有一种方法可以在现有集群中创建缓存而不必创建客户端实例?以JDBC连接为例?我尝试了您的代码,Visor显示了创建的缓存 拓扑快照表示您只有一个服务器节点。有没有可能,服务器节点没有相互发现,而是形成了两个不同的集群? 您可以在其中一个缓存中创建缓存,并通过Visor连接到另一个缓存。 尝试
node
Visor命令并检查是否看到所有服务器节点
为了避免启动额外的节点来创建缓存,可以在节点XML配置中正确配置缓存。请看一个例子:
如果要使用JDBC连接创建缓存,可以使用
createtable
DDL命令。文档:我尝试了您的代码,Visor显示了创建的缓存
拓扑快照表示您只有一个服务器节点。有没有可能,服务器节点没有相互发现,而是形成了两个不同的集群?
您可以在其中一个缓存中创建缓存,并通过Visor连接到另一个缓存。
尝试node
Visor命令并检查是否看到所有服务器节点
为了避免启动额外的节点来创建缓存,可以在节点XML配置中正确配置缓存。请看一个例子:
如果要使用JDBC连接创建缓存,可以使用
createtable
DDL命令。文档:我尝试了下面的代码段,缓存成功创建
+-----------------------------------------------------------+-------------+-------+---------------------------+-----------+-----------+-----------+-----------+
|测试缓存(@c19)|分区|
2 | min:0(0/0)| min:0 | min:0 | min:0 | min:
0 |
|| ||平均值:0.00(0.00/0.00)|平均值:0.00 |平均值:0.00 |平均值:0.00 |平均值:0.00 | || |
|最大值:0(0/0)|最大值:0 |最大值:0 |最大值:0 |最大值:0
| 使用visor中的“node”命令可以看到这两个节点吗? 我使用选项13打开了visor-examples\config\example-ignite.xml
希望这有帮助 我尝试了下面的代码段,缓存成功创建 +-----------------------------------------------------------+-------------+-------+---------------------------+-----------+-----------+-----------+-----------+ |测试缓存(@c19)|分区| 2 | min:0(0/0)| min:0 | min:0 | min:0 | min: 0 | || |
|平均值:0.00(0.00/0.00)|平均值:0.00 |平均值:0.00 |平均值:0.00 |平均值:0.00 | || |
|最大值:0(0/0)|最大值:0 |最大值:0 |最大值:0 |最大值:0
| 使用visor中的“node”命令可以看到这两个节点吗? 我使用选项13打开了visor-examples\config\example-ignite.xml
希望这有帮助 谢谢,事实上节点之间没有发现对方,我必须为要发现的实例设置端口范围。这是我从未为两台独立的机器做过的事情,因为它们有不同的IP,但显然这对于本地主机“集群”是必要的。无论如何,谢谢谢谢谢谢,事实上节点之间没有发现对方,我必须为要发现的实例设置端口范围。这是我从未为两台独立的机器做过的事情,因为它们有不同的IP,但显然这对于本地主机“集群”是必要的。无论如何,谢谢你
visor> cache
(wrn) <visor>: No caches found.