Search in sources :

Example 6 with Nodeid

use of org.apache.asterix.event.schema.pattern.Nodeid in project asterixdb by apache.

the class PatternCreator method createPrepareNodePattern.

public Patterns createPrepareNodePattern(String instanceName, Cluster cluster, Node nodeToBeAdded) {
    List<Pattern> ps = new ArrayList<>();
    boolean workingDirOnNFS = cluster.getWorkingDir().isNFS();
    if (!workingDirOnNFS) {
        String ccLocationIp = cluster.getMasterNode().getClusterIp();
        String destDir = cluster.getWorkingDir().getDir() + File.separator + "asterix";
        Pattern copyHyracks = createCopyHyracksPattern(instanceName, cluster, ccLocationIp, destDir);
        ps.add(copyHyracks);
        String workingDir = cluster.getWorkingDir().getDir();
        String hadoopVersion = AsterixEventService.getConfiguration().getBackup().getHdfs().getVersion();
        File hadoopDir = new File(AsterixEventService.getEventHome() + File.separator + "hadoop-" + hadoopVersion);
        if (!hadoopDir.exists()) {
            throw new IllegalStateException("Hadoop version :" + hadoopVersion + " not supported");
        }
        Nodeid nodeid = new Nodeid(new Value(null, EventDriver.CLIENT_NODE.getId()));
        String username = cluster.getUsername() != null ? cluster.getUsername() : System.getProperty("user.name");
        String pargs = username + " " + hadoopDir.getAbsolutePath() + " " + cluster.getMasterNode().getClusterIp() + " " + workingDir;
        Event event = new Event("directory_transfer", nodeid, pargs);
        Pattern p = new Pattern(null, 1, null, event);
        addInitialDelay(p, 2, "sec");
        ps.add(p);
        nodeid = new Nodeid(new Value(null, nodeToBeAdded.getId()));
        pargs = cluster.getUsername() + " " + hadoopDir.getAbsolutePath() + " " + nodeToBeAdded.getClusterIp() + " " + workingDir;
        event = new Event("directory_transfer", nodeid, pargs);
        p = new Pattern(null, 1, null, event);
        addInitialDelay(p, 2, "sec");
        ps.add(p);
    }
    return new Patterns(ps);
}
Also used : Pattern(org.apache.asterix.event.schema.pattern.Pattern) ArrayList(java.util.ArrayList) Nodeid(org.apache.asterix.event.schema.pattern.Nodeid) Value(org.apache.asterix.event.schema.pattern.Value) Event(org.apache.asterix.event.schema.pattern.Event) File(java.io.File) Patterns(org.apache.asterix.event.schema.pattern.Patterns)

Example 7 with Nodeid

use of org.apache.asterix.event.schema.pattern.Nodeid in project asterixdb by apache.

the class PatternCreator method createNCStopPattern.

public Pattern createNCStopPattern(String hostId, String nodeControllerId) {
    Nodeid nodeid = new Nodeid(new Value(null, hostId));
    Event event = new Event("node_failure", nodeid, nodeControllerId);
    return new Pattern(null, 1, null, event);
}
Also used : Pattern(org.apache.asterix.event.schema.pattern.Pattern) Nodeid(org.apache.asterix.event.schema.pattern.Nodeid) Value(org.apache.asterix.event.schema.pattern.Value) Event(org.apache.asterix.event.schema.pattern.Event)

Example 8 with Nodeid

use of org.apache.asterix.event.schema.pattern.Nodeid in project asterixdb by apache.

the class PatternCreator method createRemoveAsterixTxnLogs.

private Patterns createRemoveAsterixTxnLogs(AsterixInstance instance) throws Exception {
    List<Pattern> patternList = new ArrayList<>();
    Cluster cluster = instance.getCluster();
    Nodeid nodeid;
    Event event;
    for (Node node : cluster.getNode()) {
        String txnLogDir = node.getTxnLogDir() == null ? cluster.getTxnLogDir() : node.getTxnLogDir();
        nodeid = new Nodeid(new Value(null, node.getId()));
        event = new Event("file_delete", nodeid, txnLogDir);
        patternList.add(new Pattern(null, 1, null, event));
    }
    return new Patterns(patternList);
}
Also used : Pattern(org.apache.asterix.event.schema.pattern.Pattern) Node(org.apache.asterix.event.schema.cluster.Node) ArrayList(java.util.ArrayList) Nodeid(org.apache.asterix.event.schema.pattern.Nodeid) Value(org.apache.asterix.event.schema.pattern.Value) Cluster(org.apache.asterix.event.schema.cluster.Cluster) Event(org.apache.asterix.event.schema.pattern.Event) Patterns(org.apache.asterix.event.schema.pattern.Patterns)

Example 9 with Nodeid

use of org.apache.asterix.event.schema.pattern.Nodeid in project asterixdb by apache.

the class PatternCreator method getLibraryInstallPattern.

public Patterns getLibraryInstallPattern(AsterixInstance instance, String dataverse, String libraryName, String libraryPath) throws Exception {
    List<Pattern> patternList = new ArrayList<>();
    Cluster cluster = instance.getCluster();
    Nodeid nodeid = new Nodeid(new Value(null, EventDriver.CLIENT_NODE.getId()));
    String username = cluster.getUsername() != null ? cluster.getUsername() : System.getProperty("user.name");
    String workingDir = cluster.getWorkingDir().getDir();
    String destDir = workingDir + File.separator + "library" + File.separator + dataverse + File.separator + libraryName;
    String fileToTransfer = new File(libraryPath).getAbsolutePath();
    Iterator<Node> installTargets = cluster.getNode().iterator();
    Node installNode = installTargets.next();
    String destinationIp = installNode.getClusterIp();
    String pargs = username + " " + fileToTransfer + " " + destinationIp + " " + destDir + " " + "unpack";
    Event event = new Event("file_transfer", nodeid, pargs);
    Pattern p = new Pattern(null, 1, null, event);
    patternList.add(p);
    if (!cluster.getWorkingDir().isNFS()) {
        while (installTargets.hasNext()) {
            Node node = installTargets.next();
            pargs = username + " " + fileToTransfer + " " + node.getClusterIp() + " " + destDir + " " + "unpack";
            event = new Event("file_transfer", nodeid, pargs);
            p = new Pattern(null, 1, null, event);
            patternList.add(p);
        }
        pargs = username + " " + fileToTransfer + " " + cluster.getMasterNode().getClusterIp() + " " + destDir + " " + "unpack";
        event = new Event("file_transfer", nodeid, pargs);
        p = new Pattern(null, 1, null, event);
        patternList.add(p);
    }
    return new Patterns(patternList);
}
Also used : Pattern(org.apache.asterix.event.schema.pattern.Pattern) Node(org.apache.asterix.event.schema.cluster.Node) ArrayList(java.util.ArrayList) Nodeid(org.apache.asterix.event.schema.pattern.Nodeid) Value(org.apache.asterix.event.schema.pattern.Value) Cluster(org.apache.asterix.event.schema.cluster.Cluster) Event(org.apache.asterix.event.schema.pattern.Event) File(java.io.File) Patterns(org.apache.asterix.event.schema.pattern.Patterns)

Example 10 with Nodeid

use of org.apache.asterix.event.schema.pattern.Nodeid in project asterixdb by apache.

the class PatternCreator method createCCStartPattern.

private Pattern createCCStartPattern(String hostId) {
    Nodeid nodeid = new Nodeid(new Value(null, hostId));
    Event event = new Event("cc_start", nodeid, "");
    return new Pattern(null, 1, null, event);
}
Also used : Pattern(org.apache.asterix.event.schema.pattern.Pattern) Nodeid(org.apache.asterix.event.schema.pattern.Nodeid) Value(org.apache.asterix.event.schema.pattern.Value) Event(org.apache.asterix.event.schema.pattern.Event)

Aggregations

Nodeid (org.apache.asterix.event.schema.pattern.Nodeid)22 Pattern (org.apache.asterix.event.schema.pattern.Pattern)22 Value (org.apache.asterix.event.schema.pattern.Value)22 Event (org.apache.asterix.event.schema.pattern.Event)21 ArrayList (java.util.ArrayList)17 Patterns (org.apache.asterix.event.schema.pattern.Patterns)17 Node (org.apache.asterix.event.schema.cluster.Node)16 Cluster (org.apache.asterix.event.schema.cluster.Cluster)13 File (java.io.File)5 FileOutputStream (java.io.FileOutputStream)1 HashMap (java.util.HashMap)1 JAXBContext (javax.xml.bind.JAXBContext)1 Marshaller (javax.xml.bind.Marshaller)1