[
https://issues.apache.org/jira/browse/BIGTOP-1770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14377154#comment-14377154
]
Evans Ye edited comment on BIGTOP-1770 at 3/24/15 2:33 AM:
-----------------------------------------------------------
This aim to enable the possibility that BigTop users can have arbitrary JDK
version specified for their own environment. Although we officially support
OpenJDK7 only, but that doesn't mean users can't use OpenJDK8 or OracleJDK if
they are well aware of the compatibility for each Hadoop components they'd like
to adopt.
>From the feature completeness aspect, the {{vagrant-puppet-vm}} provisioner
>does not support Debian since the JDK package name is fixed in its Vagrantfile:
{code}
cat > /etc/puppet/hieradata/site.yaml << EOF
bigtop::hadoop_head_node: #{bigtop_master}
hadoop::hadoop_storage_dirs: [/data/1, /data/2]
bigtop::bigtop_repo_uri: #{repo}
bigtop::jdk_package_name: java-1.7.0-openjdk-devel.x86_64
hadoop_cluster_node::cluster_components: #{components}
{code}
For better UX, we should allow users to change the value in vagrantconfig.yaml.
And to simplify the code and increase the readability, I'd like to remove the
if-else clause in {{provision.sh}}.
{code}
# Prepare puppet configuration file
if [ -f /etc/debian_version ] ; then
apt-get -y install puppet-module-puppetlabs-stdlib
jdk="openjdk-7-jdk"
else
cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
jdk="java-1.7.0-openjdk-devel.x86_64"
fi
{code}
Puppet module installation can be replaced by bigtop_toolchain(TODO), while JDK
can be specified in vagrantconfig.yaml.
was (Author: evans_ye):
This aim to enable the possibility that BigTop users can have arbitrary JDK
version specified for their own environment. Although we officially support
OpenJDK7 only, but that doesn't mean users can't use OpenJDK8 or OracleJDK if
they are well aware of the compatibility for each Hadoop components they'd like
to adopt.
>From the feature completeness aspect, the {{vagrant-puppet-vm}} provisioner
>does not support Debian since the JDK package name is fixed in its Vagrantfile:
{code}
cat > /etc/puppet/hieradata/site.yaml << EOF
bigtop::hadoop_head_node: #{bigtop_master}
hadoop::hadoop_storage_dirs: [/data/1, /data/2]
bigtop::bigtop_repo_uri: #{repo}
bigtop::jdk_package_name: java-1.7.0-openjdk-devel.x86_64
hadoop_cluster_node::cluster_components: #{components}
{code}
For better UX, we should allow users to change the value in vagrantconfig.yaml.
And to simplify the code and increase the readability, I'd like to remove the
if-else clause in {{provision.sh}}.
{code}
# Prepare puppet configuration file
if [ -f /etc/debian_version ] ; then
apt-get -y install puppet-module-puppetlabs-stdlib
jdk="openjdk-7-jdk"
else
cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
jdk="java-1.7.0-openjdk-devel.x86_64"
fi
{code}
Puppet module installation can be replaced by bigtop_toolchain, while JDK can
be specified in vagrantconfig.yaml.
> Let the user specify which JDK package to be installed in vagrantconfig.yaml
> ----------------------------------------------------------------------------
>
> Key: BIGTOP-1770
> URL: https://issues.apache.org/jira/browse/BIGTOP-1770
> Project: Bigtop
> Issue Type: Improvement
> Components: vm
> Affects Versions: 0.8.0
> Reporter: Evans Ye
> Assignee: Evans Ye
> Priority: Minor
> Fix For: 1.0.0
>
> Attachments: BIGTOP-1770.patch
>
>
> Currently we specify fixed JDK package names in
> {{bigtop-deploy/vm/vagrant-puppet-docker/provision.sh}} for centos and debian
> only. We should let user choose what JDK version they'd like to be installed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)