1. 程式人生 > >大數據平臺Hadoop的分布式集群環境搭建

大數據平臺Hadoop的分布式集群環境搭建

exp temp 免費學習 介紹 操作 tfs 官網 home 增加

1 概述

本文章介紹大數據平臺Hadoop的分布式環境搭建、以下為Hadoop節點的部署圖,將NameNode部署在master1,SecondaryNameNode部署在master2,slave1、slave2、slave3中分別部署一個DataNode節點

NN=NameNode(名稱節點)

SND=SecondaryNameNode(NameNode的輔助節點)

DN=DataNode(數據節點)
2 前期準備

(1)準備五臺服務器

如:master1、master2、slave1、slave2、slave3

(2)關閉所有服務器的防火墻

$ systemctl stop firewalld

$ systemctl disable firewalld
(3)分別修改各服務器的/etc/hosts文件,內容如下:

192.168.56.132 master1
192.168.56.133 master2
192.168.56.134 slave1
192.168.56.135 slave2
192.168.56.136 slave3
註:對應修改個服務器的/etc/hostname文件,分別為 master1、master2、slave1、slave2、slave3
(4)分別在各臺服務器創建一個普通用戶與組

$ groupadd hadoop #增加新用戶組
$ useradd hadoop -m -g hadoop #增加新用戶

$ passwd hadoop #修改hadoop用戶的密碼
切換至hadoop用戶:su hadoop

(5)各服務器間的免密碼登錄配置,分別在各自服務中執行一次

$ ssh-keygen -t rsa #一直按回車,會生成公私鑰
$ ssh-copy-id hadoop@master1 #拷貝公鑰到master1服務器
$ ssh-copy-id hadoop@master2 #拷貝公鑰到master2服務器
$ ssh-copy-id hadoop@slave1 #拷貝公鑰到slave1服務器
$ ssh-copy-id hadoop@slave2 #拷貝公鑰到slave2服務器
$ ssh-copy-id hadoop@slave3 #拷貝公鑰到slave3服務器

註:以上操作需要登錄到hadoop用戶操作
(6)下載hadoop包,hadoop-2.7.5.tar.gz

官網地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.5/

3 開始安裝部署

(1)創建hadoop安裝目錄

$ mkdir -p /home/hadoop/app/hadoop/{tmp,hdfs/{data,name}}
(2)將安裝包解壓至/home/hadoop/app/hadoop下

$tar zxf tar -zxf hadoop-2.7.5.tar.gz -C /home/hadoop/app/hadoop
(3)配置hadoop的環境變量,修改/etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
HADOOP_HOME=/home/hadoop/app/hadoop/hadoop-2.7.5
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH
(4)刷新環境變量

$source /etc/profile
4 配置Hadoop

(1)配置core-site.xml

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/core-site.xml
<configuration>
<property>

fs.defaultFS hdfs://master1:9000 hadoop.tmp.dir /home/hadoop/app/hadoop/tmp 默認配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-common/core-default.xml (2)配置hdfs-site.xml $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/hdfs-site.xml dfs.replication 3 dfs.namenode.name.dir /home/hadoop/app/hadoop/hdfs/name dfs.datanode.data.dir /home/hadoop/app/hadoop/hdfs/data dfs.permissions.enabled false dfs.namenode.secondary.http-address master2:50090 默認配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml (3)配置mapred-site.xml $ cp /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml.template /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml mapreduce.framework.name yarn 默認配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml (4)配置yarn-site.xml $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/yarn-site.xml yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname master1 yarn.resourcemanager.address master1:8032 yarn.resourcemanager.webapp.address master1:8088 默認配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-yarn/hadoop-yarn-common/yarn-default.xml (5)配置slaves $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/slaves slave1 slave2 slave3 slaves文件中配置的是DataNode的所在節點服務 (6)配置hadoop-env 修改hadoop-env.sh文件的JAVA_HOME環境變量,操作如下: $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/hadoop-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_131 (7)配置yarn-env 修改yarn-env.sh文件的JAVA_HOME環境變量,操作如下: $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/yarn-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_131 (8)配置mapred-env 修改mapred-env.sh文件的JAVA_HOME環境變量,操作如下: $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_131 (9)將master1中配置好的hadoop分別遠程拷貝至maser2、slave1 、slave2、slave3服務器中 $ scp -r /home/hadoop/app/hadoop hadoop@master2:/home/hadoop/app/ $ scp -r /home/hadoop/app/hadoop hadoop@slave1:/home/hadoop/app/ $ scp -r /home/hadoop/app/hadoop hadoop@slave2:/home/hadoop/app/ $ scp -r /home/hadoop/app/hadoop hadoop@slave3:/home/hadoop/app/ 5 啟動測試 (1)在master1節點中初始化Hadoop集群 $ hadoop namenode -format (2)啟動Hadoop集群 $ start-dfs.sh $ start-yarn.sh (3)驗證集群是否成功 瀏覽器中訪問50070的端口,如下證明集群部署成功 介紹完以上經驗,下面小編給大家介紹一下程序員的學習圈 python學習qq群250933691 大數據學習qq群458345782 java學習qq群625241190 群裏會給大家分享很棒的免費學習教程

大數據平臺Hadoop的分布式集群環境搭建