1. 程式人生 > >偽叢集與簡單完全分散式叢集的搭建

偽叢集與簡單完全分散式叢集的搭建

 我是在root許可權下搭建的流程比較簡單

                                           1.簡單單機Hadoop叢集(偽分散式)搭建流程

  1. 下載 JDK 與Hadoop壓縮包,將檔案傳入linux系統中

解壓配置環境:

①首先可以配置JDK與hadopp環境:

自己可以首先建立一個在根目錄下建立一個apps資料夾,將安裝包傳遞到改檔案目錄下

②解壓安裝包

tar -zxvf  jdk-7u25-linux-x64.tar.gz

tar -zxvf  cenos-6.5-hadoop-2.6.4.tar.gz

配置 ~/.bash_profile

Vi ~/.bash_profile   進入配置環境

JAVA_HOME=/apps/    (我的jdk路徑在test檔案下安)

# User specific environment and startup programs
 JAVA_HOME=/test/java/jdk1.7.0_25
HADOOP_HOME=/apps/hadoop-2.6.4

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export PATH

Path=*****************:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

Source ~/.bash_profile

載入修改後的配置

  1. 修改apps/haoop-2.6.4/etc/下的配置檔案

配置2個檔案 core-site.xml   hdfs-site.xml

配置

①Core-site.xml

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop-1:8020</value>

</property>

②配置hdfs-site.xml

<property>

<name>dfs.replication<name>    複製檔案

<value>3</value>              複製檔案的數量

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/app/hadoop/dfs/name</value>

</property>

<property>

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

<value>/app/hadoop/dfs/data</value>

</property>

配置 etc/hadoop/hadoop-env.sh 中的環境變數

3、配置檔案完成之後,首先格式化標頭檔案

命令: hadoop  namenode  -format 格式化

此處出錯一般發生在hdfs-site.xml中的<name>dfs.namenode.name.dir</name>

<value>/app/hadoop/dfs/name</vaue>

啟動namenode

Hadoop-daemon.sh  start namenode

啟動datanode

Hadoop-daemon.sh start namenode

在啟動namenode 與datanode時,要在完成命令之後,檢視/apps/hadoop/loggs下面的對應的日誌資訊,檢視啟動是否成功過或產生了什麼異常

也可以通過使用jps命令檢視啟動是否成功

配置完成

  1. 檢視hdfs的根目錄資訊

命令為: hadoop fs -ls /

上傳檔案的命令為 hadoop fs -put ** /    將檔案上傳到hadoop的根目錄下

登陸網址http://localhost:50070 檢視是否搭建成功

                                                                      2.搭建完全分散式叢集流

  1. 根據自己電腦配置,建立機器數量,此處以5臺為例

檢視叢集狀態:hadoop dfsadmin -report

安裝jdk環境 ,然後安裝hadoop配置環境

關閉防火牆

2.角色分配

第一臺作為namanode 和resurceManager資源管理節點

第2、3、4作為datanode資料節點

第5臺作為secondarynamenode節點

  1. 準備工作(配置主機名和對應的ip)

給機器一次命名為hadoop-1 hadoop-2 hadoop-3 hadoop-4 hadoop-5

vi /cd /etc/sysconfig/network   修改名字為hadoop-*

wq儲存退出

在root使用者下輸入命令: hostname hadoop-*

Vi /ect/hosts     修改:192.168.1.1 hadoop-*

wq儲存退出

在Hadoop-1使用者下,為了可以叢集的的啟動需要在hosts中配置每臺機器的ip 和對應發主機名字

  1. 配置無密登陸,一般系統都會自帶ssh工具

首先輸入命令:ssh-keygen 生成金鑰

將金鑰傳送到需要無密登陸的機器中

命令為:ssh-copy-id -i 192.168.1.1

一次重複上面的命令,實現無密登陸

  1. 按照偽叢集的步驟,配置環境
  2. 對於etc中6個檔案的配置

----------------------core-site.xml-------------------------

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop-1:9000</value>

</property>

---------------------------------hdfs-site.xml--------------------------

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/app/hadoop/dfs/name</value>

</property>

<property>

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

<value>/app/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.secondary.http.address</name>//指定secondarynamenode節點機器

<value>hadoop-5:50090</value>

</property>

<property>

<name>dfs.namenode.checkpoint.dir</name>

<value>/app/hadoop/dfs/namesecondary</value>

</property>

</configuration>

--------------------------------------mapred-site.xml-------------------------------

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

---------------------------------------yarn-site.xml---------------------------------

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>      //指定資料資源管理的機器

<value>hadoop-1</value>

</property>

</configuration>

-----------------------------------------Hadoop-env.sh-------------為hadooppei配置java

配置java路徑

-----------------------------------------slaves--------------------配置奴隸檔案,用於啟動資料節點

                                           hadoop-2

                                           hadoop-3

                                           hadoop-4

  1. 以上配置完成,後即可在hadoop-1上進行啟動叢集

首先格式化namenode 命令為: hadoop name-node -format

啟動所有節點: start-all.sh

啟動命令完成之後,使用命令:hadoop dfsadmin -report 檢視活躍節點

也可以檢視活躍節點

檢視Hadoop叢集的根目錄的命令為:hadoop fs -ls /

上傳檔案命令為:hadoop fs -put 檔案  /    將檔案上傳到根目錄

4.關閉叢集使用命令:stop-all.sh