Gentoo Archives: gentoo-commits

From: Alexys Jacob <ultrabug@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/ultrabug:master commit in: sys-cluster/cloudera-hadoop-mr1/, sys-cluster/cloudera-hadoop-mr1/files/
Date: Thu, 28 Mar 2013 12:25:20
Message-Id: 1364473505.9f477f0ca65106b4c6ba7e6d55c0268986ad4070.ultrabug@gentoo
1 commit: 9f477f0ca65106b4c6ba7e6d55c0268986ad4070
2 Author: Ultrabug <ultrabug <AT> gentoo <DOT> org>
3 AuthorDate: Thu Mar 28 12:25:05 2013 +0000
4 Commit: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 28 12:25:05 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/ultrabug.git;a=commit;h=9f477f0c
7
8 new sys-cluster/cloudera-hadoop-mr1
9
10 ---
11 sys-cluster/cloudera-hadoop-mr1/Manifest | 5 +
12 .../cloudera-hadoop-mr1-4.2.0.ebuild | 130 ++++++++++++++++++++
13 sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20 | 18 +++
14 .../cloudera-hadoop-mr1/files/hadoop-0.20.initd | 75 +++++++++++
15 .../cloudera-hadoop-mr1/files/mapred.limitsd | 17 +++
16 5 files changed, 245 insertions(+), 0 deletions(-)
17
18 diff --git a/sys-cluster/cloudera-hadoop-mr1/Manifest b/sys-cluster/cloudera-hadoop-mr1/Manifest
19 new file mode 100644
20 index 0000000..27d54e3
21 --- /dev/null
22 +++ b/sys-cluster/cloudera-hadoop-mr1/Manifest
23 @@ -0,0 +1,5 @@
24 +AUX hadoop-0.20 605 SHA256 4f5875aafddfe08b1975158dbb8866aaafbb3e4a2570b50191d9974c0bc85f7c SHA512 89ce2e6fbc134671d5d10c00f37d7d404e7cd080784ea34085b252b546d7206c1773ee1f18a46f8c7bad099a6e1768a59a2bd9625242cf9b2fcc4a135ae3cb1d WHIRLPOOL 36c26960adbe9619836e479f0473cf3765c4fff42e8510bf7e3b2503c5d9d9751631e2adada69141ee44a4502311795df6edbe4fb6cc4694a83d186bae61150f
25 +AUX hadoop-0.20.initd 1877 SHA256 16ef094266bc0a5df83ca36945b82a86fdb7823c9ee2a278beebb85b12f01164 SHA512 72089ec653b247e0193566d9c1ef4b9044ab40543b405bfea08433bb8409b2a92e5e5b2533fa90759f0c9b7cf67d07df9fc2cca4f24141519a3e5eefd407b07e WHIRLPOOL d36a2c0458e8f16b3dff1142435a39ecaca52e8e614f9b41af3cb5091f3122d5b845fd3e51a31d0a513703ffb6e99359c35b2b72f187cf1fe01eaf0f2508ce8b
26 +AUX mapred.limitsd 832 SHA256 dacbbc9bf0d35e50c97648fd4555f9da562de325d1771a9e29796d761b9e78f6 SHA512 97c11f5afb5ef960194196c7750bcecdb4d79e3cbb0bed369a68e5f828b430eb79873f08af6eaa7455cd363dd0cd8eb7a99894d5ab3cc0f99eb96a58403b3a4d WHIRLPOOL 3b382d5c899d945532f6706f88a0103281a38a888757355bec0bb2970d423f1e7e5c49f644f7599d32bcd8315ee80444fedf7409587f11a6758c3ed4b5dfb726
27 +DIST mr1-2.0.0-mr1-cdh4.2.0.tar.gz 80288437 SHA256 2a3fec5b7d74f714de1acf4cb889b82e854a5138bb9e79c2bc424363f06258db SHA512 c2f292babac4500795de2b0bdac81b802e5e5207167cf0f2a99d84efa84dd3f213b58fb60115c2068215f3e829d123e69224b2fad1f448006c4fa677520f74be WHIRLPOOL 1bcbd223289218ca827c81c4bf95e7cafa4aa1c8dc5d0cd68215499230268df4f89bcc1cb0f2212c33bf2873da5fa9830d03c726ffadd94535baa7077bf0f5b0
28 +EBUILD cloudera-hadoop-mr1-4.2.0.ebuild 3500 SHA256 8c1baaa556cfb5bf73ae385fbf345674d3e1e7c835ad4d49654068b6d765fe15 SHA512 50f5cbe426532b6b1eb78e61a4c4656eed441a80e8cec82f01e3925c200077c80a0e7d9ca1414277620e94e947bfa7fa123755bdab530f9827408fa7f9d6ff70 WHIRLPOOL d3e6e6b97e13cb7c7e204fd11184f93302b913c6284efcb451a9e1792c3e826d8e3c1629681476aa03271afa05c89676c7144116dfad56e8a67534dfebddb291
29
30 diff --git a/sys-cluster/cloudera-hadoop-mr1/cloudera-hadoop-mr1-4.2.0.ebuild b/sys-cluster/cloudera-hadoop-mr1/cloudera-hadoop-mr1-4.2.0.ebuild
31 new file mode 100644
32 index 0000000..5e9638b
33 --- /dev/null
34 +++ b/sys-cluster/cloudera-hadoop-mr1/cloudera-hadoop-mr1-4.2.0.ebuild
35 @@ -0,0 +1,130 @@
36 +# Copyright 1999-2010 Gentoo Foundation
37 +# Distributed under the terms of the GNU General Public License v2
38 +# $Header: $
39 +
40 +EAPI="5"
41 +
42 +inherit eutils java-utils-2 versionator
43 +
44 +MY_PV="2.0.0"
45 +MY_PN="hadoop-0.20-mapreduce"
46 +MY_P="${MY_PN}-${PV}"
47 +MY_V=$(get_version_component_range 1-3)
48 +if [[ "$(get_libdir)" == "lib64" ]]; then
49 + MY_ARCH='Linux-amd64-64'
50 +else
51 + MY_ARCH='Linux-i386-32'
52 +fi
53 +
54 +DESCRIPTION="Cloudera’s Distribution for Apache Hadoop MapReduce v1"
55 +HOMEPAGE="http://hadoop.apache.org"
56 +SRC_URI="http://archive.cloudera.com/cdh4/cdh/4/mr1-${MY_PV}-mr1-cdh${PV}.tar.gz"
57 +
58 +LICENSE="Apache-2.0"
59 +SLOT="0"
60 +KEYWORDS="~amd64 ~x86"
61 +RESTRICT="mirror"
62 +IUSE=""
63 +
64 +DEPEND="~sys-cluster/cloudera-hadoop-${MY_V}[hdfs,-mapreduce]"
65 +RDEPEND=">=virtual/jre-1.6
66 + dev-java/java-config-wrapper"
67 +
68 +CONFIG_DIR=/etc/hadoop/conf
69 +export CONFIG_PROTECT="${CONFIG_PROTECT} ${CONFIG_DIR}"
70 +
71 +S=${WORKDIR}/hadoop-"${MY_PV}"-mr1-cdh"${PV}"
72 +
73 +pkg_setup() {
74 + enewgroup mapred
75 + enewuser mapred -1 /bin/bash /usr/lib/"${MY_PN}" "mapred,hadoop"
76 +}
77 +
78 +src_configure() {
79 + pushd src/c++/task-controller
80 + econf --bindir=/"${MY_ARCH}"
81 + popd
82 + pushd src/c++/utils
83 + econf --libdir=/
84 + popd
85 + pushd src/c++/pipes
86 + # fix gcc-4.7
87 + sed -i -e '18i#include <unistd.h>' impl/HadoopPipes.cc || die
88 + econf --libdir=/ --with-hadoop-utils="${S}"/c++/"${MY_ARCH}"/
89 + popd
90 +}
91 +
92 +src_compile() {
93 + # make task-controller
94 + pushd src/c++/task-controller
95 + emake DESTDIR=./ install
96 + popd
97 +
98 + # make the native libs
99 + pushd src/c++/utils
100 + emake DESTDIR=./ install
101 + popd
102 + pushd src/c++/pipes
103 + emake DESTDIR=./ install
104 + popd
105 +}
106 +
107 +src_install() {
108 + # remove useless scripts and already provided jars
109 + rm bin/start-mapred.sh bin/stop-mapred.sh || die
110 + rm lib/slf4j-log4j*.jar || die
111 +
112 + # lib
113 + diropts -m755 -o root -g root
114 + insinto /usr/lib/"${MY_PN}"
115 + doins -r bin contrib example-confs ivy lib webapps
116 + fperms 0755 /usr/lib/"${MY_PN}"/bin/{hadoop,hadoop-config.sh,hadoop-daemon.sh,hadoop-daemons.sh,rcc,slaves.sh}
117 +
118 + doins -r *.jar *.xml
119 + doins -r c++/"${MY_ARCH}"/include
120 + for name in "ant" "core" "examples" "test" "tools"; do
121 + dosym hadoop-"${name}"-"${MY_PV}"-mr1-cdh"${PV}".jar /usr/lib/"${MY_PN}"/hadoop-"${name}".jar
122 + dosym hadoop-"${name}"-"${MY_PV}"-mr1-cdh"${PV}".jar /usr/lib/"${MY_PN}"/hadoop-"${MY_PV}"-mr1-cdh"${PV}"-"${name}".jar
123 + done
124 +
125 + # task-controller
126 + insinto /usr/lib/"${MY_PN}"/sbin/"${MY_ARCH}"
127 + doins src/c++/task-controller/task-controller
128 + fowners root:mapred /usr/lib/"${MY_PN}"/sbin/"${MY_ARCH}"/task-controller
129 + fperms 4754 /usr/lib/"${MY_PN}"/sbin/"${MY_ARCH}"/task-controller
130 +
131 + # static-libs
132 + insinto /usr/lib/"${MY_PN}"/lib/native
133 + doins src/c++/utils/libhadooputils.a
134 + doins src/c++/pipes/libhadooppipes.a
135 + ln -s ../../../hadoop/lib/native/ "${D}"/usr/lib/"${MY_PN}"/lib/native/"${MY_ARCH}" || die
136 +
137 + # bin
138 + dobin "${FILESDIR}"/hadoop-0.20
139 + fperms 755 /usr/lib/"${MY_PN}"/bin/hadoop
140 +
141 + # conf
142 + dosym "${CONFIG_DIR}" /usr/lib/"${MY_PN}"/conf
143 +
144 + # limits.d
145 + insinto /etc/security/limits.d
146 + newins "${FILESDIR}"/mapred.limitsd mapred.conf
147 +
148 + # home and log dir
149 + diropts -m775 -o root -g hadoop
150 + dodir /var/log/"${MY_PN}" /var/lib/"${MY_PN}"
151 + dodir /var/lib/"${MY_PN}"/cache /var/lib/"${MY_PN}"/cache/hadoop
152 + fperms 1777 /var/lib/"${MY_PN}"/cache
153 +
154 + # init script
155 + newinitd "${FILESDIR}"/hadoop-0.20.initd hadoop-0.20
156 + for daemon in "tasktracker" "jobtracker"; do
157 + dosym hadoop-0.20 /etc/init.d/hadoop-0.20-"${daemon}"
158 + done
159 +}
160 +
161 +pkg_config() {
162 + einfo "Setting up HDFS /tmp directory"
163 + su hdfs -- hdfs dfs -mkdir /tmp
164 + su hdfs -- hdfs dfs -chmod 777 /tmp
165 +}
166
167 diff --git a/sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20 b/sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20
168 new file mode 100644
169 index 0000000..6388936
170 --- /dev/null
171 +++ b/sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20
172 @@ -0,0 +1,18 @@
173 +#!/bin/sh
174 +
175 +export JAVA_HOME=$(java-config -g JAVA_HOME)
176 +
177 +# ENV 0.20
178 +export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec
179 +export HADOOP_CONF_DIR=/etc/hadoop/conf
180 +export HADOOP_HOME=/usr/lib/hadoop-0.20-mapreduce
181 +export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce
182 +export HADOOP_JOBTRACKER_USER=mapred
183 +export HADOOP_TASKTRACKER_USER=mapred
184 +export HADOOP_MRZKFC_USER=mapred
185 +export HADOOP_JOBTRACKERHA_USER=mapred
186 +export HADOOP_IDENT_STRING=hadoop
187 +export HADOOP_LOG_DIR=/var/log/hadoop-0.20-mapreduce
188 +export HADOOP_PID_DIR=/var/run/hadoop-0.20-mapreduce
189 +
190 +exec /usr/lib/hadoop-0.20-mapreduce/bin/hadoop "$@"
191
192 diff --git a/sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20.initd b/sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20.initd
193 new file mode 100644
194 index 0000000..a3f95d4
195 --- /dev/null
196 +++ b/sys-cluster/cloudera-hadoop-mr1/files/hadoop-0.20.initd
197 @@ -0,0 +1,75 @@
198 +#!/sbin/runscript
199 +# Copyright 1999-2011 Gentoo Foundation
200 +# Distributed under the terms of the GNU General Public License v2
201 +# $Header: $
202 +
203 +extra_commands="format"
204 +
205 +DAEMON=${SVCNAME/hadoop-0.20-}
206 +
207 +depend() {
208 + use dns net
209 +}
210 +
211 +chk_initd() {
212 + if [ "${DAEMON}" == "${SVCNAME}" ]; then
213 + eerror "You should not run this init script, use the provided aliases"
214 + eend 1
215 + return 1
216 + fi
217 +}
218 +
219 +init_env_vars() {
220 + if [ -n "${HADOOP_CONF_DIR}" ]; then
221 + export HADOOP_CONF_DIR=${HADOOP_CONF_DIR}
222 + else
223 + export HADOOP_CONF_DIR=/etc/hadoop/conf
224 + fi
225 +
226 + # source hadoop-env.sh for configuration
227 + if test -f ${HADOOP_CONF_DIR}/hadoop-env.sh; then
228 + . ${HADOOP_CONF_DIR}/hadoop-env.sh
229 + fi
230 + export JAVA_HOME=${JAVA_HOME}
231 +
232 + # fixed
233 + export HADOOP_PREFIX=/usr/lib/hadoop-0.20-mapreduce
234 + export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec/
235 + export HADOOP_PID_DIR=/var/run/hadoop-0.20-mapreduce
236 + export HADOOP_LOG_DIR=/var/log/hadoop-0.20-mapreduce
237 + export HADOOP_HOME=/usr/lib/hadoop-0.20-mapreduce
238 + export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce
239 +
240 + # user defined, in hadoop-env.sh
241 + if [ "${HADOOP_IDENT_STRING}" == "" ]; then
242 + export HADOOP_IDENT_STRING=$HADOOP_IDENT_STRING
243 + else
244 + export HADOOP_IDENT_STRING=hadoop
245 + fi
246 +
247 + DN_USER=mapred
248 + IDENT_USER=${DN_USER}
249 +
250 + # check for the required paths
251 + checkpath -d -m 0775 -o root:hadoop "${HADOOP_PID_DIR}"
252 +}
253 +
254 +start() {
255 + chk_initd || exit 1
256 + ebegin "Starting Cloudera Hadoop 0.20 ${DAEMON}"
257 + init_env_vars
258 + start-stop-daemon --start --quiet --wait 3000 \
259 + --pidfile ${HADOOP_PID_DIR}/hadoop-${IDENT_USER}-${DAEMON}.pid \
260 + -u ${DN_USER} -x ${HADOOP_PREFIX}/bin/hadoop-daemon.sh -- \
261 + --config ${HADOOP_CONF_DIR} start ${DAEMON}
262 + eend $?
263 +}
264 +
265 +stop() {
266 + chk_initd || exit 1
267 + ebegin "Stopping Cloudera Hadoop 0.20 ${DAEMON}"
268 + init_env_vars
269 + start-stop-daemon --stop --quiet \
270 + --pidfile ${HADOOP_PID_DIR}/hadoop-${IDENT_USER}-${DAEMON}.pid
271 + eend $?
272 +}
273
274 diff --git a/sys-cluster/cloudera-hadoop-mr1/files/mapred.limitsd b/sys-cluster/cloudera-hadoop-mr1/files/mapred.limitsd
275 new file mode 100644
276 index 0000000..eb51cb9
277 --- /dev/null
278 +++ b/sys-cluster/cloudera-hadoop-mr1/files/mapred.limitsd
279 @@ -0,0 +1,17 @@
280 +# Licensed to the Apache Software Foundation (ASF) under one or more
281 +# contributor license agreements. See the NOTICE file distributed with
282 +# this work for additional information regarding copyright ownership.
283 +# The ASF licenses this file to You under the Apache License, Version 2.0
284 +# (the "License"); you may not use this file except in compliance with
285 +# the License. You may obtain a copy of the License at
286 +#
287 +# http://www.apache.org/licenses/LICENSE-2.0
288 +#
289 +# Unless required by applicable law or agreed to in writing, software
290 +# distributed under the License is distributed on an "AS IS" BASIS,
291 +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
292 +# See the License for the specific language governing permissions and
293 +# limitations under the License.
294 +
295 +mapred - nofile 32768
296 +mapred - nproc 65536