Net-Hadoop-YARN

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Data::Dumper" : "0",
            "HTML::PullParser" : "0",
            "HTTP::Request" : "0",
            "Hash::Path" : "0",
            "JSON::XS" : "0",
            "LWP::Authen::Negotiate" : "0",
            "LWP::UserAgent" : "0",
            "Moo" : "0",
            "Moo::Role" : "0",
            "POSIX" : "0",
            "Ref::Util" : "0",
            "Regexp::Common" : "0",
            "Scalar::Util" : "0",
            "Socket" : "0",
            "Text::Trim" : "0",
            "Time::Duration" : "0",
            "Time::HiRes" : "0",
            "URI" : "0",
            "XML::LibXML::Simple" : "0",
            "constant" : "0",
            "perl" : "5.010",

META.yml  view on Meta::CPAN

  Data::Dumper: '0'
  HTML::PullParser: '0'
  HTTP::Request: '0'
  Hash::Path: '0'
  JSON::XS: '0'
  LWP::Authen::Negotiate: '0'
  LWP::UserAgent: '0'
  Moo: '0'
  Moo::Role: '0'
  POSIX: '0'
  Ref::Util: '0'
  Regexp::Common: '0'
  Scalar::Util: '0'
  Socket: '0'
  Text::Trim: '0'
  Time::Duration: '0'
  Time::HiRes: '0'
  URI: '0'
  XML::LibXML::Simple: '0'
  constant: '0'
  perl: '5.010'

Makefile.PL  view on Meta::CPAN

    "Data::Dumper" => 0,
    "HTML::PullParser" => 0,
    "HTTP::Request" => 0,
    "Hash::Path" => 0,
    "JSON::XS" => 0,
    "LWP::Authen::Negotiate" => 0,
    "LWP::UserAgent" => 0,
    "Moo" => 0,
    "Moo::Role" => 0,
    "POSIX" => 0,
    "Ref::Util" => 0,
    "Regexp::Common" => 0,
    "Scalar::Util" => 0,
    "Socket" => 0,
    "Text::Trim" => 0,
    "Time::Duration" => 0,
    "Time::HiRes" => 0,
    "URI" => 0,
    "XML::LibXML::Simple" => 0,
    "constant" => 0,
    "strict" => 0,

Makefile.PL  view on Meta::CPAN

  "HTTP::Request" => 0,
  "Hash::Path" => 0,
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "JSON::XS" => 0,
  "LWP::Authen::Negotiate" => 0,
  "LWP::UserAgent" => 0,
  "Moo" => 0,
  "Moo::Role" => 0,
  "POSIX" => 0,
  "Ref::Util" => 0,
  "Regexp::Common" => 0,
  "Scalar::Util" => 0,
  "Socket" => 0,
  "Test::More" => 0,
  "Text::Trim" => 0,
  "Time::Duration" => 0,
  "Time::HiRes" => 0,
  "URI" => 0,
  "XML::LibXML::Simple" => 0,
  "constant" => 0,

dist.ini  view on Meta::CPAN

perl                 = 5.010

Constant::FromGlobal = 0
HTTP::Request        = 0
Hash::Path           = 0
HTML::PullParser     = 0
JSON::XS             = 0
LWP::UserAgent       = 0
Moo                  = 0
Regexp::Common       = 0
Ref::Util            = 0
URI                  = 0
XML::LibXML::Simple  = 0

[ExecDir]
[ShareDir]

[GitHub::Meta]

[Meta::Contributors]
contributor = Burak Gursoy <burak@cpan.org>

lib/Net/Hadoop/YARN/ApplicationMaster.pm  view on Meta::CPAN

        \Qcould not be found, please try the history server\E
    }xms,
};

use Constant::FromGlobal DEBUG => { int => 1, default => 0, env => 1 };

use Carp         ();
use Clone        ();
use HTML::PullParser;
use Moo;
use Ref::Util    ();
use Scalar::Util ();

use Net::Hadoop::YARN::HistoryServer;

with 'Net::Hadoop::YARN::Roles::AppMasterHistoryServer';
with 'Net::Hadoop::YARN::Roles::Common';

has '+servers' => (
    default => sub {["localhost:8088"]},
);

lib/Net/Hadoop/YARN/ApplicationMaster.pm  view on Meta::CPAN

    my @rv;
    eval {
        @rv = $self->history_object->$hmethod( @hist_param );
        1;
    } or do {
        my $eval_error_hist = $@ || 'Zombie error';
        Carp::confess "Received HTML from the API and attempting to map that to a historical job failed: $error\n$eval_error_hist\n";
    };

    foreach my $thing ( @rv ) {
        next if ! Ref::Util::is_hashref $thing;
        $thing->{__from_history} = 1;
    }

    return @rv;
}

sub _extract_ids_from_error_html {
    my $self  = shift;
    my $error = shift || Carp::confess "No error message specified!";
    my(undef, $html) = split m{\Q<!DOCTYPE\E}xms, $error, 2;

lib/Net/Hadoop/YARN/NameNode/JMX.pm  view on Meta::CPAN

package Net::Hadoop::YARN::NameNode::JMX;
$Net::Hadoop::YARN::NameNode::JMX::VERSION = '0.203';
use 5.10.0;
use strict;
use warnings;
use Ref::Util qw( is_arrayref );

use Moo;

my $RE_TIMEOUT = qr{ \Q500 read timeout\E }xms;
my $RE_DEAD    = qr{ \Q500 Can't connect to\E .+? \QConnection refused\E }xms;

has namenodes => (
    is      => 'rw',
    default => sub {
        die "namenodes not specified";

lib/Net/Hadoop/YARN/ResourceManager.pm  view on Meta::CPAN

package Net::Hadoop::YARN::ResourceManager;
$Net::Hadoop::YARN::ResourceManager::VERSION = '0.203';
use strict;
use warnings;
use 5.10.0;

use Data::Dumper;
use Moo;
use Ref::Util qw(
    is_ref
    is_arrayref
    is_hashref
);
use Scalar::Util qw(
    refaddr
);

with 'Net::Hadoop::YARN::Roles::Common';

lib/Net/Hadoop/YARN/ResourceManager/Scheduler/UserApps.pm  view on Meta::CPAN

package Net::Hadoop::YARN::ResourceManager::Scheduler::UserApps;
$Net::Hadoop::YARN::ResourceManager::Scheduler::UserApps::VERSION = '0.203';
use 5.10.0;
use strict;
use warnings;

use Data::Dumper   ();
use Moo;
use POSIX          ();
use Ref::Util      ();
use Scalar::Util   ();
use Time::Duration ();
use Net::Hadoop::YARN::ResourceManager;

has rm_object => (
    is       => 'rw',
    isa      => sub {
        my $thing = shift;
        my $type  = 'Net::Hadoop::YARN::ResourceManager';
        if (   ! $thing

lib/Net/Hadoop/YARN/ResourceManager/Scheduler/UserApps.pm  view on Meta::CPAN

        );
    },
);

sub collect {
    my $self = shift;
    my $user = shift || die "No user name was specified";

    my $apps = $self->rm_object->apps( user => $user );

    if ( ! Ref::Util::is_arrayref $apps ) {
        if ( Ref::Util::is_hashref $apps ) {
            if ( my $check = $apps->{apps} ) {
                if ( ! keys %{ $check }) {
                    $apps = [];
                }
                else {
                    die sprintf "[TODO-1] Don't know what to do with %s",
                                Data::Dumper::Dumper [ $user => $apps ],
                    ;
                }
            }

lib/Net/Hadoop/YARN/ResourceManager/Scheduler/UserApps.pm  view on Meta::CPAN

        # [STRING]"applicationTags"
        # the value is something like "oozie-59a27f107d250c9822fd45e87fd40db8"
        # which is not the job id.

        foreach my $hash_or_string ( qw(
            diagnostics
            applicationTags
        )) {
            next if ! exists $app->{ $hash_or_string };
            # This is a bug in the REST layer
            if (   Ref::Util::is_hashref $app->{ $hash_or_string }
                && ! keys %{ $app->{ $hash_or_string } }
            ) {
                $app->{ $hash_or_string } = '';
            }
        }

        # https://www.cloudera.com/documentation/enterprise/latest/topics/cm_dg_yarn_applications.html
        foreach my $duration_field ( qw(
            vcoreSeconds
            elapsedTime

lib/Net/Hadoop/YARN/ResourceManager/Scheduler/UserApps.pm  view on Meta::CPAN

    # TODO: possibly needs to be removed if we are sure that the code above
    # is handling all of the possible states. So, this is a "just in case" part
    #
    push @grouped, {
        state => 'rest',
        apps  => [ map { @{ $_ } } values %apps_by_state ],
    };

    # Spark jobs are returned like this for whatever reason.
    if ( my $apps = $grouped[-1]->{apps} ) {
        if ( Ref::Util::is_arrayref $apps && Ref::Util::is_arrayref $apps->[0] ) {
            $grouped[-1]->{apps} = [ @{ $apps->[0] } ];
        }
    }

    return {
        grouped_apps => [ grep { @{ $_->{apps} } > 0 } @grouped ],
        total_apps   => scalar @{ $apps },
        resources    => \%total_res,
        user         => $user,
    };

lib/Net/Hadoop/YARN/Roles/JMX.pm  view on Meta::CPAN

$Net::Hadoop::YARN::Roles::JMX::VERSION = '0.203';
use 5.10.0;
use strict;
use warnings;

use Carp  qw( confess );
use Clone qw( clone   );
use Constant::FromGlobal DEBUG => { int => 1, default => 0, env => 1 };
use JSON::XS ();
use Moo::Role;
use Ref::Util qw(
    is_arrayref
    is_coderef
    is_hashref
    is_ref
);
use Scalar::Util qw( blessed );
use Time::HiRes  qw( time );

has 'target_host_port' => (
    is => 'rw',

t/00-report-prereqs.dd  view on Meta::CPAN

                                      'Data::Dumper' => '0',
                                      'HTML::PullParser' => '0',
                                      'HTTP::Request' => '0',
                                      'Hash::Path' => '0',
                                      'JSON::XS' => '0',
                                      'LWP::Authen::Negotiate' => '0',
                                      'LWP::UserAgent' => '0',
                                      'Moo' => '0',
                                      'Moo::Role' => '0',
                                      'POSIX' => '0',
                                      'Ref::Util' => '0',
                                      'Regexp::Common' => '0',
                                      'Scalar::Util' => '0',
                                      'Socket' => '0',
                                      'Text::Trim' => '0',
                                      'Time::Duration' => '0',
                                      'Time::HiRes' => '0',
                                      'URI' => '0',
                                      'XML::LibXML::Simple' => '0',
                                      'constant' => '0',
                                      'perl' => '5.010',

t/05_resource_manager-user-apps.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More;
use Ref::Util qw( is_hashref );
use Data::Dumper;

BEGIN {
    use_ok("Net::Hadoop::YARN::ResourceManager::Scheduler::UserApps");
}

SKIP: {
    skip "No YARN_RESOURCE_MANAGER in environment", 1 if !$ENV{YARN_RESOURCE_MANAGER};

    my $uapp;



( run in 0.558 second using v1.01-cache-2.11-cpan-a5abf4f5562 )