Changes between Version 4 and Version 5 of waue/2009/0511


Ignore:
Timestamp:
May 11, 2009, 2:56:18 PM (15 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • waue/2009/0511

    v4 v5  
    2828 * 因此此篇適合用在:打包已經compiler好的可執行檔,並搭配設定好的配置檔來做簡便安裝用途者
    2929= 步驟 =
    30 make source; make deb; make clean
     30== 製作deb打包設定檔 ==
     31
     32{{{
     33$ mkdir -p ~/test/hadoop-0.19.1/debian
     34$ cd ~/test/hadoop-0.19.1/debian
     35}}}
     36
     37== 編輯檔案 ==
     38   * 這些與dh_make產生出來的檔案差不多,就不討論了
     39
     40|| changelog  ||
     41|| copyright ||
     42|| compat  ||
     43|| control ||
     44|| rules ||
     45
     46   * 以下檔案就把內容列出
     47=== hadoop.install ===
     48{{{
     49#!sh
     50conf/*        etc/hadoop
     51
     52debian/conf/* etc/hadoop
     53
     54bin           opt/hadoop
     55
     56c++           opt/hadoop
     57
     58contrib       opt/hadoop
     59
     60lib           opt/hadoop
     61
     62libhdfs       opt/hadoop
     63
     64librecordio   opt/hadoop
     65
     66webapps       opt/hadoop
     67
     68*.jar         opt/hadoop
     69}}}
     70=== hadoop.prerm
     71 ===
     72{{{
     73#!sh
     74#!/bin/sh
     75
     76
     77su -c /opt/hadoop/bin/stop-all.sh hdfsadm -
     78}}}
     79=== hadoop-doc.install ===
     80{{{
     81#!sh
     82docs/*  usr/share/doc/hadoop
     83}}}
     84=== hadoop.links  ===
     85{{{
     86#!sh
     87etc/hadoop  opt/hadoop/conf
     88
     89usr/share/doc/hadoop opt/hadoop/docs
     90
     91var/log/hadoop  opt/hadoop/logs
     92}}}
     93=== hadoop-src.install ===
     94{{{
     95#!sh
     96src     opt/hadoop
     97
     98*.xml   opt/hadoop
     99}}}
     100
     101=== hadoop-doc.links ===
     102{{{
     103#!sh
     104usr/share/doc/hadoop  opt/hadoop/docs
     105}}}
     106=== hadoop.postinst ===
     107{{{
     108#!sh
     109#!/bin/sh
     110
     111
     112
     113echo "$1"
     114
     115
     116
     117if [ "$1" != configure ]
     118
     119then
     120
     121  exit 0
     122
     123fi
     124
     125
     126
     127setup_hdfsadm_user() {
     128
     129  if ! getent passwd hdfsadm >/dev/null; then
     130
     131    useradd hdfsadm
     132
     133    mkdir -p /home/hdfsadm/.ssh
     134
     135    mkdir -p /var/log/hadoop
     136
     137    ssh-keygen -t rsa -q -f /home/hdfsadm/.ssh/id_rsa -N ""
     138
     139    cp /home/hdfsadm/.ssh/id_rsa.pub /home/hdfsadm/.ssh/authorized_keys
     140
     141    chown hdfsadm:hdfsadm /var/log/hadoop
     142
     143    chown -R hdfsadm:hdfsadm /home/hdfsadm/.ssh
     144
     145    chown -R hdfsadm:hdfsadm /home/hdfsadm
     146
     147    su -c "/opt/hadoop/bin/hadoop namenode -format" hdfsadm -
     148
     149    su -c /opt/hadoop/bin/start-all.sh hdfsadm -
     150
     151    echo "Please check via browsing following URLs:"
     152
     153    echo "(1) http://localhost:50030 for Hadoop Map/Reduce Administration."
     154
     155    echo "(2) http://localhost:50060 for Hadoop Task Tracker status"
     156
     157    echo "(3) http://localhost:50070 for Hadoop Distributed File System status"
     158
     159  fi
     160
     161}
     162
     163
     164
     165setup_hdfsadm_user
     166}}}
     167=== hadoop.docs ===
     168{{{
     169#!sh
     170CHANGES.txt
     171
     172LICENSE.txt
     173
     174NOTICE.txt
     175
     176README.txt
     177}}}
     178=== hadoop.postrm ===
     179{{{
     180#!sh
     181#!/bin/sh
     182
     183
     184
     185echo "$1"
     186
     187
     188
     189if [ "$1" != remove ]
     190
     191then
     192
     193  exit 0
     194
     195fi
     196
     197
     198
     199setup_hdfsadm_user() {
     200
     201  if ! getent passwd hdfsadm >/dev/null; then
     202
     203    echo "no account found: 'hdfsadm'."
     204
     205  else
     206
     207    userdel hdfsadm
     208
     209    rm -rf /home/hdfsadm
     210
     211    rm -rf /var/log/hadoop
     212
     213    rm -rf /tmp/hadoop-hdfsadm*
     214
     215    rm -rf /tmp/hsperfdata_*
     216
     217  fi
     218
     219}
     220
     221
     222
     223setup_hdfsadm_user
     224}}}
     225
     226=== 加入目錄 conf ===
     227 * 用來放編輯好的Hadoop設定檔,而此設定檔與hadoop有關,就不再贅述
     228
     229
     230== 編輯一個Makefile ==
     231
     232{{{
     233VERSION = 0.19.1
     234
     235all: help
     236
     237
     238
     239deb:
     240
     241        @dpkg-buildpackage -rfakeroot -aamd64
     242
     243        @dpkg-buildpackage -rfakeroot -ai386
     244
     245
     246
     247clean:
     248
     249        @debian/rules clean
     250
     251
     252
     253source:
     254
     255        @wget http://ftp.twaren.net/Unix/Web/apache/hadoop/core/hadoop-${VERSION}/hadoop-${VERSION}.tar.gz
     256
     257        @tar zxvf hadoop-${VERSION}.tar.gz -C ..
     258
     259        @rm conf/hadoop-env.sh 
     260
     261        @rm conf/hadoop-site.xml
     262
     263        @chmod a+x `find . -name "configure"`
     264
     265
     266
     267update:
     268
     269        @scp ../hadoop*_amd64.deb www.classcloud.org:/var/www/hadoop/dists/unstable/main/binary-amd64/.
     270
     271        @scp ../hadoop*_i386.deb www.classcloud.org:/var/www/hadoop/dists/unstable/main/binary-i386/.
     272
     273        @ssh www.classcloud.org /var/www/hadoop/update-repository.sh
     274
     275
     276
     277help:
     278
     279        @echo "Usage:"
     280
     281        @echo "make deb     - Build Debian Package."
     282
     283        @echo "make clean   - Clean up Debian Package temparate files."
     284
     285        @echo "make source  - download source tarball from hadoop mirror site."
     286
     287        @echo "make update  - upload deb packages to classcloud.org."
     288
     289        @echo "make help    - show Makefile options."
     290
     291        @echo " "
     292
     293        @echo "Example:"
     294
     295        @echo "$$ make source; make deb; make clean"
     296}}}
     297 == 執行makefile的內容 ==
     298{{{
     299$ make source; make deb; make clean
     300}}}