配置hadoop
本節(jié)內(nèi)容全部搬運(yùn)官網(wǎng)
https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
解壓縮下載的Hadoop發(fā)行版证逻。在分發(fā)版中傍药,編輯etc/hadoop/hadoop-env.sh文件厌均,定義如下參數(shù)
以下所有命令要在hadoop安裝的文件夾里執(zhí)行
etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_141
這里是自己的jdk安裝地址
嘗試以下命令(正常的話會(huì)出來一些東西)
bin/hadoop
本地運(yùn)行模式測(cè)試
默認(rèn)情況下待牵,Hadoop被配置為以非分布式模式運(yùn)行烘苹,作為單個(gè)Java進(jìn)程式散。這對(duì)于調(diào)試非常有用烹吵。
下面的示例復(fù)制解壓縮的conf目錄以用作輸入拯欧,然后查找并顯示給定正則表達(dá)式的每個(gè)匹配項(xiàng)详囤。輸出被寫到給定的輸出目錄
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
// 這里的mapreduce要改為自己的版本號(hào)
$ cat output/*
WordCount案例(統(tǒng)計(jì)單詞次數(shù))
- 新建一個(gè)wcinput文件夾
mkdir wcinput
- 在wcinput文件夾里新建一個(gè)wc.input文件并書寫內(nèi)容
cd wcinput/
vim wc.input
hadoop yarn
hadoop mapreduce
whb
whb
(可以自己輸入)
- 執(zhí)行wordcount
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount wcinput wcoutput
wcinput為讀取的文件地址,wcoutput為結(jié)果輸出地址
- 查看結(jié)果
cat wcoutput/*
與書寫結(jié)果一致
偽分布式模式測(cè)試
Hadoop can also be run on a single-node in a pseudo-distributed mode where each Hadoop daemon runs in a separate Java process.
etc/hadoop/core-site.xml
<configuration>
指定HDFS中NameNode的地址
這里需要修改localhost為自己本機(jī)名稱
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
指定Hadoop運(yùn)行時(shí)產(chǎn)生文件的存儲(chǔ)目錄
value里的內(nèi)容改為自己存儲(chǔ)的文件夾地址
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.1/data/tmp</value>
</property>
</configuration>
我自己的配置僅供參考
切換到hadoop目錄镐作,運(yùn)行命令
bin/hdfs namenode -format
運(yùn)行完畢后啟動(dòng)namenode(這里不同版本會(huì)不一樣)
hadoop-daemon.sh start namenode
這里我出現(xiàn)了問題藏姐,我跟的教程用的版本跟我不一樣
WARNING: Use of this script to start HDFS daemons is deprecated. WARNING: Attempting to execute replacement "hdfs --daemon start" instead.
使用hdfs --daemon命令代替hadoop-daemon
輸入jps顯示
啟動(dòng)datanode
hdfs --daemon start datanode
接下來使用主機(jī)進(jìn)行訪問自己虛擬機(jī)的50070端口(也可能是9870)
-
我這里出現(xiàn)了問題原因是好像后面出的版本默認(rèn)的端口是9870
8.png