Hadoop完整安裝配置

前言* Hadoop是Apache開源組織的一個分佈式計算開源框架,在不少大型網站上都已經獲得了應用,如亞馬遜、Facebook和Yahoo等等。對於我來講,最近的一個使用點就是服務集成平臺的日誌分析。服務集成平臺的日誌量將會很大,而這也正好符合了分佈式計算的適用場景(日誌分析和索引創建就是兩大應用場景)。html

今天咱們來實際搭建一下Hadoop 2.2.0版,實戰環境爲目前主流服務器操做系統CentOS 5.8系統。java

 

 

 

1、實戰環境node

1linux

2apache

3服務器

4oracle

5框架

6dom

系統版本:CentOS 5.8 x86_64ssh

JAVA版本:JDK-1.7.0_25

Hadoop版本:hadoop-2.2.0

192.168.149.128   namenode  (充當namenode、secondary namenode和ResourceManager角色)

192.168.149.129   datanode1  (充當datanode、nodemanager角色)

192.168.149.130   datanode2  (充當datanode、nodemanager角色)

2、系統準備

一、Hadoop能夠從Apache官方網站直接下載最新版本Hadoop2.2。官方目前是提供了linux32位系統可執行文件,因此若是須要在64位系統上部署則須要單獨下載src 源碼自行編譯。(若是是真實線上環境,請下載64位hadoop版本,這樣能夠避免不少問題,這裏我實驗採用的是32位版本)

 

Hadoop下載地址

 

http://apache.claz.org/hadoop/common/hadoop-2.2.0/

 

Java 下載下載

 

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

 

 

二、咱們這裏採用三臺CnetOS服務器來搭建Hadoop集羣,分別的角色如上已經註明。

 

第一步:咱們須要在三臺服務器的/etc/hosts裏面設置對應的主機名以下(真實環境能夠使用內網DNS解析)

 

[root@node1 hadoop]# cat /etc/hosts

1

2

3

4

5

6

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

192.168.149.128  node1

192.168.149.129  node2

192.168.149.130  node3

(注* 咱們須要在namenode、datanode三臺服務器上都配置hosts解析)

 

第二步:從namenode上無密碼登錄各臺datanode服務器,須要作以下配置:

1

2

3

4

在namenode 128上執行ssh-keygen,一路Enter回車便可。

而後把公鑰/root/.ssh/id_rsa.pub拷貝到datanode服務器便可,拷貝方法以下:

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.129

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.130

 

 

3、Java安裝配置

1

2

3

4

5

tar  -xvzf  jdk-7u25-linux-x64.tar.gz &&mkdir -p  /usr/java/  ; mv   /jdk1.7.0_25    /usr/java/ 便可。

安裝完畢並配置java環境變量,在/etc/profile末尾添加以下代碼:

export JAVA_HOME=/usr/java/jdk1.7.0_25/

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./

保存退出便可,而後執行source  /etc/profile 生效。在命令行執行java -version 以下表明JAVA安裝成功。

1

2

3

4

[root@node1 ~]# java -version

java version "1.7.0_25"

Java(TM) SE Runtime Environment (build 1.7.0_25-b15)

Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

(注* 咱們須要在namenode、datanode三臺服務器上都安裝Java JDK版本)

 

4、Hadoop版本安裝

 

 

 

官方下載的hadoop2.2.0版本,不用編譯直接解壓安裝就能夠使用了,以下:

 

 

 

第一步解壓:

1

2

tar  -xzvf  hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0  /data/hadoop/

(注* 先在namenode服務器上都安裝hadoop版本便可,datanode先不用安裝,待會修改完配置後統一安裝datanode)

第二步配置變量:

 

1

2

3

4

5

在/etc/profile末尾繼續添加以下代碼,並執行source /etc/profile生效。

export HADOOP_HOME=/data/hadoop/

export PATH=$PATH:$HADOOP_HOME/bin/

export JAVA_LIBRARY_PATH=/data/hadoop/lib/native/

(注* 咱們須要在namenode、datanode三臺服務器上都配置Hadoop相關變量)

 

 

5、配置Hadoop

 

在namenode上配置,咱們須要修改以下幾個地方:

一、修改vi /data/hadoop/etc/hadoop/core-site.xml 內容爲以下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href=\'#\'"  Put site-specific property overrides in thisfile. -->

<configuration>

<property>

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

  <value>hdfs://192.168.149.128:9000</value>

 </property>

<property>

  <name>hadoop.tmp.dir</name>

  <value>/tmp/hadoop-${user.name}</value>

  <description>A base for other temporary directories.</description>

</property>

</configuration>

二、修改vi /data/hadoop/etc/hadoop/mapred-site.xml內容爲以下:

 

1

2

3

4

5

6

7

8

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href=\'#\'"  Put site-specific property overrides in thisfile. -->

    <configuration>

     <property>

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

      <value>192.168.149.128:9001</value>

     </property>

</configuration>

三、修改vi /data/hadoop/etc/hadoop/core-site.xml內容爲以下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href=\'#\'" /name>

<value>/data/hadoop/data_name1,/data/hadoop/data_name2</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/data/hadoop/data_1,/data/hadoop/data_2</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

四、修改 vi /data/hadoop/etc/hadoop/masters文件內容爲以下:

 

1

192.168.149.128

 

 

五、修改vi /data/hadoop/etc/hadoop/slaves文件內容爲以下:

 

1

2

192.168.149.129

192.168.149.130

 

 

如上配置完畢,以上的配置具體含義在這裏就不作過多的解釋了,搭建的時候不明白,能夠查看一下相關的官方文檔。

 

如上namenode就基本搭建完畢,接下來咱們須要部署datanode,部署datanode相對簡單,執行以下操做便可。

 

1

for  i  in  `seq 129 130 ` ; do scp -r  /data/hadoop/  root@192.168.149.$i:/data/  ; done

 

 

自此整個集羣基本搭建完畢,接下來就是啓動hadoop集羣了。

 

 

 

6、啓動hadoop並測試

 

在啓動hadoop以前,咱們須要作一步很是關鍵的步驟,須要在namenode上執行以下命令初始化name目錄和數據目錄。

 

1

cd   /data/hadoop/ ; ./bin/hadoop namenode -format

那如何算初始化成功呢,以下截圖成功建立name目錄即正常:

 

120750671.png

而後啓動hadoop全部服務,以下命令:

 

1

[root@node1 hadoop]# ./sbin/start-all.sh

131943722.png

 

 

咱們還能夠查看相應的端口是否啓動:netstat -ntpl

 

132011748.png

 

 

訪問以下地址:http://192.168.149.128:50070/

 

132046996.png

 

 

訪問地址:http://192.168.149.128:8088/

 

132116705.png

相關文章
相關標籤/搜索