程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Hadoop1.2中設置裝備擺設偽散布式的實例

Hadoop1.2中設置裝備擺設偽散布式的實例

編輯:關於JAVA

Hadoop1.2中設置裝備擺設偽散布式的實例。本站提示廣大學習愛好者:(Hadoop1.2中設置裝備擺設偽散布式的實例)文章只能為提供參考,不一定能成為您想要的結果。以下是Hadoop1.2中設置裝備擺設偽散布式的實例正文



1、設置ssh

裝置ssh相干軟件包:
sudo apt-get install openssh-client openssh-server
然後應用上面兩個敕令之一啟動/封閉sshd:
sudo /etc/init.d/ssh start|stop
sudo service ssh start|stop
若勝利啟動sshd,我們能看到以下相似成果:
$ ps -e | grep ssh
 2766 ?        00:00:00 ssh-agent
10558 ?        00:00:00 sshd
這時候候,假如運轉以下ssh登錄本機的敕令,會提醒輸出暗碼:
ssh localhost
如今我們要做的就是讓它不須要輸出暗碼:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  #一個空暗碼的SSH密鑰
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
如許的話就好了。假如仍不湊效,能夠是密鑰文件的權限設置欠妥。

2、設置裝備擺設hadoop

將hadoop-1.2.1解壓到~/下,同時在~/下樹立目次hadoop-env,持續在hadoop-env下樹立以下的目次構造:

├── 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存儲元數據的目次,可以指定多個目次,這些目次要用逗號離開;dfs.data.dir指定datanode寄存數據的目次,可以指定多個目次;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:
./hadoop-1.2.1/bin/hadoop namenode -format
啟動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),應當有以下相似輸入:

$ jps
13592 DataNode
13728 SecondaryNameNode
13837 JobTracker
12864 NameNode
13955 TaskTracker
16069 Jps
第二種辦法是閱讀器登錄http://localhost:50030檢查jobtracker,http://localhost:50070檢查namenode。假如在應用翻牆軟件,那末在拜訪時能夠會報錯,最簡略的處理辦法是關失落翻牆軟件。 還有一種辦法就是檢查日記文件。

如今我們在~/hadoop-env/test/input目次下樹立兩個文件:

$ echo "hello world" > test1.txt
$ echo "hi,world" > test2.txt
把這兩個文件導入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,設置裝備擺設完成。

注:本文應用的體系是linux mint 15 64bit,hadoop應用的是1.2.1版本。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved