Puppet Class: bigtop::sqoop

Defined in:
modules/bigtop/manifests/sqoop.pp

Overview

Class bigtop::sqoop

Installs Sqoop 1

NOTE: There is no sqoop-conf alternative defined, because there is not yet any sqoop specific configuartion handled by this puppet module.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'modules/bigtop/manifests/sqoop.pp', line 9

class bigtop::sqoop {
    # Sqoop requires Hadoop configs installed.
    Class['bigtop::hadoop'] -> Class['bigtop::sqoop']

    package { 'sqoop':
        ensure => 'installed',
    }

    # Temporary workaround for https://issues.apache.org/jira/browse/BIGTOP-3508
    $sqoop_bin = @("SCRIPT"/$)
    #!/bin/bash

    # Autodetect JAVA_HOME if not defined
    . /usr/lib/bigtop-utils/bigtop-detect-javahome

    # BIGTOP-3508 - Prevent IllegalStateException on Debian systems
    SQOOP_JARS=`ls /var/lib/sqoop/*.jar 2>/dev/null`

    if [ -n "\${SQOOP_JARS}" ]; then
        export HADOOP_CLASSPATH=\$(JARS=(\${SQOOP_JARS}); IFS=:; echo "\${HADOOP_CLASSPATH}:\${JARS[*]}")
    fi

    export SQOOP_HOME=/usr/lib/sqoop
    exec /usr/lib/sqoop/bin/sqoop "$@"
    | SCRIPT

    file { '/usr/bin/sqoop':
        owner   => 'root',
        group   => 'root',
        mode    => '0755',
        content => $sqoop_bin,
        require => Package['sqoop'],
    }

    # symlink the Mysql/Mariadb JDBC connector into /usr/lib/sqoop/lib
    # TODO: Can I create this symlink as mysql.jar?
    bigtop::mysql_jdbc { 'sqoop-mysql-connector':
        link_path => '/usr/lib/sqoop/lib/mysql-connector-java.jar',
        require   => Package['sqoop'],
    }
}