Hadoop1.2中配置偽分布式的實例
1、設(shè)置ssh
安裝ssh相關(guān)軟件包:
然后使用下面兩個命令之一啟動/關(guān)閉sshd:
sudo service ssh start|stop
若成功啟動sshd,我們能看到如下類似結(jié)果:
2766 ? 00:00:00 ssh-agent
10558 ? 00:00:00 sshd
這時候,如果運行如下ssh登錄本機的命令,會提示輸入密碼:
現(xiàn)在我們要做的就是讓它不需要輸入密碼:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
這樣的話就行了。如果仍不湊效,可能是密鑰文件的權(quán)限設(shè)置不當。
2、配置hadoop
將hadoop-1.2.1解壓到~/下,同時在~/下建立目錄hadoop-env,繼續(xù)在hadoop-env下建立如下的目錄結(jié)構(gòu):
├── dfs
│ ├── checkpoint1
│ ├── data1
│ ├── data2
│ └── name1
└── test
└── input
配置文件hadoop-1.2.1/conf/core-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<final>true</final>
</property>
</configuration>
fs.default.name來指定HDFS的uri,如果value中沒有提供端口,默認為8020。
配置文件hadoop-1.2.1/conf/hdfs-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>~/hadoop-env/dfs/name1</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2</value>
<final>true</final>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>~/hadoop-env/dfs/checkpoint1</value>
<final>true</final>
</property>
</configuration>
dfs.name.dir指定namenode存儲元數(shù)據(jù)的目錄,可以指定多個目錄,這些目錄要用逗號分開;dfs.data.dir指定datanode存放數(shù)據(jù)的目錄,可以指定多個目錄;fs.checkpoint.dir指定輔助namenode存放檢查點的目錄。
配置文件hadoop-1.2.1/conf/mapred-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<final>true</final>
</property>
</configuration>
3、測試
先格式化HDFS:
啟動HDFS和MapReduce進程:
$ ./hadoop-1.2.1/bin/start-dfs.sh
$ ./hadoop-1.2.1/bin/start-mapred.sh
啟動時候如果報錯,例如localhost: Error: JAVA_HOME is not set.,需要在./hadoop-1.2.1/conf/hadoop-env.sh文件中export JAVA_HOME,例如:
export JAVA_HOME=~/jdk1.7.0_25
如何檢查是否成功啟動了: 第一種方法是使用jps命令(Java Virtual Machine Process Status Tool),應(yīng)該有如下類似輸出:
$ jps
13592 DataNode
13728 SecondaryNameNode
13837 JobTracker
12864 NameNode
13955 TaskTracker
16069 Jps
第二種方法是瀏覽器登錄http://localhost:50030查看jobtracker,http://localhost:50070查看namenode。如果在使用翻墻軟件,那么在訪問時可能會報錯,最簡單的解決方法是關(guān)掉翻墻軟件。 還有一種方法就是查看日志文件。
現(xiàn)在我們在~/hadoop-env/test/input目錄下建立兩個文件:
$ echo "hello world" > test1.txt
$ echo "hi,world" > test2.txt
把這兩個文件導(dǎo)入HDFS:
./hadoop-1.2.1/bin/hadoop dfs -put hadoop-env/test/input/ output/
查看:
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /
Found 2 items
drwxr-xr-x - user supergroup 0 2013-10-22 22:07 /test
drwxr-xr-x - user supergroup 0 2013-10-22 21:58 /tmp
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /test
Found 2 items
-rw-r--r-- 3 user supergroup 12 2013-10-22 22:07 /test/test1.txt
-rw-r--r-- 3 user supergroup 9 2013-10-22 22:07 /test/test2.txt
OK,配置完成。
注:本文使用的系統(tǒng)是linux mint 15 64bit,hadoop使用的是1.2.1版本。
相關(guān)文章
java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目
本文主要介紹了java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01java學(xué)習(xí)之一維數(shù)組中重復(fù)元素的去除
關(guān)于一維數(shù)組中有重復(fù)的元素該怎么剔除,作為java初學(xué)者的我整理出不調(diào)用任何特殊庫的基礎(chǔ)方法,這種思想在其他語言也適用,有需要的朋友可以借鑒參考下2021-09-09為何修改equals方法時還要重寫hashcode方法的原因分析
這篇文章主要介紹了為何修改equals方法時還要重寫hashcode方法的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06TOMCAT內(nèi)存溢出及大小調(diào)整的實現(xiàn)方法
下面小編就為大家?guī)硪黄猅OMCAT內(nèi)存溢出及大小調(diào)整的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05關(guān)于springboot的跨域配置問題的解決方案
這篇文章主要介紹了關(guān)于springboot的跨域配置問題,處理filter,spring?security等過濾器跨域問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07