Search code examples
chef-infrachef-recipeimpala

Error installing Impala


I'm trying to install the impala following the instructions of this web: https://cwiki.apache.org/confluence/display/IMPALA/Building+Impala

But this error is coming out and I can not continue, can anyone help me?

Obs: Anyone know if it is possible to install from the ambari or hue?

Thank you in advance

Installing Cookbook Gems:
Compiling Cookbooks...

================================================================================
Recipe Compile Error in /root/impala-setup/cookbooks/python/attributes/default.rb
================================================================================

NoMethodError
-------------
undefined method `platform' for #<Chef::Node::Attribute:0x00000004b13420>

Cookbook Trace:
---------------
  /root/impala-setup/cookbooks/python/attributes/default.rb:24:in `from_file'

Relevant File Content:
----------------------
/root/impala-setup/cookbooks/python/attributes/default.rb:

 17:  # See the License for the specific language governing permissions and
 18:  # limitations under the License.
 19:  #
 20:  
 21:  default['python']['install_method'] = 'package'
 22:  
 23:  if default['python']['install_method'] == 'package'
 24>>   case platform
 25:    when "smartos"
 26:      default['python']['prefix_dir']         = '/opt/local'
 27:    else
 28:      default['python']['prefix_dir']         = '/usr'
 29:    end
 30:  else
 31:    default['python']['prefix_dir']         = '/usr/local'
 32:  end
 33:  

System Info:
------------
chef_version=13.0.118
platform=ubuntu
platform_version=14.04
ruby=ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
program_name=chef-solo worker: ppid=7000;start=12:50:46;
executable=/opt/chef/bin/chef-solo


Running handlers:
[2017-04-18T12:50:48+02:00] ERROR: Running exception handlers
[2017-04-18T12:50:48+02:00] ERROR: Running exception handlers
Running handlers complete
[2017-04-18T12:50:48+02:00] ERROR: Exception handlers complete
[2017-04-18T12:50:48+02:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 02 seconds
[2017-04-18T12:50:48+02:00] FATAL: Stacktrace dumped to /root/impala-setup/chef-stacktrace.out
[2017-04-18T12:50:48+02:00] FATAL: Stacktrace dumped to /root/impala-setup/chef-stacktrace.out
[2017-04-18T12:50:48+02:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-04-18T12:50:48+02:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-04-18T12:50:48+02:00] ERROR: undefined method `platform' for #<Chef::Node::Attribute:0x00000004b13420>
[2017-04-18T12:50:48+02:00] ERROR: undefined method `platform' for #<Chef::Node::Attribute:0x00000004b13420>
[2017-04-18T12:50:48+02:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
[2017-04-18T12:50:48+02:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

Solution

  • The error is result of incorrectly accessing node attribute.

    The logic case platform is used incorrectly. For example, the above mentioned attributes in the attributes file is wrong:-

    if python['install_method'] == 'package'
      case platform
       when "smartos"
        default['python']['prefix_dir']         = '/opt/local'
       else
        default['python']['prefix_dir']         = '/usr'
      end
    else
      default['python']['prefix_dir']         = '/usr/local'
    end
    

    And, It should be like below as platform is an node atrribute :-

    if python['install_method'] == 'package'
      case node['platform']
       when "smartos"
        default['python']['prefix_dir']         = '/opt/local'
       else
        default['python']['prefix_dir']         = '/usr'
      end
    else
      default['python']['prefix_dir']         = '/usr/local'
    end