| 338 | |
| 339 | == 2011-05-13 == |
| 340 | |
| 341 | * <TODO> 參考 '''[http://frederikkonietzny.de/wp/2010/11/14/hadoop-cluster-setup-on-debian-lenny/ Hadoop Cluster Setup on Debian Lenny]''' 這篇文章,把 Hadoop 的 NameNode High Availability (HA) 實作一次。(加入 DRBD、Hearbeat等) |
| 342 | * <註> 這篇文章居然連 Rack-aware 也寫了!!真是強者!! |
| 343 | {{{ |
| 344 | #!sh |
| 345 | ~$ cat > /usr/local/bin/rack.py << “EOF” |
| 346 | #!/usr/bin/env python |
| 347 | |
| 348 | ”’ |
| 349 | This script used by hadoop to determine network/rack topology. It |
| 350 | should be specified in hadoop-site.xml via topology.script.file.name |
| 351 | Property. |
| 352 | |
| 353 | topology.script.file.name |
| 354 | /home/hadoop/topology.py |
| 355 | |
| 356 | ”’ |
| 357 | |
| 358 | import sys |
| 359 | from string import join |
| 360 | |
| 361 | DEFAULT_RACK = ‘/default/rack0′; |
| 362 | |
| 363 | RACK_MAP = { ’10.4.0.1′ : ‘/datacenter1/rack1′, |
| 364 | |
| 365 | ’10.4.0.2′ : ‘/datacenter1/rack1′, |
| 366 | |
| 367 | ’10.4.0.3′ : ‘/datacenter1/rack1′, |
| 368 | |
| 369 | ’10.4.0.4′ : ‘/datacenter1/rack1′, |
| 370 | ’10.4.0.5′ : ‘/datacenter1/rack1′, |
| 371 | ’10.4.0.6′ : ‘/datacenter1/rack1′, |
| 372 | |
| 373 | ’10.4.0.250′ : ‘/datacenter1/rack1′, |
| 374 | } |
| 375 | |
| 376 | if len(sys.argv)==1: |
| 377 | print DEFAULT_RACK |
| 378 | else: |
| 379 | print join([RACK_MAP.get(i, DEFAULT_RACK) for i in sys.argv[1:]],” “) |
| 380 | |
| 381 | EOF |
| 382 | }}} |