使用 Puppet missing dsc22 在 Vagrant Centos 上安装 Cassandra
Installing Cassandra on Vagrant Centos using Puppet missing dsc22
我是木偶新手。我知道 yum 中缺少 cassandra,所以我认为 puppet 食谱会下载并安装它,但似乎 locp/cassandra
只是试图从 yum 安装它。该食谱应该有效,但我在 https://github.com/locp/cassandra 上没有看到任何关于为什么它对我不起作用或我需要在它起作用之前设置的任何东西。
我使用 librarian-puppet 安装 puppet/modules 中的模块。
错误
==> default: Notice: /Stage[main]/Cassandra/File[/var/lib/cassandra/data]: Dependency Package[dsc22] has failures: true
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "puphpet/centos65-x64"
config.vm.provision "puppet" do |p|
p.module_path = "puppet/modules"
p.manifests_path = "puppet/manifests"
p.manifest_file = "site.pp"
end
end
puppet/manifests/site.pp
class { 'cassandra':
cluster_name => 'foobar',
listen_address => "${::ipaddress}",
}
puppet/Puppetfile
forge 'https://forgeapi.puppetlabs.com'
mod "locp/cassandra"
这可能是因为未配置存储库(参见 here)
将以下内容添加到您的 site.pp
并确保在您的 cassandra class
中添加 require
class repo {
yumrepo { "datastax":
descr => "DataStax Repo for Apache Cassandra",
baseurl => "http://rpm.datastax.com/community",
gpgcheck => "0",
enabled => "1";
}
}
class { 'cassandra':
cluster_name => 'foobar',
listen_address => "${::ipaddress}",
require => Yumrepo["datastax"],
}
include repo
include cassandra
您也可以使用 cassandra::datastax_repo
class。要将其纳入@Frédéric-Henri 提供的答案,可以执行以下操作:
class { 'cassandra::datastax_repo': } ->
class { 'cassandra':
cluster_name => 'foobar',
listen_address => "${::ipaddress}"
}
我是木偶新手。我知道 yum 中缺少 cassandra,所以我认为 puppet 食谱会下载并安装它,但似乎 locp/cassandra
只是试图从 yum 安装它。该食谱应该有效,但我在 https://github.com/locp/cassandra 上没有看到任何关于为什么它对我不起作用或我需要在它起作用之前设置的任何东西。
我使用 librarian-puppet 安装 puppet/modules 中的模块。
错误
==> default: Notice: /Stage[main]/Cassandra/File[/var/lib/cassandra/data]: Dependency Package[dsc22] has failures: true
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "puphpet/centos65-x64"
config.vm.provision "puppet" do |p|
p.module_path = "puppet/modules"
p.manifests_path = "puppet/manifests"
p.manifest_file = "site.pp"
end
end
puppet/manifests/site.pp
class { 'cassandra':
cluster_name => 'foobar',
listen_address => "${::ipaddress}",
}
puppet/Puppetfile
forge 'https://forgeapi.puppetlabs.com'
mod "locp/cassandra"
这可能是因为未配置存储库(参见 here)
将以下内容添加到您的 site.pp
并确保在您的 cassandra class
require
class repo {
yumrepo { "datastax":
descr => "DataStax Repo for Apache Cassandra",
baseurl => "http://rpm.datastax.com/community",
gpgcheck => "0",
enabled => "1";
}
}
class { 'cassandra':
cluster_name => 'foobar',
listen_address => "${::ipaddress}",
require => Yumrepo["datastax"],
}
include repo
include cassandra
您也可以使用 cassandra::datastax_repo
class。要将其纳入@Frédéric-Henri 提供的答案,可以执行以下操作:
class { 'cassandra::datastax_repo': } ->
class { 'cassandra':
cluster_name => 'foobar',
listen_address => "${::ipaddress}"
}