linux下的单机工具,Linux下单机模式的Hadoop部署
需要軟件:
ssh:fedore 9 自帶。
jdk:http://java.sun.com/javase/downloads/index.jsp,下最近版本jdk-6u18-linux-i586
Hadoop:http://apache.etoak.com/hadoop/core/hadoop-0.20.1/,最新版本0.20.1,據說這個版本jdk必須1.6以上。
三種運行模式:
單機(非分布式)模式,偽分布式運行模式(用不同進程模仿分布式運行中的各類結點),分布式運行模式。
其中前兩種運行模式體現不了Hadoop分布式計算的優勢,并沒有什么實際意義,但對程序的測試及調試很有幫助。現在只有一臺機器, 主要想了解基于Hadoop的分布式并行程序是如何運行的。
單機模式安裝步驟:
1.解壓安裝包至:/usr/local/hadoop
如果安裝jdk已經設置了路徑,安裝完畢。否則:
2.cd /usr/local/hadoop/conf,修改hadoop-env.sh,最后一行添加:export JAVA_HOME=/usr/local/jdk1.6.0_18(jdk路徑).
看看這玩意怎么跑的:
1.
[root@localhost hadoop]# mkdir input
[root@localhost hadoop]# cp conf/*.xml input
[root@localhost hadoop]# bin/hadoop jar hadoop-0.20.1-examples.jar grep input output 'dfs[a-z.]+'
10/01/26 00:22:54 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
10/01/26 00:22:54 INFO mapred.FileInputFormat: Total input paths to process : 5
...
[root@localhost hadoop]# cat output/*
1??? dfsadmin
[root@localhost hadoop]# ls output/
part-00000
程序是hadoop自帶的,把conf下的xml文件拷貝到input下作為輸入,找到并顯示所有與最后一個正則表達式匹配的行,輸出到output.
jar 是 bin/hadoop 腳本定義的參數,會調用 Hadoop 自己的一個工具類 RunJar,這個工具類能夠執行一個 Jar 文件。
2.
[root@localhost hadoop]# mkdir test-in
[root@localhost hadoop]# echo "hello world bye world" > test-in/file1.txt
[root@localhost hadoop]# echo "hello hadoop googbye hadoop" > test-in/file2.txt
[root@localhost hadoop]# bin/hadoop jar hadoop-0.20.1-examples.jar wordcount? test-in test-out
10/01/26 00:43:46 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
10/01/26 00:43:46 INFO input.FileInputFormat: Total input paths to process : 2
...
[root@localhost hadoop]# cat test-out/*
bye??? 1
googbye??? 1
hadoop??? 2
hello??? 2
world??? 2
[root@localhost hadoop]# ls test-out/
part-r-00000
這個程序也是hadoop自帶的,統計各個單詞出現次數。
剛開始上網搜的結果都是修改fs.default.name,mapred.job.tracker等等,都是分布式運行模式的配置,沒想到單機模式這么簡單,浪費了不少時間。
總結
以上是生活随笔為你收集整理的linux下的单机工具,Linux下单机模式的Hadoop部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为云占用443端口_关于XAMPP默认
- 下一篇: 华为服务器怎么格式化系统,如何格式化服务