This is an automated email from the ASF dual-hosted git repository. guyuqi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/bigtop.git
commit 055d82562db1dfd2026be307a6b30a774e6b649d Author: MacChen01 <[email protected]> AuthorDate: Tue Sep 12 10:07:52 2023 +0800 BIGTOP-3967: add support for spark (#1148) (cherry picked from commit a33d98b369a49f5095b7c436fedd741e4dd353d6) --- bigtop-packages/src/rpm/spark/SPECS/spark.spec | 4 ++++ bigtop_toolchain/bin/puppetize.sh | 18 ++++++++++---- bigtop_toolchain/manifests/renv.pp | 33 +++++++++++++++++++++----- provisioner/docker/config_openeuler-22.03.yaml | 2 +- provisioner/utils/setup-env-centos.sh | 2 +- 5 files changed, 47 insertions(+), 12 deletions(-) diff --git a/bigtop-packages/src/rpm/spark/SPECS/spark.spec b/bigtop-packages/src/rpm/spark/SPECS/spark.spec index 3610a49f3..e213a117b 100644 --- a/bigtop-packages/src/rpm/spark/SPECS/spark.spec +++ b/bigtop-packages/src/rpm/spark/SPECS/spark.spec @@ -116,9 +116,13 @@ Server for Spark worker %package -n %{spark_pkg_name}-python Summary: Python client for Spark Group: Development/Libraries +%if 0%{?rhel} >= 8 || 0%{?openEuler} %if 0%{?rhel} >= 8 Requires: %{spark_pkg_name}-core = %{version}-%{release}, python2 %else +Requires: %{spark_pkg_name}-core = %{version}-%{release}, python3 +%endif +%else Requires: %{spark_pkg_name}-core = %{version}-%{release}, python %endif diff --git a/bigtop_toolchain/bin/puppetize.sh b/bigtop_toolchain/bin/puppetize.sh index 3fcf64ba4..b8c39c5a9 100755 --- a/bigtop_toolchain/bin/puppetize.sh +++ b/bigtop_toolchain/bin/puppetize.sh @@ -71,14 +71,24 @@ case ${ID}-${VERSION_ID} in dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms ;; openEuler-*) - yum -y install hostname curl sudo unzip wget ruby vim patch systemd-devel rng-tools findutils + dnf -y install hostname curl sudo unzip wget ruby ruby-devel vim systemd-devel findutils 'dnf-command(config-manager)' nc initscripts openeuler-lsb openssl-devel make gcc-c++ openEuler-rpm-config python3-pip python3-devel dbus + dnf config-manager --add-repo https://repo.oepkgs.net/openeuler/rpm/openEuler-22.03-LTS/extras/$HOSTTYPE + echo "gpgcheck=0" >> /etc/yum.repos.d/repo.oepkgs.net_openeuler_rpm_openEuler-22.03-LTS_extras_$HOSTTYPE.repo + sed -i "s|enabled=1|enabled=1 \npriority=10|g" /etc/yum.repos.d/openEuler.repo + dnf clean all + dnf makecache # openEuler ruby version is 3.X,so use puppet-7.22.0. - gem install puppet -v 7.22.0 - gem install xmlrpc - gem install sync + gem install puppet:7.22.0 xmlrpc sync sys-filesystem puppet module install puppetlabs-stdlib --version 4.12.0 #openEuler dnf defaulted is not use module,so comment module in puppet-7.22.0 sed -i "91c execute([command(:dnf), 'install', '-d', '0', '-e', self.class.error_level, '-y', args])" /usr/local/share/gems/gems/puppet-7.22.0/lib/puppet/provider/package/dnfmodule.rb + #add python2 in openeuler + wget -P /usr/src/ https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz + tar -xf /usr/src/Python-2.7.14.tgz -C /usr/src/ + cd /usr/src/Python-2.7.14 + ./configure --prefix=/usr/local/python2.7.14 --enable-optimizations + make && make install + ln -s /usr/local/python2.7.14/bin/python2.7 /usr/bin/python2 ;; *) echo "Unsupported OS ${ID}-${VERSION_ID}." diff --git a/bigtop_toolchain/manifests/renv.pp b/bigtop_toolchain/manifests/renv.pp index 484f4ace0..429a942ec 100644 --- a/bigtop_toolchain/manifests/renv.pp +++ b/bigtop_toolchain/manifests/renv.pp @@ -49,22 +49,43 @@ class bigtop_toolchain::renv { ] } } + /openEuler/: { + $pkgs = [ + "R", + "R-devel", + ] + } } - if ($operatingsystem != 'openEuler') { - package { $pkgs: - ensure => installed, - before => [Exec["install_r_packages"]] + #BIGTOP-3967: openEuler not support PowerPC currently. + if ($operatingsystem == 'openEuler'){ + if ($architecture == "aarch64") { + $url = "https://github.com/jgm/pandoc/releases/download/2.19.2/pandoc-2.19.2-linux-arm64.tar.gz" + $pandoctar = "pandoc-2.19.2-linux-arm64.tar.gz" + } else{ + $url = "https://github.com/jgm/pandoc/releases/download/2.19.2/pandoc-2.19.2-linux-amd64.tar.gz" + $pandoctar = "pandoc-2.19.2-linux-amd64.tar.gz" + } + + exec {"down_pandoc": + cwd => "/usr/src", + command => "/usr/bin/wget $url && /bin/tar -xvzf $pandoctar && ln -s /usr/src/pandoc-2.19.2/bin/pandoc /usr/bin/pandoc", } } + + package { $pkgs: + ensure => installed, + before => [Exec["install_r_packages"]] + } + + # BIGTOP-3483: # Upgrade R version to 3.6.3 to build Spark 3.0.1 on Ubuntu 16.04 and 18.04 # # Then Install required R packages dependency if (($operatingsystem == 'Ubuntu' and versioncmp($operatingsystemmajrelease, '18.04') <= 0) or - ($operatingsystem == 'Debian' and versioncmp($operatingsystemmajrelease, '10') < 0) or - ($operatingsystem == 'openEuler')) { + ($operatingsystem == 'Debian' and versioncmp($operatingsystemmajrelease, '10') < 0)) { $url = "https://cran.r-project.org/src/base/R-3/" $rfile = "R-3.6.3.tar.gz" $rdir = "R-3.6.3" diff --git a/provisioner/docker/config_openeuler-22.03.yaml b/provisioner/docker/config_openeuler-22.03.yaml index 6745442b7..a8fbe6ed5 100644 --- a/provisioner/docker/config_openeuler-22.03.yaml +++ b/provisioner/docker/config_openeuler-22.03.yaml @@ -15,7 +15,7 @@ docker: memory_limit: "4g" - image: "bigtop/slaves:trunk-openeuler-22.03" + image: "bigtop/puppet:trunk-openeuler-22.03" repo: "http://repios.bigtop.apache.org/releases/3.2.0/openEuler/22.03/$basearch" distro: centos diff --git a/provisioner/utils/setup-env-centos.sh b/provisioner/utils/setup-env-centos.sh index 9822410e9..1b85eef76 100755 --- a/provisioner/utils/setup-env-centos.sh +++ b/provisioner/utils/setup-env-centos.sh @@ -31,7 +31,7 @@ fi # BIGTOP-3883: # yum-utils, yum-priorities and yum-config-manager are NOT available in openEuler 22.03 if [ "${ID}" = "openEuler" ];then - dnf install rng-tools 'dnf-command(config-manager)' -y + dnf install rng-tools -y else yum -y install rng-tools yum-priorities fi
