當前位置:編程學習大全網 - 源碼下載 - 如何部署hadoop分布式文件系統

如何部署hadoop分布式文件系統

壹、實戰環境

系統版本:CentOS 5.8x86_64

JAVA版本:JDK-1.7.0_25

Hadoop版本:hadoop-2.2.0

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

192.168.149.129datanode1 (充當datanode、nodemanager角色)

192.168.149.130datanode2 (充當datanode、nodemanager角色)

二、系統準備

1、Hadoop可以從Apache官方網站直接下載最新版本Hadoop2.2。官方目前是提供了linux32位系統可執行文件,所以如果需要在64位系統上部署則需要單獨下載src 源碼自行編譯。(如果是真實線上環境,請下載64位hadoop版本,這樣可以避免很多問題,這裏我實驗采用的是32位版本)

1234 Hadoop

Java

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.1localhost.localdomain localhost

192.168.149.128node1

192.168.149.129node2

192.168.149.130node3

(註* 我們需要在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.129

ssh-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:$PATH

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

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

[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版本)

四、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=\'#\'" Put site-specific property overrides inthisfile. -->

<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 forother temporary directories.</description>

</property>

</configuration>

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

<?xml version="1.0"?>

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

<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=\'#\'" /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.129

192.168.149.130

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

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

1 fori in`seq 129130` ; doscp -r /data/hadoop/ root@192.168.149.$i:/data/ ; done

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

  • 上一篇:如何學習嵌入式
  • 下一篇:威廉指標的參數設置
  • copyright 2024編程學習大全網