配置具有 2 个实例(区域设置 + 远程)的群集时,应用程序日志 (Payara 4.1.1) 不显示



我用Payara Server做了一个集群,由两个实例组成,一个是本地,驻留在一个debian VM上,另一个远程,也驻留在另一个debian VM上。我部署了一个测试应用程序,当我在寻找日志时,就是找不到它们。更准确地说,我只是随机出现了一次,然后就再也没有了。它们显示在管理服务器->查看日志文件->实例1(本地)->日志文件-> 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;        
    }
}

日志文件映像

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

简而言之,如果您的域名是domain1,您应该能够在PAYARA_INSTALL/glassfish/nodes/localhost-domain1/instance1/logs/server.log中找到本地实例的日志。

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

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

@nakag已经在https://stackoverflow.com/a/31783809/2946593上说过,使用/ect/hosts中的环回地址将停止向集群实例显示日志。把这行注释掉:

<标题> 127.0.1.1"name_of_server"h1> 决了这个问题。

最新更新