主流雲計算Hadoop架構配置

來源:互聯網
上載者:User
關鍵字 name java value

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

今天我們來實際搭建一下Hadoop 2.2.0版,實戰環境為目前主流伺服器作業系統CentOS 5.8系統。

一、實戰環境

系統版本:CentOS 5.8 x86_64JAVA版本:JDK-1.7.0_25Hadoop版本:hadoop-2.2.0192.168.149.128 namenode (充當namenode、secondary namenode和ResourceManager角色)192.168.149.129 datanode1 (充當datanode、nodemanager角色)192.168.149.130 datanode2 (充當datanode、nodemanager角色)

二、系統準備

1、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

2、我們這裡採用三台CnetOS伺服器來搭建Hadoop集群,分別的角色如上已經注明。

第一步:我們需要在三台伺服器的/etc/hosts裡面設置對應的主機名稱如下(真實環境可以使用內網DNS解析)

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

# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost. localdomain localhost192.168.149.128 node1192.168.149.129 node2192.168.149.130 node3

(注* 我們需要在namenode、datanode三台伺服器上都配置hosts解析)

第二步:從namenode上無密碼登陸各台datanode伺服器,需要做如下配置:

在namenode 128上執行ssh-keygen,一路Enter回車即可。 然後把公開金鑰/root/.ssh/id_rsa.pub拷貝到datanode伺服器即可,拷貝方法如下:ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.129ssh-copy-id - i .ssh/id_rsa.pub root@192.168.149.130

三、JAVA安裝配置

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:$ PATHexport CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./

保存退出即可,然後執行source  /etc/profile 生效。 在命令列執行java -version 如下代表JAVA安裝成功。

[root@node1 ~]# java -versionjava version "1.7.0_25"JAVA(TM) SE Runtime Environment (build 1.7.0_25-b15)JAVA HotSpot(TM) 6 4-Bit Server VM (build 23.25-b01, mixed mode)

(注* 我們需要在namenode、datanode三台伺服器上都安裝JAVA JDK版本)

四、Hadoop版本安裝

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

第一步解壓:

tar -xzvf hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0 /data/hadoop/(注* 先在namenode伺服器上都安裝hadoop版本即可, datanode先不用安裝,待會修改完配置後統一安裝datanode)

第二步組態變數:

在/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相關變數)

五、配置Hadoop

在namenode上配置,我們需要修改如下幾個地方:

1、修改vi /data/hadoop/etc/hadoop/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:// 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>

2、修改vi /data/hadoop/etc/hadoop/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> 192.168.149.128:9001</value> </property></configuration>

3、修改vi /data/hadoop/etc/hadoop/hdfs-site.xml內容為如下:

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>< configuration><property><name>dfs.name.dir</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>

4、在/data/hadoop/etc/hadoop/hadoop-env.sh檔末尾追加JAV_HOME變數:

echo "export JAVA_HOME=/usr/java/jdk1.7.0_25/" >> /data/hadoop/etc/hadoop/hadoop-env.sh

5、修改 vi /data/hadoop/etc/hadoop/masters檔內容為如下:

192.168.149.128

6、修改vi /data/hadoop/etc/hadoop/slaves檔內容為如下:

192.168.149.129192.168.149.130

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

如上namenode就基本搭建完畢,接下來我們需要部署datanode,部署datanode相對簡單,執行如下操作即可。

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

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

六、啟動hadoop並測試

在啟動hadoop之前,我們需要做一步非常關鍵的步驟,需要在namenode上執行如下命令初始化name目錄和資料目錄。

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

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

然後啟動hadoop所有服務,如下命令:

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

我們還可以查看相應的埠是否啟動:netstat -ntpl

訪問如下位址:HTTP://192.168.149.128:50070/

訪問位址:HTTP://192.168.149.128:8088/

搭建完成後,我們簡單的實際操作一下,如下圖:

自此hadoop基本搭建完畢,接下來還有更深更多的東西需要去瞭解和學習,希望和大家一起學習,進步,分享、快樂。

原文連結:HTTP://chinaapp.sinaapp.com/thread-3224-1-1.html

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.