菜鸟也学hadoop(1)_搭建单节点的hadoop
其實跟官方的教程一樣 只是 我想寫下來 避免自己搞忘記了,,,,好記性不如爛筆頭
首先確認自己是否安裝了 java, ssh 以及 rsync 沒有裝的直接就 apt-get install 了嘛,,,java的不一定要用sun的 ?OPEN的也好 ?主要方便。。。。不是重點 看著搞啦
然后 就是ssh免密碼登錄 ?這點 主要是因為 hadoop 需要通過ssh來啟動salve列表中的各個主機守護進程,因為 分布式集群管理的 ?所以不管你是用的單機偽分布 或是分布 ?它都不分管理模式的,因此這一步必須搞 也簡單 就兩道命令
/opt/hadoop# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #后面學到的新的做法 記錄一下 On?source?host: ????cd?~ ????mkdir?.ssh ????chmod?700 .ssh ????cd?.ssh ????ssh-keygen -t rsa -b 1024 ????cat?id_rsa.pub ????copy contents of id_rsa.pub ???? On destination host: ????cd?~ ????mkdir?.ssh ????chmod?700 .ssh ????cd?.ssh ????vi?authorized_keys ????paste?contents of id_rsa.pub from evnoltp9 into authorized keys ????:wq! ????#chmod 600 authorized_keys ????chmod?og-rxw $HOME/.ssh?$HOME/.ssh/authorized_keys |
另外要注意請務必要將服務器上
~/.ssh權(quán)限設置為700
~/.ssh/authorized_keys的權(quán)限設置為600
試一試 是否可以免密碼登錄 ? ? ? ssh localhost
這樣就完成了第一步
echo $JAVA_HOME
看看jdk安裝在哪里 ?然后copy一下路徑 一會用上
vim ./conf/hadoop-env.sh
當中大概第九條 把那里的JAVA_HOME 指定一下
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_07 ? ? ? ? ? ? ? ?##保存
配置 hadoop核心配置文件 vim ./conf/core-site.xml
<configuration>
? ? ? ?<property>
? ? ? ? ? ? ? ?<name>fs.default.name</name>
? ? ? ? ? ? ? ?<value>hdfs://localhost:9000</value> ##hdfs入口
? ? ? ?</property>
</configuration>
配置 hadoop 的HDFS配置文件 vim ./conf/hdfs-site.xml
<configuration>
? ? ? ?<property>
? ? ? ? ? ? ? ?<name>dfs.replication</name>
? ? ? ? ? ? ? ?<value>1</value> ?##文件副本數(shù)量 但節(jié)點 一個就夠了
? ? ? ?</property>
</configuration>
配置 hadoop 的 MapReduce配置文件 ?vim ./conf/mapred-site.xml
<configuration>
? ? ? ?<property>
? ? ? ? ? ? ? ?<name>mapred.job.tracker</name>
? ? ? ? ? ? ? ?<value>localhost:9001</value>?
? ? ? ?</property>
</configuration>
這樣 一個單節(jié)點的Hadoop就配置成功了 ?剩下的就是格式下文件系統(tǒng) 然后 啟動就OK 了
首先是格式文件系統(tǒng) ?
hadoop namenode -format
接下來啟動
start-all.sh
當然 你可以 單單啟動 HDFS(start-dfs.sh) ?也可以單單啟動 MapReduce (start-mapred.sh)
驗證是否成功 打開瀏覽器
localhost:50030 ? ?##MapReduce WEB管理界面
localhost:50070 ? ?##HDFS WEB管理界面
測試上傳文件到 hdfs文件系統(tǒng)當中
hadoop fs -put 文件名 hdfs://localhost:9000/指定一個文件夾 或者 就放到根目錄
刷新下 hdfs管理界面 就能看到那個文件了
測試 MapReduce 例子 用的 hadoop里面自帶的例子 計算shell腳本當中的單詞量
?首先先上傳 要計算的sh文件 hadoop fs -mkdir /input ? ##創(chuàng)建一個input文件夾
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? hadoop fs -put *.sh /input/ ?##上傳當前文件夾下所有的*.sh文件 到 hdfs 的 input 文件夾下
hadoop jar hadoop-examples-i.0.3.jar wordcount /input /output
開始計算 過程省略 ?僅僅使用于測試的 ?
-----完成后 可以在 localhost:50070 文件管理系統(tǒng)當中發(fā)現(xiàn)一個output文件夾 點進入 在part-r-00000 當中記錄了結(jié)果 ?前面是單詞 后面是出現(xiàn)的次數(shù)
在localhost:50030 可以看到running jobs(這里顯示 運行當中的)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?completed jobs (這里顯示作業(yè)運行的統(tǒng)計)點進去可以看到一些 更詳細的信息,自己研究啦
?由于在 UBUNTU當中截圖麻煩 我就不發(fā)圖了 按照步驟一步一步來 親測OK ? 我用的 UBUNTU 12.04
?注:后面我看了書 hadoop實戰(zhàn) 機械工業(yè)出版社的那本 ?說是不能用openJava ?但是我原來看別人錄制視頻 說是可以, 我呢是用的 oracle的 ?大家如果用open的裝不上 就用oracle的吧 沒有實踐過
本文轉(zhuǎn)自 ? ?拖鞋崽 ? ? ?51CTO博客,原文鏈接:http://blog.51cto.com/1992mrwang/1011844
總結(jié)
以上是生活随笔為你收集整理的菜鸟也学hadoop(1)_搭建单节点的hadoop的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到好多动物是什么意思
- 下一篇: 部署HDFS HA的环境