Переопределить атрибуты с помощью кулинарной книги Wrapper

Я только начал использовать Chef и хочу установить Hadoop на свой узел. Пока у меня есть этот очень простой рецепт, который не работает.

my-hadoop/attributes/default.rb:

    default['hadoop']['core_site']['fs.defaultFS'] = "Test"


my-hadoop/recipes/default.rb:

    include_recipe "hadoop"

hadoop_cookbook/attributes/default.rb:

    default['hadoop']['core_site']['fs.defaultFS'] = "hdfs://#{node['fqdn']}"

Это было мое понимание поваренных книг обертки после прочтения некоторых сообщений в блоге. Он устанавливает Hadoop, но каждый раз используется значение по умолчанию. Изменение по умолчанию любого другого приоритета, такого как «переопределить», не решает проблему.

РЕДАКТИРОВАТЬ: список выполнения узла - это только «рецепт [ведомый]»:

slave/recipes/default:

    include_recipe "my-hadoop"

person fsperrle    schedule 04.09.2014    source источник
comment
Каков ваш список запуска узлов? Я не вижу ничего плохого в вашем примере, так что, возможно, список выполнения проблематичен. У вас должна быть зависимая книга hadoop_cookbook в файле my-hadoop metadata.rb и отсутствие файла hadoop_cookbook в списке выполнения.   -  person Tensibai    schedule 04.09.2014
comment
@Tensibai: я добавил некоторую информацию об этом к вопросу   -  person fsperrle    schedule 05.09.2014
comment
Извините, что снова прошу кое-что еще, но когда вы запускаете шеф-повар, он показывает вам загрузку поваренной книги при запуске, для приоритета работы вы должны увидеть hadopp_cookbook, затем my-haddop, а затем slave, так ли это? Глядя на то, как выполняется hadoop_cokboko, не поймешь, почему не получается желаемого поведения.   -  person Tensibai    schedule 05.09.2014


Ответы (1)


Chef 11 требует установки зависимостей в вашем metadata.rb файле. include_recipe на самом деле включает только файл рецепта, поэтому запуску Chef нужны некоторые подсказки относительно того, в каком порядке загружать требуемые кулинарные книги.

Ваша кулинарная книга slave будет зависеть от my-hadoop. Тогда my-hadoop будет зависеть от hadoop_cookbook

File slave/metadata.rb:
depends "my-hadoop", "~> 1.5"
File my-hadoop/metadata.rb:
depends "hadoop_cookbook", "~> 1.3"

Если бы вы установили атрибут по умолчанию в поваренной книге slave, я думаю, это бы сработало.

person Matt    schedule 05.09.2014
comment
Мои файлы зависимостей были перепутаны, спасибо за подсказку - person fsperrle; 08.09.2014