Hadoop完全分散式安裝

  • 2019 年 12 月 21 日
  • 筆記

完全分散式安裝部署,其實步驟上來說與偽分散式沒有太大的區別,主要增加2台虛擬機部署稱為一個3台的集群

環境的準備

在現有基礎上克隆出來2台虛擬機,並且修改網段IP ,以及主機名稱 映射路徑 hosts ,關閉防火牆,創建獨立hadoop用戶,賦予sudo許可權

完成以上的環境準備之後,應該手頭上存在3台虛擬機,並且防火牆已經關閉,而且設置好了主機名稱以及映射地址

集群的規劃

主要需要配置的組件: HDFS(負責存儲) Yarn HistoryServer

集群的安裝

在集群安裝之前,必須要安裝JDK環境

配置Hadoop完全分散式環境,從配置文件開始

首先解壓hadoop安裝路徑到/opt/app中

sudo tar -zvxf hadoop-2.7.2.tar.gz -C /opt/app/

1 修改Hadoop-env.sh 中 JAVA_HOME路徑

export JAVA_HOME=/opt/app/jdk1.8.0_181

2 配置core-site.xml 配置文件

<property><name>fs.defaultFS</name><value>hdfs://hadoop01:8020</value></property><property><name>hadoop.tmp.dir</name><value>/opt/app/hadoop-2.7.2/data/tmp</value></property>

3 配置hdfs-site.xml

<property><name>dfs.namenode.secondary.http-address</name><value>hadoop02:50090</value></property><property><name>dfs.namenode.http-address</name><value>hadoop01:50070</value></property>  <property><name>dfs.permissions.enabled</name><value>false</value></property>

dfs.namenode.secondary.http-address: 設置secondaryNameNode服務進程的主機位置

dfs.namenode.http-address:NameNode WEB介面訪問的地址配置

dfs.permissions.enabled:HDFS的許可權驗證 默認開啟 需要關閉

Yarn配置

配置yarn.site.xml配置文件

<property><name>yarn.resourcemanager.hostname</name><value>hadoop03</value></property>  <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><!--<value>mapreduce_shuffle</value>--></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property>  <property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>

yarn.resourcemanager.hostname:指定Resourcemanager 在指定節點上

配置mapred

配置mapred-site.xml配置文件

<property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>hadoop03:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop03:19888</value></property>

現在是完全分散式的環境,所以還需要配置savles文件,把從節點的主機名稱添加進去

hadoop01

hadoop02

hadoop03

在分發之前,需要把etc/hosts 文件下配置好的映射地址分發到不同的節點上 保證每個節點上的hosts文件都是一樣的

可以使用scp命令在不同的節點之間進行拷貝,命令使用方式如下

sudoscp /etc/hosts hadoop03:/etc/hosts

分發hadoop到不同的節點上

sudoscp -r /opt/app/hadoop-2.7.2/ hadoop03:/opt/app/

要記住: 如果使用sudo 在分發之後要記得修改許可權為hadoop

格式化:namenode

在節點分發完成之後,在hadoop01節點上格式化namenode

bin/hadoopnamenode -format

啟動進程

先單個節點啟動HDFS測試:

在hadoop01上啟動namenode 與datanode

sbin/hadoop-daemon.sh start namenodesbin/hadoop-daemon.sh start datanode

接下來在其他節點上啟動datanode

sbin/hadoop-daemon.sh start datanode

在單節點上啟動Yarn測試

在Hadoop03上啟動resourcemanager

sbin/yarn-daemon.sh start resourcemanager

接下來在不同的節點上啟動nodemanager

配置完ssh免密碼登錄之後就可以 使用start-all.sh 或者stop-all.sh

——END——

Tags: