class Commands::PrintHiveVersionCommand

Public Instance Methods

enact(client) click to toggle source
Calls superclass method Commands::AbstractSSHCommand#enact
# File lib/commands.rb, line 671
def enact(client)
  super(client)
  stdin, stdout, stderr = Open3.popen3("ssh -i #{key_pair_file} hadoop@#{hostname} '/home/hadoop/bin/hive -v'")
  version = stdout.readlines.join
  err = stderr.readlines.join
  if version.length > 0
    puts version
  elsif err =~ /Unrecognised option/ or err =~ /Error while determing Hive version/
    stdin, stdout, stderr = Open3.popen3("ssh -i #{key_pair_file} hadoop@#{hostname} 'ls -l /home/hadoop/bin/hive'")
    version = stdout.readlines.join
    version =~ /hive-(.*)\/bin\/hive/
    puts "Hive version " + $1
  else
    puts "Unable to determine Hive version"
  end
end