sous-chefs / kafka

Development repository for the kafka cookbook
https://supermarket.chef.io/cookbooks/kafka
Apache License 2.0
91 stars 105 forks source link

Cookbook installation failing at Recipe: kafka::_configure. [ undefined method `root_logger' for #Mash:0x00000004fc62b0 ] #131

Closed BalasekharNelli12 closed 7 years ago

BalasekharNelli12 commented 7 years ago

Hi, I am using v2.2.0 [ from Supermarket], it was working good since last week. But, all of sudden, getting the below issue. And cookbook is failing to install.

kafka cookbook version: v2.2.0 chef version: 13.0.118

_> Below is the log:

Recipe: kafka::_configure

  • directory[/opt/kafka/config] action create (up to date)
  • template[/opt/kafka/config/log4j.properties] action create ======================================================================= Error executing action create on resource 'template[/opt/kafka/config/log4j.properties]' ======================================================================= Chef::Mixin::Template::TemplateError

    undefined method `rootlogger' for #Mash:0x00000004fc62b0

Thanks, Balasekhar

mthssdrbrg commented 7 years ago

Alright, so this is because of Chef 13 and would explain why it worked perfectly fine last week but now not so much. Forgot that Chef 13 was slated for this week (and not next), and I'm currently looking into backporting support for Chef 13.

Should hopefully have a release out later today.

mthssdrbrg commented 7 years ago

Release got delayed a bit, but there's a 2.2.2 release on Supermarket that should (hopefully) work with Chef 13 (don't know if there are any corner cases...).

If you run into further issues feel free to re-open this issue.

BalasekharNelli12 commented 7 years ago

Hi @mthssdrbrg, Thanks for the prompt response. We are facing different issue now. Kafka service failed to restart.

Below is thelog:

       _Error executing action `start` on resource 'service[kafka]'    
       Mixlib::ShellOut::ShellCommandFailed
       ------------------------------------
       Expected process to exit with [0], but received '1'
       ---- Begin output of /etc/init.d/kafka start ----
       STDOUT: * Starting kafka
   ...done.
       STDERR: 
       ---- End output of /etc/init.d/kafka start ----
       Ran /etc/init.d/kafka start returned 1__

Thanks, Bala

mthssdrbrg commented 7 years ago

Hm, well, that could be for a myriad of reasons. Do you get any logs? What's your configuration like?

BalasekharNelli12 commented 7 years ago

Hi @mthssdrbrg , Kafka cookbook with v2.2.0 with chef 12.19.36 worked well till yesterday. It's failing when I tried to converge [ using Test Kitchen CI ]. Below is the log:

         * service[kafka] action start[2017-04-18T09:21:05+00:00] INFO: Processing service[kafka] action start (kafka::_coordinate line 14)

           ================================================================================
           Error executing action `start` on resource 'service[kafka]'
           ================================================================================

           Mixlib::ShellOut::ShellCommandFailed
           ------------------------------------
           Expected process to exit with [0], but received '1'
           ---- Begin output of /etc/init.d/kafka start ----
           STDOUT: * Starting kafka
       ...done.
           STDERR: 
           ---- End output of /etc/init.d/kafka start ----
           Ran /etc/init.d/kafka start returned 1

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/kafka/recipes/_coordinate.rb

            14: service 'kafka' do
            15:   provider kafka_init_opts[:provider]
            16:   supports start: true, stop: true, restart: true, status: true
            17:   action kafka_service_actions
            18: end

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/kafka/recipes/_coordinate.rb:14:in `from_file'

           service("kafka") do
             action [:enable, :start]
             supports {:start=>true, :stop=>true, :restart=>true, :status=>true}
             retries 0
             retry_delay 2
             default_guard_interpreter :default
             service_name "kafka"
             enabled true
             running nil
             masked nil
             pattern "kafka"
             declared_type :service
             cookbook_name "kafka"
             recipe_name "_coordinate"
             kafka_init_opts {:env_path=>"/etc/default/kafka", :source=>"sysv/debian.erb", :script_path=>"/etc/init.d/kafka", :permissions=>"755"}
           end

           Platform:
           ---------
           x86_64-linux

Thanks, Bala

mthssdrbrg commented 7 years ago

I'm unfortunately unable to reproduce this locally. Though it should be said that if you're just using the .kitchen.yml in this repository the Chef run converges successfully and it (attempts) to start Kafka, but the process will actually die after a timeout as it attempts to talk to a non-existing ZooKeeper.

Do you get any logs in /var/log/kafka? What's your configuration like?

BalasekharNelli12 commented 7 years ago

A log file got created in "/var/log/kafka" with name kafka-gc.log. Log is as below:

Java HotSpot(TM) 64-Bit Server VM (25.121-b13) for linux-amd64 JRE (1.8.0_121-b13), built on Dec 12 2016 16:36:53 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8) Memory: 4k page, physical 1016284k(100020k free), swap 0k(0k free) CommandLine flags: -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -XX:InitialHeapSize=1073741824 -XX:+ManagementServer -XX:MaxHeapSize=1073741824 -XX:MaxNewSize=87244800 -XX:MaxTenuringThreshold=6 -XX:NewSize=87244800 -XX:OldPLABSize=16 -XX:OldSize=174489600 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseParNewGC

I am converging in AWS on t2.micro instance.

BalasekharNelli12 commented 7 years ago

It is working with m4.large. I guess it is the issue with instance performance.

mthssdrbrg commented 7 years ago

Aha, then I suspect it's because the default heap size is set to 1G, and it (t2.micro) has exactly that much RAM, which mostly will have the JVM fail to start properly.

lock[bot] commented 4 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.