我一直在尝试使用3个Ubuntu节点上的MySQL Cluster Manager设置一个MySQL集群(3个相同的虚拟机实例,每个节点有1GB RAM)。
我在MySQL网站上关注了MySQL Cluster Manager上的视频。没有太多其他文档/教程(可能是因为它是商业产品)。
我启动集群并显示状态,但mysqld节点永远不会启动,它们只是保持“添加”状态。如果我使用“sudo apt-get install mysql-server”安装mysql-server,那么我将运行正常的本地服务器,并且节点注册为“已启动”,但我看不到如何连接到群集而不是个人MySQL服务器在mysqld节点上运行。
我也不知道如何组织MySQL Cluster的Java连接器,似乎有多个库,所以我甚至不知道我需要哪个库或如何获取它们(有些是在创建时创建的)编译MySQL Cluster ???)。有人可以解释连接器如何与Java中的NDB交互以及如何获取它们?
感谢您的回答。
答案 0 :(得分:2)
首先,可以通过导航到dev.mysql.com上的Cluster文档(称为“MySQL Cluster Manager”)找到MySQL Cluster Manager的官方文档。你是正确的MySQL Cluster Manager是商业软件,尽管MySQL Cluster本身可以在商业或GPL许可下使用。
听起来好像您已经配置了代理并让它们运行,因此如果您希望快速启动群集并运行,请参阅此simple worked example of using MySQL Cluster Manager
在理解为什么MySQL服务器(mysqlds)没有启动方面,你的问题中没有太多线索,所以我们需要缩小范围(一个原因可能是你在同一个地方定义了多个mysqlds)尝试使用默认端口的主机(3306))。
要查看经理一直在做什么,请查看名为mysql-cluster-manager.log的文件。您可以使用集群管理器配置文件调整日志记录级别。
要查看MySQL Cluster本身认为发生了什么,请检查存储群集数据文件的目录(如果您没有覆盖默认值,那么这将在/ clusters /下面,然后您将看到每个目录集群中的节点)。第一个要检查的是ndb__cluster.log以及您在与ndb_mgmd节点关联的id的“data”子目录中找到的其他日志。还将有每个节点的日志文件,因此还要检查存储在与mysqld node-ids关联的数据目录中的mysqld_ out.err和mysqld _out.log文件。
最重要的一点是不使用安装了“sudo apt-get install mysql-server”的mysqld,因为这个版本与MySQL Cluster不兼容 - 总是使用来自的二进制文件使用MySQL Cluster tar ball(或者如果使用的Cluster Manager对你来说应该是透明的。
请注意,如果您想在没有MySQL Cluster Manager的单个主机上启动并运行MySQL Cluster,请参阅MySQL Cluster下载站点上的快速入门指南(在mysql.com而不是e-Delivery上)。
对于java访问,请试用MySQL Cluster ClusterJ tutorial。