diff options
author | Ultrabug <ultrabug@gentoo.org> | 2012-07-05 18:24:27 +0200 |
---|---|---|
committer | Ultrabug <ultrabug@gentoo.org> | 2012-07-05 18:24:27 +0200 |
commit | 1311e5c324c842c715e9b4a98e77d80538ffe436 (patch) | |
tree | c6d3868134feb19ba2c2780b696fdfb350019404 /sys-cluster | |
parent | no tests, correct HOMEPAGE (diff) | |
download | ultrabug-1311e5c324c842c715e9b4a98e77d80538ffe436.tar.gz ultrabug-1311e5c324c842c715e9b4a98e77d80538ffe436.tar.bz2 ultrabug-1311e5c324c842c715e9b4a98e77d80538ffe436.zip |
new apache-hadoop-bin ebuild
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/apache-hadoop-bin/Manifest | 3 | ||||
-rw-r--r-- | sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild | 131 | ||||
-rw-r--r-- | sys-cluster/apache-hadoop-bin/files/hadoop.initd | 75 |
3 files changed, 209 insertions, 0 deletions
diff --git a/sys-cluster/apache-hadoop-bin/Manifest b/sys-cluster/apache-hadoop-bin/Manifest new file mode 100644 index 0000000..054b030 --- /dev/null +++ b/sys-cluster/apache-hadoop-bin/Manifest @@ -0,0 +1,3 @@ +AUX hadoop.initd 1833 RMD160 4550bb50f34508cbdccf20c23f855a4c213ef77c SHA1 bf4c2cadae9e4c24217626fbbe8004b2348c9637 SHA256 3a4567d6af2d011c357fc41a0159a3bf9ad47ef76e06a76f79ccaeb598d2cb38 +DIST hadoop-1.0.3.tar.gz 62428860 RMD160 e41421483156fd0fa65d608b206a17cd2a73a989 SHA1 5ca6b77e0a600475fae6770c52b47a751f646f9c SHA256 716ab51f75ffb70343c3cca02f7ba4722f42376edb67eecbd42a426a054e6423 +EBUILD apache-hadoop-bin-1.0.3.ebuild 3357 RMD160 1ade6bdb5313059919bdf8e0e60e15ecbebe7cf1 SHA1 c1b6eca5ffdb03ec8944f6cac19aaa52c9b2f4d7 SHA256 b32e1a2a3deefe6066740ff3b7036dddf2ef9da552be6c6652eb0cda1afa25eb diff --git a/sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild b/sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild new file mode 100644 index 0000000..2bb7bc4 --- /dev/null +++ b/sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit eutils + +MY_PN="hadoop" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Software framework for data intensive distributed applications" +HOMEPAGE="http://hadoop.apache.org/" +SRC_URI="mirror://apache/hadoop/core/${MY_P}/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror" +IUSE="" + +DEPEND="" +RDEPEND=">=virtual/jre-1.6 + net-misc/openssh + net-misc/rsync" + +S=${WORKDIR}/${MY_P} + +pkg_setup(){ + enewgroup hadoop + enewuser hdfs -1 /bin/bash /var/lib/hadoop/hdfs hadoop + enewuser mapred -1 /bin/bash /var/lib/hadoop/mapred hadoop +} + +src_install() { + # Get the arch for libs + if [ $(get_libdir) == "lib64" ]; then + local MY_ARCH="Linux-amd64-64" + else + local MY_ARCH="Linux-i386-32" + fi + + # The hadoop-env.sh file needs JAVA_HOME set explicitly + JAVA_HOME=$(java-config -g JAVA_HOME) + sed -e "2iexport JAVA_HOME=${JAVA_HOME}" -i conf/hadoop-env.sh || die "sed failed" + cat >> conf/hadoop-env.sh <<-EOF + +# Added by Gentoo Portage +export HADOOP_CONF_DIR=/etc/hadoop +export HADOOP_LOG_DIR=/var/log/hadoop +export HADOOP_SECURE_DN_LOG_DIR=/var/log/hadoop +export HADOOP_PID_DIR=/var/run/hadoop +export HADOOP_SECURE_DN_PID_DIR=/var/run/hadoop +EOF + + # make useful dirs + diropts -m750 -o root -g hadoop + dodir /etc/"${MY_PN}" + dodir /usr/share/"${MY_PN}" + diropts -m770 -o root -g hadoop + dodir /var/log/"${MY_PN}" + dodir /var/run/"${MY_PN}" + + # conf + mv "${S}"/conf/* "${D}${HADOOP_CONF}" || die "install failed" + rm -rf "${S}"/conf || die "install failed" + + # /usr/bin stuff + for bin in "hadoop" "task-controller"; do + dobin bin/"${bin}" + rm bin/"${bin}" || die "install failed" + fowners root:hadoop /usr/bin/"${bin}" + done + + # /usr/sbin stuff + sed -i -e "s@JAVA_HOME=/usr/java/default@JAVA_HOME=${JAVA_HOME}@g" \ + sbin/update-hadoop-env.sh || die "sed failed" + for sbin in bin/* sbin/*; do + dosbin "${sbin}" + rm "${sbin}" || die "install failed" + done + + # /usr/include stuff + insinto /usr/include/"${MY_PN}" + doins "${S}"/c++/"${MY_ARCH}"/include/"${MY_PN}"/* + + # libs + pushd "${S}"/lib/native/"${MY_ARCH}" +# dolib *.la +# dolib.a *.a + for soname in *.so.1.0.0; do + dolib.so "${soname}" + dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.0.0}" + dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.1.0.0}" + done + popd + # + pushd "${S}"/c++/"${MY_ARCH}"/lib +# dolib *.la +# dolib.a *.a + for soname in *.so.0.0.0; do + dolib.so "${soname}" + dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.0.0}" + dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.0.0.0}" + done + popd + + # libexec + insinto /usr/libexec + insopts -m755 + doins "${S}"/libexec/* + + # /usr/share stuff + rm -rf "${S}"/lib/native/ + for d in "contrib" "lib" "webapps"; do + mv "${S}"/"${d}" "${D}"/usr/share/"${MY_PN}" || die "install failed" + done + mv "${S}"/share/"${MY_PN}"/templates "${D}"/usr/share/"${MY_PN}" || die "install failed" + mv "${S}"/*.jar "${D}"/usr/share/"${MY_PN}" || die "install failed" + + # init scripts + newinitd "${FILESDIR}"/"${MY_PN}".initd "${MY_PN}" + for i in "namenode" "datanode" "historyserver" "jobtracker" "secondarynamenode" "tasktracker" + do + dosym /etc/init.d/"${MY_PN}" /etc/init.d/"${MY_PN}"-"${i}" + done +} + +pkg_postinst() { + elog "For info on configuration see http://hadoop.apache.org/core/docs/r${PV}" +} diff --git a/sys-cluster/apache-hadoop-bin/files/hadoop.initd b/sys-cluster/apache-hadoop-bin/files/hadoop.initd new file mode 100644 index 0000000..53f276d --- /dev/null +++ b/sys-cluster/apache-hadoop-bin/files/hadoop.initd @@ -0,0 +1,75 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +extra_commands="format" + +DAEMON=${SVCNAME/hadoop-} + +depend() { + use dns net +} + +chk_initd() { + if [ "${DAEMON}" == "${SVCNAME}" ]; then + eerror "You should not run this init script, use the provided aliases" + eend 1 + return 1 + fi +} + +init_env_vars() { + export HADOOP_PREFIX="/usr" + + # source hadoop-env.sh + if test -f /etc/hadoop/hadoop-env.sh; then + . /etc/hadoop/hadoop-env.sh + fi + + # setup secure dn user for datanodes + if [ -n "$HADOOP_SECURE_DN_USER" ] && [ "${DAEMON}" == "datanode" ]; then + DN_USER="root" + IDENT_USER=${HADOOP_SECURE_DN_USER} + elif [ "${DAEMON}" == "jobtracker" ] || [ "${DAEMON}" == "tasktracker" ] || [ "${DAEMON}" == "historyserver" ]; then + DN_USER="mapred" + IDENT_USER=${DN_USER} + else + DN_USER="hdfs" + IDENT_USER=${DN_USER} + fi + + # check for the required paths + checkpath -d -m 0770 -o root:hadoop "${HADOOP_PID_DIR}" +} + +start() { + chk_initd || exit 1 + ebegin "Starting Apache Hadoop ${DAEMON}" + init_env_vars + start-stop-daemon --start --quiet \ + --pidfile ${HADOOP_PID_DIR}/hadoop-${IDENT_USER}-${DAEMON}.pid \ + -u ${DN_USER} -x ${HADOOP_PREFIX}/sbin/hadoop-daemon.sh -- \ + --config ${HADOOP_CONF_DIR} start ${DAEMON} + eend $? +} + +stop() { + chk_initd || exit 1 + ebegin "Stopping Apache Hadoop ${DAEMON}" + init_env_vars + start-stop-daemon --stop --quiet \ + --pidfile ${HADOOP_PID_DIR}/hadoop-${IDENT_USER}-${DAEMON}.pid + eend $? +} + +format() { + if [ "${DAEMON}" == "namenode" ]; then + ebegin "Formatting Apache Hadoop ${DAEMON}" + init_env_vars + su ${DN_USER} --preserve-environment -- ${HADOOP_PREFIX}/bin/hadoop --config ${HADOOP_CONF_DIR} namenode -format + else + eerror "The format command is only available for the namenode daemon" + eend 1 + fi +}
\ No newline at end of file |