1. 程式人生 > >(轉) Hadoop1.2.1安裝

(轉) Hadoop1.2.1安裝

安裝目錄 文件復制 reduce mat 數據保存 jdk1.7 mapreduce tput cat

環境:ubuntu13

使用的用戶為普通用戶。如:用戶ru

jdk安裝略

1、安裝ssh

(1)

Java代碼 技術分享
  1. sudo apt-get install openssh-server

(2)配置ssh面密碼登錄

Xml代碼 技術分享
  1. $ ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
  2. $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

2、下載安裝Hadoop

(1)下載hadoop-1.2.1-bin.tar.gz

(2)修改權限

如果擁有者不是ru:ru,使用

Xml代碼 技術分享
  1. chown ru:ru hadoop-1.2.1-bin.tar.gz

(3)解壓

ru用戶下

Java代碼 技術分享
  1. tar -zxvf hadoop-1.2.1-bin.tar.gz

(4)將解壓後的hadoop拷貝到安裝目錄

3、配置hadoop

配置文件在$HADOOP_HOME/conf下

(1)配置hadoop-env.sh,指定jdk的安裝路徑

Xml代碼 技術分享
  1. 添加jdk路徑
  2. # The java implementation to use. Required.
  3. export JAVA_HOME=/home/ruge/soft/jdk1.7.0_45

(2)修改hadoop的核心配置文件core-site.xml,配置namenode的地址和端口

Xml代碼 技術分享
  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://localhost:9000</value>
  5. </property>
  6. </configuration>

Java代碼 技術分享
  1. 這個還是很必要的,如果不配置臨時目錄,格式化hdfs是會在/tem目錄下創建臨時目錄但是tmp目錄重啟系統會清楚下面文件。這樣namenode就啟動不起來了
  2. <property>
  3. <name>hadoop.tmp.dir</name>
  4. <value>/home/ruge/hadoop/hadooptmpdir</value>
  5. <description>A base for other temporary directories.</description>
  6. </property>

(3)修改hadoop的hdfs-site.xml,配置replication,即數據保存份數

Java代碼 技術分享
  1. <property>
  2. <name>dfs.replication</name>
  3. <value>1</value>
  4. </property>

(4)修改hadoop的mapred-site.xml,配置jobtracker的地址和端口

Java代碼 技術分享
  1. <property>
  2. <name>mapred.job.tracker</name>
  3. <value>localhost:9001</value>
  4. </property>

註:涉及到IP的地方如果是完全分布式集群,需要改成具體的IP

4、格式化hadoop的文件系統HDFS

Java代碼 技術分享
  1. bin/hadoop namenode -format

5、啟動hadoop

Java代碼 技術分享
  1. bin/start-all.sh

6、驗證hadoop是否啟動成功

  • NameNode - http://localhost:50070/
  • JobTracker - http://localhost:50030/

7、使用wordcount計算單詞數

Java代碼 技術分享
  1. (1)新建hdfs目錄,不是實際的系統文件目錄,只能使用hadoop dfs -ls /XXX查看
  2. hadoop dfs -mkdir /input
  3. (2)將文件復制到新建的hdfs目錄
  4. hadoop dfs -put ./*.sh /input/
  5. 3)使用hadoop的wordcount計算單詞數
  6. hadoop jar hadoop-examples-1.2.1.jar wordcount /input /output
  7. 註:input 和 output都是hdfs文件目錄。不同的是input是需要分析的目錄,outpu是存放結果的目錄,且自動生成,不能手動創建

第二部分,安裝hadoop集群:

1,準備2個服務器,分別為

機器名IP地址作用

hadoop.main192.168.1.102NameNode,JobTracker,DataNode,TaskTracker

hadoop.slave192.168.1.107DataNode,TaskTracker

註:2臺主機必須使用相同的用戶名運行hadoop

2,分別在這兩個主機上,按照單機版的安裝方法,安裝hadoop

3,在/etc/hostname中修改主機名

在/etc/hosts中配置主機名和IP地址度對應關系

分別在2臺主機中,運行以下命令:

ping hadoop.main

ping hadoop.slave

修改/etc/hosts添加master和slave的ip和主機名

4,將hadoop.main節點中的~/.ssh/id_rsa.pub文件拷貝到hadoop.slave節點的~/.ssh目錄下,然後在hadoop.slave的~/.ssh/目錄下運行:

cat ./id_rsa.pub >> authorized_keys

在hadoop.main節點中運行命令: ssh hadoop.slave

5, 修改2臺主機的core-site.xml,配置HDFS的地址和端口號

vi conf/core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop.main:9000</value>

</property>

</configuration>

6,修改2臺主機的MapReduce的配置文件,配置的是JobTracker的地址和端口

vi conf/mapred-site.xml

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>hadoop.main:9001</value>

</property>

</configuration>

7,修改2臺主機中的hadoop配置文件masters

hadoop.main

8,修改2臺主機中的hadoop配置文件slaves

hadoop.main

hadoop.slave

9,在haddop.main節點運行

bin/hadoop namenode -format

10,啟動hadoop

bin/start-all.sh

ps: datanode time configuration

<property>

<name>heartbeat.recheck.interval</name>

<value>15</value>

</property>

http://blog.csdn.net/hxpjava1/article/details/20214049

(轉) Hadoop1.2.1安裝