Here are my answers to your questions:
Can you explain a bit more precisely where you got stuck?
After I import the local CA file (ca.pem) in the remote cluster, I cannot send query the data from the coordinator node in the local cluster. Then when I tried to restart this coordinator, I got Java exceptions attached as below.
Caused by: java.lang.IllegalStateException: failed to connect to remote clusters
at org.elasticsearch.transport.RemoteClusterService.initializeRemoteClusters(RemoteClusterService.java:340) ~[elasticsearch-6.2.4.jar:6.2.4]
at org.elasticsearch.transport.TransportService.doStart(TransportService.java:231) ~[elasticsearch-6.2.4.jar:6.2.4]
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:66) ~[elasticsearch-6.2.4.jar:6.2.4]
When you say "the CA" what do you mean?
I mean the CA PEM file.
Do you have one CA shared by both clusters, or does each cluster have its own CA?
Each cluster has its own CA file. And I don't think the CA needs to be imported/applied if they use the same one.
What do you mean by "applied"?
I mean import to the key store.
In addition, I think you get my point here: the trust relationship actually needs to be bidirectional. Each cluster needs to trust the other cluster's CA (if they don't use/share the same CA.)