0

我已经使用由两个实例组成的Payara Server完成了一个集群,一个是本地广告驻留在一个 debian VM 上,另一个是远程驻留在另一个 debian VM 上。我部署了一个测试应用程序,当我寻找日志时却找不到它们。更准确地说,我只提到一次几乎随机出现,然后仅此而已。它们显示在 Admin Server-->View Logs File --> instance 1(local) -->log file --> server.log中。

下面的测试应用

package clusterTest;

import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class MySession implements Serializable {

    private String val;
    private static final Logger LOG = Logger.getLogger(MySession.class.getName());



    public String getVal() {
        LOG.log(Level.INFO, "getVal{0}", val);
        System.out.println("getVal");
        return val;
    }

    public void setVal(String val) {
        LOG.log(Level.INFO, "setVal{0}", val);
        System.out.println("setVal");
        this.val = val;        
    }

}

日志文件的图像

4

2 回答 2

1

Payara 服务器为每个实例创建一个单独的目录,这样它就不会与域管理服务器的工作目录混合。

简而言之,如果您的域名是domain1,您应该能够在PAYARA_INSTALL/glassfish/nodes/localhost-domain1/instance1/logs/server.log.

Payara Server 以及 GlassFish 创建实例并将它们放置在节点下。节点代表实例的位置 - 在您的情况下,您很可能有一个本地节点和一个用于第二个远程实例的节点。它们的配置是 domain.xml 的一部分,但在首次启动实例之前,Payara Server 会在目录内的一个目录中生成另一个单独的目录,其中包含配置和运行时数据(如日志),该目录与glassfish/nodes目录位于同一目录中domains

远程实例的文件应该存在于远程 Payara 服务器安装中的类似位置。

于 2016-09-29T09:00:05.843 回答
0

正如@nakag 已经在https://stackoverflow.com/a/31783809/2946593上所说的那样,使用 /ect/hosts 中的环回地址停止将日志显示到集群的实例中。所以只需注释掉这一行:

127.0.1.1 "name_of_server"

在集群的每个节点上都解决了这个问题。

于 2016-10-04T13:56:31.243 回答