Failover Cluster – Size of the quorum disk for the Windows Server 2019 failover cluster

I set up a failover cluster for Windows Server 2019, and I saw the advice to put the cluster quorum on its own LUN. How much space should I reserve for this? It does not seem to take up much space in my test cluster. This cluster is used for MS SQL if it makes a difference.

Similar question for Server 2008: Size of quorum disk for Windows 2008R2 failover

Cluster Analysis – Checking Gap Statistics with KMeans / KMedoids

Relatively basic question here about Find cluster / clustering Components, I noticed that Mathematica has an option for both of them KMeans / KMedoids as well as gap Statistics for determining the optimal number of clusters. However, it seems that these can not be used together KMeans / KMedoids require the number of previously entered clusters. Both MATLAB and R allow the use of these clustering methods with gap statistics. Does anyone know some Mathematica code that is out there to implement this, or is there a way out that I have not discovered yet?

Many Thanks 🙂

mysql cluster – Error in NdbJTie: message containing NULL ptr at the end of the keyData list

Question: com.mysql.clusterj.ClusterJDatastoreException: Error in ndbJTie: returnCode, code 4,276, mysqlCode -1, state 2, classification 1, message NULL ptr missing at the end of the list of key data

I'm using ClusterJ with 6 data nodes, 4 MySQL nodes, and one management node on a single host. All tables in the database use the ndbcluster engine.

I have created a REST service that uses clusterj to communicate with the database in the mysql cluster.

If I press 3 or more REST APIs, I get the error message

public void create (EmployeeDTO employeeDTO) {
session = dbAccessor.getSession ();
IEmployee employee = session.newInstance (IEmployee.class);
setEmployee (employeeDTO, employee);
session.persist (employee);
session.close ();

public void create (CompensationDTO CompensationDTO) {
session = dbAccessor.getSession ();
Compensation Compensation = session.newInstance (ICompensation.class);
SetCompensation (compensationDTO, compensation);
session.persist (compensation);
session.close ();

public void create (participationDTO participationDTO) {
session = dbAccessor.getSession ();
IAttendance Attendance = session.newInstance (IAttendance.class);
setAttendance (ParticipationDTO, Attendance);
session.persist (presence);
session.close ();

REST APIs simultaneously encounter the three methods mentioned above. However, the application crashes and displays the log each time

com.mysql.clusterj.ClusterJDatastoreException: Error in ndbJTie: returnCode, code 4,276, mysqlCode -1, state 2, classification 1, message NULL ptr missing at the end of the list of key data.
at com.mysql.clusterj.tie.Utility.throwError ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.DbImpl.handleError ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.DbImpl.enlist ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.PartitionKeyImpl.enlist ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.ClusterTransactionImpl.enlist ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.ClusterTransactionImpl.insertTuple ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.NdbRecordOperationImpl.insert ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.tie.NdbRecordSmartValueHandlerImpl.insert ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.core.SessionImpl.insert ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.core.SessionImpl.makePersistent ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.mysql.clusterj.core.SessionImpl.persist ( ~[clusterj-runtime-8.0.14.jar:na]
    at com.rakuten.payroll.mysql.dao.AttendanceMysqlDAO.create ( ~[classes/:na]
    at com.rakuten.payroll.mysql.dao.AttendanceMysqlDAO $$ FastClassBySpringCGLIB $$ f0a425e1.invoke ()[classes/:na]
    at org.springframework.cglib.proxy.MethodProxy.invoke ( ~[spring-core-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint ( ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed ( ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at ( ~[spring-tx-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed ( ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept ( ~[spring-aop-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at com.rakuten.payroll.mysql.dao.AttendanceMysqlDAO $$ EnhancerBySpringCGLIB $$ 97f698c1.create ()[classes/:na]
    at com.rakuten.payroll.service.AttendanceService.addAttendance ( ~[classes/:na]
    at com.rakuten.payroll.controllers.AttendanceController.addAttendance ( ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) ~[na:1.8.0_201]
    at sun.reflect.NativeMethodAccessorImpl.invoke ( ~[na:1.8.0_201]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke ( ~[na:1.8.0_201]
    at java.lang.reflect.Method.invoke ( ~[na:1.8.0_201]
    at ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doPost ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at javax.servlet.http.HttpServlet.service ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.springframework.web.servlet.FrameworkServlet.service ( ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at javax.servlet.http.HttpServlet.service ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter ( ~[tomcat-embed-websocket-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.springframework.web.filter.FormContentFilter.doFilterInternal ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter ( ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.StandardWrapperValve.invoke ( ~[tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.StandardContextValve.invoke ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.StandardHostValve.invoke ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.valves.ErrorReportValve.invoke ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.core.StandardEngineValve.invoke ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.catalina.connector.CoyoteAdapter.service ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.coyote.http11.Http11Processor.service ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.coyote.AbstractProcessorLight.process ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at org.apache.coyote.AbstractProtocol $ ConnectionHandler.process ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at $ SocketProcessor.doRun ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at java.util.concurrent.ThreadPoolExecutor.runWorker ( [na:1.8.0_201]
    at java.util.concurrent.ThreadPoolExecutor $ ( [na:1.8.0_201]
    at org.apache.tomcat.util.threads.TaskThread $ ( [tomcat-embed-core-9.0.14.jar:9.0.14]
    at ( [na:1.8.0_201]

List of reasons for / against using the Kubernetes cluster for memory / data centric applications?

I've read a lot about kubernetes and still can not find an answer to my doubts.

I have the impression that cubic stateless nature is a great solution for stateless apps that requires balancing, auto-scaling, … but a bad one for all types of memory / data-centric applications (databases, blockchains, backups, etc.). ). .) where data integrity is a must, something "secondary". I know that there were some suggestions for introducing StatefulSets. However, it seems to me (I'm not an expert at all) that a cluster in this context has no advantage over non-cluster deployments.

I mean, DDBBs do their best to protect data. Oracle and others even provide direct access to the hard drive to avoid conflicts with the operating system. If you run them over an abstraction layer like cubernet, I get the impression that all kinds of protections can be lost in the chaos of persistent volumes, volumes, underlying Docker volumes, operating system storage mechanism, ….

Do you have a list of good reasons to use Kubernetes in such a case? (Or any arguments for / against my previous comments)

elasticsearch – SHH in the private cluster node GKE

I need to install a plugin on every node in my private cluster.
I tried to add an external IP with:

gcloud calculation instances add-access-config gke-private-cluster-node-name

But then it works SSH in the nodes
(IP registered in authorized cluster networks)

    gcloud compute ssh gke-private-cluster

"I get: Operation timed out"

Same thing when I try it in the compute engine console, but with error:

"We can not connect to the VM on port 22."

Is it a firewall rule that needs to be activated? Any hint would be helpful!

node.js – NodeJS cluster, useful use cases?

I'm researching use cases to introduce cluster computing with nodejs to a few friends.

My goal is to explain some real cases of nodejs clusters, and why knotjs is helpful in creating these special cases.

So far, I really like a single case:

  • Clustering a web server (like an API server to REST) (Reason: load distribution)

I have seen examples of expensive computation and the advantages that arise on a different thread / processor.

This has led me to think about whether there are work pools where each pool performs different parts, e.g. For example, connecting to a database, generating PDFs, and the like.

While trying to understand the connections between the worker and the master, I played around and am still unsure:

  • nodejs clusters are only suitable for running the same process in parallel (documentation suggests)
  • or does it make sense to have node cluster clusters as separate tasks in pools.

.. which leads to the following results: Which use cases are actually real with nodejs?

I hope it is understandable.
Opinions are very welcomed.

Secondary nodes in mysql 8.0.15 in the innodb cluster do not read the variable group_replication_member_expel_timeout from my.cnf

I have set up a 3-node MySQL 8.0.15 Innodb cluster. I tried to set the group_replication_member_expel_timeout variable to 60 using the /etc/my.cnf file. Although the primary node has read the variable correctly, secondary nodes do not pick up that variable and still use the default value of 0.

Here are the contents of the file /etc/my.cnf


default-authentication-plugin = mysql_native_password

datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
group_replication_member_expel_timeout = 60
log-error = / var / log / mysqld.log
pid-file = / var / run / mysqld /
collation-server = utf8_unicode_ci
Character set server = utf8

After the restart, here are the variables in the mysqld instance.

mysql> select @@ version;
+ ----------- +
| @@ version |
+ ----------- +
| 8.0.15 |
+ ----------- +

mysql> select @@ group_replication_member_expel_timeout;
+ -------------------------------------- +
| @@ group_replication_member_expel_timeout |
+ -------------------------------------- +
| 0 |
+ -------------------------------------- +

I tried to replace group_replication_member_expel_timeout with group-replication-member-expel-timeout in the file /etc/my.cnf, but to no avail.
I also noticed that all other variables are read correctly. This is just a problem with the variable group_replication_member_expel_timeout.

The MySQL Innodb cluster does not display MySQL server instances in the MySQL shell

I followed the manual method of the Docker Innodb cluster to create an Innodb cluster. Now in the MySQL server instance by running Select * from Performance_schema.replication_group_membersI can see that the group contains 3 nodes:

mysql select statements specify three nodes in the group

However, the mysql shell specifies only one node in the cluster:

The MySQL shell shows a node in the cluster

Why are not they identical? I think the replication group in this example is the same as an Innodb cluster.