|
@@ -1,547 +0,0 @@
|
|
|
-#
|
|
|
-#
|
|
|
-# Licensed to the Apache Software Foundation (ASF) under one
|
|
|
-# or more contributor license agreements. See the NOTICE file
|
|
|
-# distributed with this work for additional information
|
|
|
-# regarding copyright ownership. The ASF licenses this file
|
|
|
-# to you under the Apache License, Version 2.0 (the
|
|
|
-# "License"); you may not use this file except in compliance
|
|
|
-# with the License. You may obtain a copy of the License at
|
|
|
-#
|
|
|
-# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
-#
|
|
|
-# Unless required by applicable law or agreed to in writing,
|
|
|
-# software distributed under the License is distributed on an
|
|
|
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
-# KIND, either express or implied. See the License for the
|
|
|
-# specific language governing permissions and limitations
|
|
|
-# under the License.
|
|
|
-#
|
|
|
-#
|
|
|
-#singleton for use with <||> form so that namenode, datanode, etc can pass state to hdp-hadoop and still use include
|
|
|
-define hdp-hadoop::common(
|
|
|
- $service_state
|
|
|
-)
|
|
|
-{
|
|
|
- class { 'hdp-hadoop':
|
|
|
- service_state => $service_state
|
|
|
- }
|
|
|
- anchor{'hdp-hadoop::common::begin':} -> Class['hdp-hadoop'] -> anchor{'hdp-hadoop::common::end':}
|
|
|
-}
|
|
|
-
|
|
|
-class hdp-hadoop::initialize()
|
|
|
-{
|
|
|
- if ($hdp::params::component_exists['hdp-hadoop'] == true) {
|
|
|
- } else {
|
|
|
- $hdp::params::component_exists['hdp-hadoop'] = true
|
|
|
- }
|
|
|
- hdp-hadoop::common { 'common':}
|
|
|
- anchor{'hdp-hadoop::initialize::begin':} -> Hdp-hadoop::Common['common'] -> anchor{'hdp-hadoop::initialize::end':}
|
|
|
-
|
|
|
- # Configs generation
|
|
|
- debug('##Configs generation for hdp-hadoop')
|
|
|
-
|
|
|
- if has_key($configuration, 'mapred-queue-acls') {
|
|
|
- configgenerator::configfile{'mapred-queue-acls':
|
|
|
- modulespath => $hdp-hadoop::params::conf_dir,
|
|
|
- filename => 'mapred-queue-acls.xml',
|
|
|
- module => 'hdp-hadoop',
|
|
|
- configuration => $configuration['mapred-queue-acls'],
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- } else { # Manually overriding ownership of file installed by hadoop package
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/mapred-queue-acls.xml":
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if has_key($configuration, 'hadoop-policy') {
|
|
|
- configgenerator::configfile{'hadoop-policy':
|
|
|
- modulespath => $hdp-hadoop::params::conf_dir,
|
|
|
- filename => 'hadoop-policy.xml',
|
|
|
- module => 'hdp-hadoop',
|
|
|
- configuration => $configuration['hadoop-policy'],
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- } else { # Manually overriding ownership of file installed by hadoop package
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/hadoop-policy.xml":
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if has_key($configuration, 'core-site') {
|
|
|
- configgenerator::configfile{'core-site':
|
|
|
- modulespath => $hdp-hadoop::params::conf_dir,
|
|
|
- filename => 'core-site.xml',
|
|
|
- module => 'hdp-hadoop',
|
|
|
- configuration => $configuration['core-site'],
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- } else { # Manually overriding ownership of file installed by hadoop package
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/core-site.xml":
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if has_key($configuration, 'mapred-site') {
|
|
|
- configgenerator::configfile{'mapred-site':
|
|
|
- modulespath => $hdp-hadoop::params::conf_dir,
|
|
|
- filename => 'mapred-site.xml',
|
|
|
- module => 'hdp-hadoop',
|
|
|
- configuration => $configuration['mapred-site'],
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- } else { # Manually overriding ownership of file installed by hadoop package
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/mapred-site.xml":
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- $task_log4j_properties_location = "${hdp-hadoop::params::conf_dir}/task-log4j.properties"
|
|
|
-
|
|
|
- file { $task_log4j_properties_location:
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group,
|
|
|
- mode => 644,
|
|
|
- ensure => present,
|
|
|
- source => "puppet:///modules/hdp-hadoop/task-log4j.properties",
|
|
|
- replace => false
|
|
|
- }
|
|
|
-
|
|
|
- if has_key($configuration, 'capacity-scheduler') {
|
|
|
- configgenerator::configfile{'capacity-scheduler':
|
|
|
- modulespath => $hdp-hadoop::params::conf_dir,
|
|
|
- filename => 'capacity-scheduler.xml',
|
|
|
- module => 'hdp-hadoop',
|
|
|
- configuration => $configuration['capacity-scheduler'],
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group,
|
|
|
- }
|
|
|
- } else { # Manually overriding ownership of file installed by hadoop package
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/capacity-scheduler.xml":
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if has_key($configuration, 'hdfs-site') {
|
|
|
- configgenerator::configfile{'hdfs-site':
|
|
|
- modulespath => $hdp-hadoop::params::conf_dir,
|
|
|
- filename => 'hdfs-site.xml',
|
|
|
- module => 'hdp-hadoop',
|
|
|
- configuration => $configuration['hdfs-site'],
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- } else { # Manually overriding ownership of file installed by hadoop package
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/hdfs-site.xml":
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if has_key($configuration, 'hdfs-exclude-file') {
|
|
|
- hdp-hadoop::hdfs::generate_exclude_file{'exclude_file':}
|
|
|
- }
|
|
|
-
|
|
|
- hdp::package {'ambari-log4j':
|
|
|
- package_type => 'ambari-log4j'
|
|
|
- }
|
|
|
-
|
|
|
- file { '/usr/lib/hadoop/lib/hadoop-tools.jar':
|
|
|
- ensure => 'link',
|
|
|
- target => '/usr/lib/hadoop/hadoop-tools.jar',
|
|
|
- mode => 755,
|
|
|
- }
|
|
|
-
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/configuration.xsl":
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
-
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/fair-scheduler.xml":
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
-
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/masters":
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
-
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/ssl-client.xml.example":
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
-
|
|
|
- file { "${hdp-hadoop::params::conf_dir}/ssl-server.xml.example":
|
|
|
- owner => $hdp-hadoop::params::mapred_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
-
|
|
|
- if (hdp_get_major_stack_version($hdp::params::stack_version) >= 2) {
|
|
|
- if (hdp_is_empty($configuration) == false and hdp_is_empty($configuration['hdfs-site']) == false) {
|
|
|
- if (hdp_is_empty($configuration['hdfs-site']['dfs.hosts.exclude']) == false) and
|
|
|
- (hdp_is_empty($configuration['hdfs-exclude-file']) or
|
|
|
- has_key($configuration['hdfs-exclude-file'], 'datanodes') == false) {
|
|
|
- $exlude_file_path = $configuration['hdfs-site']['dfs.hosts.exclude']
|
|
|
- file { $exlude_file_path :
|
|
|
- ensure => present,
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group
|
|
|
- }
|
|
|
- }
|
|
|
- if (hdp_is_empty($hdp::params::slave_hosts) == false and hdp_is_empty($configuration['hdfs-site']['dfs.hosts']) == false) {
|
|
|
- $include_file_path = $configuration['hdfs-site']['dfs.hosts']
|
|
|
- $include_hosts_list = $hdp::params::slave_hosts
|
|
|
- file { $include_file_path :
|
|
|
- ensure => present,
|
|
|
- owner => $hdp-hadoop::params::hdfs_user,
|
|
|
- group => $hdp::params::user_group,
|
|
|
- content => template('hdp-hadoop/include_hosts_list.erb')
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-class hdp-hadoop(
|
|
|
- $service_state
|
|
|
-)
|
|
|
-{
|
|
|
- include hdp-hadoop::params
|
|
|
- $hadoop_config_dir = $hdp-hadoop::params::conf_dir
|
|
|
- $mapred_user = $hdp-hadoop::params::mapred_user
|
|
|
- $hdfs_user = $hdp-hadoop::params::hdfs_user
|
|
|
- $hadoop_tmp_dir = $hdp-hadoop::params::hadoop_tmp_dir
|
|
|
-
|
|
|
- anchor{'hdp-hadoop::begin':}
|
|
|
- anchor{'hdp-hadoop::end':}
|
|
|
-
|
|
|
- if ($service_state=='uninstalled') {
|
|
|
- hdp-hadoop::package { 'hadoop':
|
|
|
- ensure => 'uninstalled'
|
|
|
- }
|
|
|
-
|
|
|
- hdp::directory_recursive_create { $hadoop_config_dir:
|
|
|
- service_state => $::service_state,
|
|
|
- force => true
|
|
|
- }
|
|
|
-
|
|
|
- Anchor['hdp-hadoop::begin'] -> Hdp-hadoop::Package<||> -> Hdp::Directory_recursive_create[$hadoop_config_dir] -> Anchor['hdp-hadoop::end']
|
|
|
- } else {
|
|
|
-
|
|
|
- hdp-hadoop::package { 'hadoop':}
|
|
|
-
|
|
|
- #Replace limits config file
|
|
|
- hdp::configfile {"${hdp::params::limits_conf_dir}/hdfs.conf":
|
|
|
- component => 'hadoop',
|
|
|
- owner => 'root',
|
|
|
- group => 'root',
|
|
|
- require => Hdp-hadoop::Package['hadoop'],
|
|
|
- before => Anchor['hdp-hadoop::end'],
|
|
|
- mode => 644
|
|
|
- }
|
|
|
-
|
|
|
- hdp::directory_recursive_create { $hadoop_config_dir:
|
|
|
- service_state => $::service_state,
|
|
|
- force => true,
|
|
|
- owner => 'root',
|
|
|
- group => 'root'
|
|
|
- }
|
|
|
-
|
|
|
- hdp::user{ 'hdfs_user':
|
|
|
- user_name => $hdfs_user,
|
|
|
- groups => [$hdp::params::user_group]
|
|
|
- }
|
|
|
-
|
|
|
- hdp::user { 'mapred_user':
|
|
|
- user_name => $mapred_user,
|
|
|
- groups => [$hdp::params::user_group]
|
|
|
- }
|
|
|
-
|
|
|
- $logdirprefix = $hdp-hadoop::params::hdfs_log_dir_prefix
|
|
|
- hdp::directory_recursive_create { $logdirprefix:
|
|
|
- owner => 'root'
|
|
|
- }
|
|
|
- $piddirprefix = $hdp-hadoop::params::hadoop_pid_dir_prefix
|
|
|
- hdp::directory_recursive_create { $piddirprefix:
|
|
|
- owner => 'root'
|
|
|
- }
|
|
|
-
|
|
|
- $dfs_domain_socket_path_dir = hdp_get_directory_from_filepath($hdp-hadoop::params::dfs_domain_socket_path)
|
|
|
- hdp::directory_recursive_create { $dfs_domain_socket_path_dir:
|
|
|
- owner => $hdfs_user,
|
|
|
- group => $hdp::params::user_group,
|
|
|
- mode => '0644'
|
|
|
- }
|
|
|
-
|
|
|
- #taskcontroller.cfg properties conditional on security
|
|
|
- if ($hdp::params::security_enabled == true) {
|
|
|
- file { "${hdp::params::hadoop_bin}/task-controller":
|
|
|
- owner => 'root',
|
|
|
- group => $hdp-hadoop::params::mapred_tt_group,
|
|
|
- mode => '6050',
|
|
|
- require => Hdp-hadoop::Package['hadoop'],
|
|
|
- before => Anchor['hdp-hadoop::end']
|
|
|
- }
|
|
|
- $tc_owner = 'root'
|
|
|
- $tc_mode = '0644'
|
|
|
- } else {
|
|
|
- $tc_owner = $hdfs_user
|
|
|
- $tc_mode = undef
|
|
|
- }
|
|
|
- hdp-hadoop::configfile { 'taskcontroller.cfg' :
|
|
|
- tag => 'common',
|
|
|
- owner => $tc_owner,
|
|
|
- mode => $tc_mode
|
|
|
- }
|
|
|
-
|
|
|
- $template_files = [ 'hadoop-env.sh', 'commons-logging.properties', 'slaves']
|
|
|
- hdp-hadoop::configfile { $template_files:
|
|
|
- tag => 'common',
|
|
|
- owner => $hdfs_user
|
|
|
- }
|
|
|
-
|
|
|
- if (hdp_get_major_stack_version($hdp::params::stack_version) >= 2) {
|
|
|
- hdp-hadoop::configfile { 'health_check' :
|
|
|
- tag => 'common',
|
|
|
- owner => $hdfs_user,
|
|
|
- template_tag => 'v2'
|
|
|
- }
|
|
|
- } else {
|
|
|
- hdp-hadoop::configfile { 'health_check' :
|
|
|
- tag => 'common',
|
|
|
- owner => $hdfs_user
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- # log4j.properties has to be installed just one time to prevent
|
|
|
- # manual changes overwriting
|
|
|
- if ($service_state=='installed_and_configured') {
|
|
|
- hdp-hadoop::configfile { 'log4j.properties' :
|
|
|
- tag => 'common',
|
|
|
- owner => $hdfs_user,
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- # updating log4j.properties with data which is sent from server
|
|
|
- hdp-hadoop::update-log4j-properties { 'log4j.properties': }
|
|
|
-
|
|
|
- hdp-hadoop::configfile { 'hadoop-metrics2.properties' :
|
|
|
- tag => 'common',
|
|
|
- owner => $hdfs_user,
|
|
|
- }
|
|
|
-
|
|
|
- # Copy database drivers for rca enablement
|
|
|
- $server_db_name = $hdp::params::server_db_name
|
|
|
- $hadoop_lib_home = $hdp::params::hadoop_lib_home
|
|
|
- $db_driver_filename = $hdp::params::db_driver_file
|
|
|
- $oracle_driver_url = $hdp::params::oracle_jdbc_url
|
|
|
- $mysql_driver_url = $hdp::params::mysql_jdbc_url
|
|
|
-
|
|
|
- if ($server_db_name == 'oracle' and $oracle_driver_url != "") {
|
|
|
- $db_driver_dload_cmd = "curl -kf --retry 5 $oracle_driver_url -o ${hadoop_lib_home}/${db_driver_filename}"
|
|
|
- } elsif ($server_db_name == 'mysql' and $mysql_driver_url != "") {
|
|
|
- $db_driver_dload_cmd = "curl -kf --retry 5 $mysql_driver_url -o ${hadoop_lib_home}/${db_driver_filename}"
|
|
|
- }
|
|
|
- if ($db_driver_dload_cmd != undef) {
|
|
|
- exec { '${db_driver_dload_cmd}':
|
|
|
- command => $db_driver_dload_cmd,
|
|
|
- unless => "test -e ${hadoop_lib_home}/${db_driver_filename}",
|
|
|
- creates => "${hadoop_lib_home}/${db_driver_filename}",
|
|
|
- path => ["/bin","/usr/bin/"],
|
|
|
- require => Hdp-hadoop::Package['hadoop'],
|
|
|
- before => Anchor['hdp-hadoop::end']
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (hdp_get_major_stack_version($hdp::params::stack_version) >= 2) {
|
|
|
- hdp::directory_recursive_create { "$hadoop_tmp_dir":
|
|
|
- service_state => $service_state,
|
|
|
- force => true,
|
|
|
- owner => $hdfs_user
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (hdp_get_major_stack_version($hdp::params::stack_version) >= 2) {
|
|
|
- Anchor['hdp-hadoop::begin'] -> Hdp-hadoop::Package<||> -> Hdp::User<|title == $hdfs_user or title == $mapred_user|> ->
|
|
|
- Hdp::Directory_recursive_create[$hadoop_config_dir] -> Hdp-hadoop::Configfile<|tag == 'common'|> -> Hdp-hadoop::Update-log4j-properties['log4j.properties'] ->
|
|
|
- Hdp::Directory_recursive_create[$logdirprefix] -> Hdp::Directory_recursive_create[$piddirprefix] -> Hdp::Directory_recursive_create["$hadoop_tmp_dir"] -> Anchor['hdp-hadoop::end']
|
|
|
- } else {
|
|
|
- Anchor['hdp-hadoop::begin'] -> Hdp-hadoop::Package<||> -> Hdp::User<|title == $hdfs_user or title == $mapred_user|> ->
|
|
|
- Hdp::Directory_recursive_create[$hadoop_config_dir] -> Hdp-hadoop::Configfile<|tag == 'common'|> -> Hdp-hadoop::Update-log4j-properties['log4j.properties'] ->
|
|
|
- Hdp::Directory_recursive_create[$logdirprefix] -> Hdp::Directory_recursive_create[$piddirprefix] -> Anchor['hdp-hadoop::end']
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-class hdp-hadoop::enable-ganglia()
|
|
|
-{
|
|
|
- Hdp-hadoop::Configfile<|title == 'hadoop-metrics2.properties'|>{template_tag => 'GANGLIA'}
|
|
|
-}
|
|
|
-
|
|
|
-###config file helper
|
|
|
-define hdp-hadoop::configfile(
|
|
|
- $owner = undef,
|
|
|
- $hadoop_conf_dir = $hdp-hadoop::params::conf_dir,
|
|
|
- $mode = undef,
|
|
|
- $namenode_host = undef,
|
|
|
- $jtnode_host = undef,
|
|
|
- $snamenode_host = undef,
|
|
|
- $template_tag = undef,
|
|
|
- $size = undef, #TODO: deprecate
|
|
|
- $sizes = []
|
|
|
-)
|
|
|
-{
|
|
|
- #TODO: may need to be fixed
|
|
|
- if ($jtnode_host == undef) {
|
|
|
- $calc_jtnode_host = $namenode_host
|
|
|
- } else {
|
|
|
- $calc_jtnode_host = $jtnode_host
|
|
|
- }
|
|
|
-
|
|
|
- #only set 32 if theer is a 32 bit component and no 64 bit components
|
|
|
- if (64 in $sizes) {
|
|
|
- $common_size = 64
|
|
|
- } elsif (32 in $sizes) {
|
|
|
- $common_size = 32
|
|
|
- } else {
|
|
|
- $common_size = 6
|
|
|
- }
|
|
|
-
|
|
|
- hdp::configfile { "${hadoop_conf_dir}/${name}":
|
|
|
- component => 'hadoop',
|
|
|
- owner => $owner,
|
|
|
- mode => $mode,
|
|
|
- namenode_host => $namenode_host,
|
|
|
- snamenode_host => $snamenode_host,
|
|
|
- jtnode_host => $calc_jtnode_host,
|
|
|
- template_tag => $template_tag,
|
|
|
- size => $common_size
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-#####
|
|
|
-define hdp-hadoop::exec-hadoop(
|
|
|
- $command,
|
|
|
- $unless = undef,
|
|
|
- $refreshonly = undef,
|
|
|
- $echo_yes = false,
|
|
|
- $kinit_override = false,
|
|
|
- $tries = 1,
|
|
|
- $timeout = 900,
|
|
|
- $try_sleep = undef,
|
|
|
- $user = undef,
|
|
|
- $logoutput = undef,
|
|
|
- $onlyif = undef,
|
|
|
- $path = undef
|
|
|
-)
|
|
|
-{
|
|
|
- include hdp-hadoop::params
|
|
|
- $security_enabled = $hdp::params::security_enabled
|
|
|
- $conf_dir = $hdp-hadoop::params::conf_dir
|
|
|
- $hdfs_user = $hdp-hadoop::params::hdfs_user
|
|
|
- $hbase_user = $hdp-hadoop::params::hbase_user
|
|
|
-
|
|
|
- if ($user == undef) {
|
|
|
- $run_user = $hdfs_user
|
|
|
- } else {
|
|
|
- $run_user = $user
|
|
|
- }
|
|
|
-
|
|
|
- if (($security_enabled == true) and ($kinit_override == false)) {
|
|
|
- if ($run_user in [$hdfs_user,'root']) {
|
|
|
- $keytab = $hdp::params::hdfs_user_keytab
|
|
|
- $principal = $hdfs_user
|
|
|
- } elsif ($run_user in [$hbase_user]) {
|
|
|
- $keytab = $hdp::params::hbase_user_keytab
|
|
|
- $principal = $hbase_user
|
|
|
- } else {
|
|
|
- $keytab = $hdp::params::smokeuser_keytab
|
|
|
- $principal = $hdp::params::smokeuser
|
|
|
- }
|
|
|
- $kinit_if_needed = "su - ${run_user} -c '${hdp::params::kinit_path_local} -kt ${keytab} ${principal}'"
|
|
|
- } else {
|
|
|
- $kinit_if_needed = ""
|
|
|
- }
|
|
|
-
|
|
|
- if ($path == undef) {
|
|
|
- if ($echo_yes == true) {
|
|
|
- $cmd = "yes Y | hadoop --config ${conf_dir} ${command}"
|
|
|
- } else {
|
|
|
- $cmd = "hadoop --config ${conf_dir} ${command}"
|
|
|
- }
|
|
|
- } else {
|
|
|
- $cmd = "${path} ${command}"
|
|
|
- }
|
|
|
-
|
|
|
- if ($kinit_if_needed != "") {
|
|
|
- exec { "kinit_before_${cmd}":
|
|
|
- command => $kinit_if_needed,
|
|
|
- path => ['/bin'],
|
|
|
- before => Hdp::Exec[$cmd]
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- hdp::exec { $cmd:
|
|
|
- command => $cmd,
|
|
|
- user => $run_user,
|
|
|
- unless => $unless,
|
|
|
- refreshonly => $refreshonly,
|
|
|
- tries => $tries,
|
|
|
- timeout => $timeout,
|
|
|
- try_sleep => $try_sleep,
|
|
|
- logoutput => $logoutput,
|
|
|
- onlyif => $onlyif,
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-#####
|
|
|
-define hdp-hadoop::update-log4j-properties(
|
|
|
- $hadoop_conf_dir = $hdp-hadoop::params::conf_dir
|
|
|
-)
|
|
|
-{
|
|
|
- $properties = [
|
|
|
- { name => 'ambari.jobhistory.database', value => $hdp-hadoop::params::ambari_db_rca_url },
|
|
|
- { name => 'ambari.jobhistory.driver', value => $hdp-hadoop::params::ambari_db_rca_driver },
|
|
|
- { name => 'ambari.jobhistory.user', value => $hdp-hadoop::params::ambari_db_rca_username },
|
|
|
- { name => 'ambari.jobhistory.password', value => $hdp-hadoop::params::ambari_db_rca_password },
|
|
|
- { name => 'ambari.jobhistory.logger', value => 'DEBUG,JHA' },
|
|
|
-
|
|
|
- { name => 'log4j.appender.JHA', value => 'org.apache.ambari.log4j.hadoop.mapreduce.jobhistory.JobHistoryAppender' },
|
|
|
- { name => 'log4j.appender.JHA.database', value => '${ambari.jobhistory.database}' },
|
|
|
- { name => 'log4j.appender.JHA.driver', value => '${ambari.jobhistory.driver}' },
|
|
|
- { name => 'log4j.appender.JHA.user', value => '${ambari.jobhistory.user}' },
|
|
|
- { name => 'log4j.appender.JHA.password', value => '${ambari.jobhistory.password}' },
|
|
|
-
|
|
|
- { name => 'log4j.logger.org.apache.hadoop.mapred.JobHistory$JobHistoryLogger', value => '${ambari.jobhistory.logger}' },
|
|
|
- { name => 'log4j.additivity.org.apache.hadoop.mapred.JobHistory$JobHistoryLogger', value => 'true' }
|
|
|
- ]
|
|
|
- hdp-hadoop::update-log4j-property { $properties :
|
|
|
- log4j_file => $name,
|
|
|
- hadoop_conf_dir => $hadoop_conf_dir
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-#####
|
|
|
-define hdp-hadoop::update-log4j-property(
|
|
|
- $log4j_file,
|
|
|
- $hadoop_conf_dir = $hdp-hadoop::params::conf_dir
|
|
|
-)
|
|
|
-{
|
|
|
- hdp::exec{ "sed -i 's~\\(${hdp-hadoop::params::rca_disabled_prefix}\\)\\?${name[name]}=.*~${hdp-hadoop::params::rca_prefix}${name[name]}=${name[value]}~' ${hadoop_conf_dir}/${log4j_file}":
|
|
|
- command => "sed -i 's~\\(${hdp-hadoop::params::rca_disabled_prefix}\\)\\?${name[name]}=.*~${hdp-hadoop::params::rca_prefix}${name[name]}=${name[value]}~' ${hadoop_conf_dir}/${log4j_file}"
|
|
|
- }
|
|
|
-}
|