Hadoop-cluster 集羣徹底分佈式環境搭建

安裝準備java

    1) 3臺centOS7.0系統 ecsnode

    2) 2.8.0 hadoop 安裝包python

準備工做ssh

    首先 在ip_01主機上將/etc/hosts文件進行ip映射oop

127.0.0.1 localhost
ip_01 NN #名稱節點
ip_02 DN01 #數據節點01
ip_03 DN02 #數據節點02

     使用scp命令將ip_01上的 hosts文件 複製到其它節點spa

scp -r /etc/hosts root@DN01:/etc/
scp -r /etc/hosts root@DN02:/etc/

⚠️ 最好在覆蓋以前進行備份操做.net

mv /etc/hosts /etc/hosts_back

 

    其次 配置ssh免密鏈接,執行如下命令,回車在~/.ssh/目錄下生成id_rsaid_rsa.pub兩個文件code

ssh-keygen -t rsa -P ''

  將id_rsa.pub文件分別拷貝到ip_02, ip_03的~/.ssh目錄下orm

scp id_rsa.pub root@ip02:~/.ssh/
scp id_rsa.pub root@ip03:~/.ssh/

  在ip02和ip03的~/.ssh目錄下 將id_rsa.pub文件內容寫入authorized_keys文件中,沒有此文件就新建此文件寫入xml

cat id_rsa.pub >> authorized_keys

操做完成,則完成了ssh從ip_01到ip_02和ip_03的免密登陸操做。

 

集羣配置

    配置環境變量:

#在/etc/profile 文件末尾新增hadoop命令目錄
#注意此路徑爲真實安裝絕對路徑
PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
export PATH

    hadoop集羣配置需配置其中三個文件core-site.xml;hdfs-site.xml; yarn-site.xml,三個文件存在於hadoop/etc/hadoop/目錄中。

<!-- core-site.xml -->
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>

    <property>
         <name>fs.defaultFS</name>
         <value>hdfs://NN</value>
    </property>
</configuration>
<!-- hdfs-site.xml -->
<configuration>
    <property>
         <name>dfs.replication</name>
         <!-- 2臺數據節點 -->
         <value>2</value>
    </property>

    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>

    <property>
         <name>dfs.datanode.data.dir</name>
         <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
<!-- yarn-site.xml -->
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

在slaves文件中進行配置數據節點地址

DN01
DN02

SecondaryNameNode未配置ecs,默認在ip_01名稱節點上。

修改文件hadoop-env.sh

JAVA_HOME=${JAVA_HOME}

修改成:

#此路徑爲本機JDK安裝目錄的絕對目錄
JAVA_HOME=/usr/local/JDK

啓動集羣:

  格式化集羣環境

hadoop nodename -formate

  啓動集羣

#進入sbin目錄
cd /usr/local/hadoop/sbin
#執行啓動命令
./start-all.sh

檢測是否啓動成功

#jps命令 可查看已啓動的java程序
jps

附:若是在啓動過程當中報一下錯誤

java.net.UnknownHostException:xxxx xxxx

此錯誤意味着hostname映射未生效

快速解決辦法是執行hostname 命令

#例如本文中所列舉的 ip_01-->NN ip_02-->DN01 ip_03-->DN02需各自執行
hostname NN
hostname DN01
hostname DN02
相關文章
相關標籤/搜索