超詳細從零記錄Hadoop2.7.3徹底分佈式集羣部署過程

超詳細從零記錄Ubuntu16.04.1 3臺服務器上Hadoop2.7.3徹底分佈式集羣部署過程。包含,Ubuntu服務器建立、遠程工具鏈接配置、Ubuntu服務器配置、Hadoop文件配置、Hadoop格式化、啓動。(首更時間2016年10月27日)java

超詳細從零記錄Hadoop2.7.3徹底分佈式集羣部署過程

主機名/hostname IP 角色
hadoop1 192.168.193.131 ResourceManager/NameNode/SecondaryNameNode
hadoop2 192.168.193.132 NodeManager/DataNode
hadoop3 192.168.193.133 NodeManager/DataNode

1.0.準備

1.1.目錄

  • 用VMware建立3個Ubuntu虛擬機
  • 用mobaxterm遠程鏈接建立好的虛擬機
  • 配置Ubuntu虛擬機源、ssh無密匙登陸、jdk
  • 配置Hadoop集羣文件(Github源碼)
  • 啓動Hadoop集羣、在Windows主機上顯示集羣狀態。

1.2.提早準備安裝包

  • Windows10(宿主操做系統)
  • VMware12 workstation(虛擬機)
  • Ubuntu16.04.1 LTS 服務器版
  • Hadoop2.7.3
  • jdk1.8
  • MobaXterm(遠程鏈接工具)
  • Github源碼,記得start哦(CSDN博文中所有源碼公開至我的github)

2. VMvare安裝Ubuntu16.04.1LTS服務器版過程

2.1.注意在安裝時username要一致如xiaolei,即主機用戶名。而主機名hostname可不一樣如hadoop1,hadoop2,hadoop3.或者master,slave1,slave2.在本篇博文中用hadoop1,2,3區分hostname主機名。

2.2.VMvare安裝Ubuntu16.04.1LTS桌面版過程

2.3.在VMvare中選擇 文件 而後 新建虛擬機

2.4選擇典型安裝

這裏寫圖片描述

2.5.選擇下載好的Ubuntu64位 16.04.1 LTS服務器版鏡像

這裏寫圖片描述

2.6.個性化Linux設置

這裏寫圖片描述

2.7.虛擬機命名及文件路徑 wangxiaolei \ hadoop1等 隨意可更換

這裏寫圖片描述

2.8.磁盤分配,默認便可,磁盤大小能夠根據自身硬盤空間調節(不要過小)

這裏寫圖片描述

2.9.而後就是等待安裝完成,輸入登陸名 xiaolei 登陸密碼**

這裏寫圖片描述

創建好的虛擬機以下node

經過ipconfig命令查看服務器ip地址 IP 192.168.193.131 默認主機名ubuntu IP 192.168.193.132 默認主機名ubuntu IP 192.168.193.133 默認主機名ubuntu 下一步會修改主機名hostname
  • 1
  • 2
  • 3
  • 4
  • 5

3. 配置Ubuntu系統(服務器版在VMware中操做不方便,經過遠程在putty或者MobaXterm操做比較快捷些)

3.1 安裝ssh便可。這裏不須要 ssh-keygen

打開終端或者服務器版命令行 
查看是否安裝(ssh)openssh-server,不然沒法遠程鏈接。linux

這裏寫圖片描述

sshd
sudo apt install openssh-server
  • 1
  • 2

3.2.安裝ssh後,能夠經過工具(putty或者MobaXterm)遠程鏈接已經創建好的服務器(Hadoop1,Hadoop2,Hadoop3)

這裏寫圖片描述

一樣三個虛擬機創建鏈接git

這裏寫圖片描述

3.3.更換爲國內源(清華大學幫助文檔

在Hadoop一、Hadoop二、Hadoop3中github

xiaolei@ubuntu:~$ sudo vi /etc/apt/sources.list
  • 1
# 默認註釋了源碼鏡像以提升 apt update 速度,若有須要可自行取消註釋 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # 預發佈軟件源,不建議啓用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

更新源web

xiaolei@ubuntu:~$ sudo apt update
  • 1

3.4.安裝vim編輯器,默認自帶vi編輯器

sudo apt install vim
  • 1

更新系統(服務器端更新量小,桌面版Ubuntu更新量較大,能夠暫時不更新)shell

sudo apt-get upgrade
  • 1

3.5.修改Ubuntu服務器hostname主機名,主機名和ip是一一對應的。

#在192.168.193.131 xiaolei@ubuntu:~$ sudo hostname hadoop1 #在192.168.193.131 xiaolei@ubuntu:~$ sudo hostname hadoop2 #在192.168.193.131 xiaolei@ubuntu:~$ sudo hostname hadoop3 #斷開遠程鏈接,從新鏈接便可看到已經改變了主機名。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.6.增長hosts文件中ip和主機名對應字段

在Hadoop1,2,3中ubuntu

xiaolei@hadoop1:~$ sudo vim /etc/hosts
  • 1
192.168.193.131 hadoop1
192.168.193.132 hadoop2
192.168.193.133 hadoop3
  • 1
  • 2
  • 3

這裏寫圖片描述

3.7.更改系統時區(將時間同步更改成北京時間)

xiaolei@hadoop1:~$ date Wed Oct 26 02:42:08 PDT 2016
  • 1
  • 2
xiaolei@hadoop1:~$ sudo tzselect
  • 1

根據提示選擇Asia China Beijing Time yes 
最後將Asia/Shanghai shell scripts 複製到/etc/localtimevim

xiaolei@hadoop1:~$ sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 1
xiaolei@ubuntu:~$ date Wed Oct 26 17:45:30 CST 2016
  • 1
  • 2

4. Hadoop集羣徹底分佈式部署過程

  • JDK配置
  • Hadoop集羣部署

4.1.安裝JDK1.8 (配置源碼Github,記得start哦)

4.1.1將所需文件(Hadoop2.7.三、JDK1.8)上傳至Hadoop1服務器(能夠直接複製粘貼)

這裏寫圖片描述

4.1.2.解壓縮並將jdk放置/opt路徑下

xiaolei@hadoop1:~$ tar -zxf jdk-8u111-linux-x64.tar.gz hadoop1@hadoop1:~$ sudo mv jdk1.8.0_111 /opt/ [sudo] password for hadoop1: xiaolei@hadoop1:~$
  • 1
  • 2
  • 3
  • 4

4.1.3.配置環境變量

編寫環境變量腳本並使其生效windows

xiaolei@hadoop1:~$ sudo vim /etc/profile.d/jdk1.8.sh
  • 1

輸入內容(或者在個人github上下載jdk環境配置腳本源碼)

#!/bin/sh # author:wangxiaolei 王小雷 # blog:http://blog.csdn.net/dream_an # date:20161027 export JAVA_HOME=/opt/jdk1.8.0_111 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
xiaolei@hadoop1:~$ source /etc/profile
  • 1

4.1.4.驗證jdk成功安裝

xiaolei@hadoop1:~$ java -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
  • 1
  • 2
  • 3
  • 4

4.1.5.一樣方法安裝其餘集羣機器。

也可經過scp命令

#注意後面帶 : 默認是/home/xiaolei路徑下 xiaolei@hadoop1:~$ scp jdk-8u111-linux-x64.tar.gz hadoop2:
  • 1
  • 2

命令解析:scp 遠程複製 -r 遞歸 本機文件地址 app是文件,裏面包含jdk、Hadoop包 遠程主機名@遠程主機ip:遠程文件地址

4.2.集羣ssh無密匙登陸

4.2.1.在hadoop1,hadoop2,hadoop3中執行

sudo apt install ssh
sudo apt install rsync
xiaolei@ubuntu:~$ ssh-keygen -t rsa //一路回車就好
  • 1
  • 2
  • 3

4.2.2.在 Hadoop1(master角色) 執行,將~/.ssh/下的id_rsa.pub公私做爲認證發放到hadoop1,hadoop2,hadoop3的~/.ssh/下

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop3
  • 1
  • 2
  • 3

4.2.3.而後在 Hadoop1 上登陸其餘Linux服務器不須要輸入密碼即成功。

#不須要輸入密碼 ssh hadoop2
  • 1
  • 2

這裏寫圖片描述

5.hadoop徹底分佈式集羣文件配置和啓動

在hadoop1上配置完成後將Hadoop包直接遠程複製scp到其餘Linux主機便可。 
Linux主機Hadoop集羣徹底分佈式分配

這裏寫圖片描述

5.1.Hadoop主要文件配置(Github源碼地址

5.1.1.在Hadoop1,2,3中配置Hadoop環境變量

xiaolei@hadoop2:~$ sudo vim /etc/profile.d/hadoop2.7.3.sh
  • 1

輸入

#!/bin/sh # Author:wangxiaolei 王小雷 # Blog:http://blog.csdn.net/dream_an # Github:https://github.com/wxiaolei # Date:20161027 # Path:/etc/profile.d/hadoop2.7.3.sh export HADOOP_HOME="/opt/hadoop-2.7.3" export PATH="$HADOOP_HOME/bin:$PATH" export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

5.1.2.配置 hadoop-env.sh 增長以下內容

export JAVA_HOME=/opt/jdk1.8.0_111
  • 1

5.1.3.配置slaves文件,增長slave主機名

hadoop2
hadoop3
  • 1
  • 2

5.1.4.配置 core-site.xml

<configuration> <!-- 指定hdfs的nameservice爲ns1 --> <property> <name>fs.defaultFS</name> <value>hdfs://Hadoop1:9000</value> </property> <!-- Size of read/write buffer used in SequenceFiles. --> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <!-- 指定hadoop臨時目錄,自行建立 --> <property> <name>hadoop.tmp.dir</name> <value>/home/xiaolei/hadoop/tmp</value> </property> </configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5.1.5.配置 hdfs-site.xml

<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop1:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/xiaolei/hadoop/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/xiaolei/hadoop/hdfs/data</value> </property> </configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

5.1.6.配置yarn-site.xml

<configuration> <!-- Site specific YARN configuration properties --> <!-- Configurations for ResourceManager --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>hadoop1:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoop1:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoop1:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoop1:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoop1:8088</value> </property> </configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

5.1.7.配置mapred-site.xml

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop1:10020</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop1:19888</value> </property> </configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

5.1.8.複製Hadoop配置好的包到其餘Linux主機

xiaolei@hadoop1:~$ scp -r hadoop-2.7.3 hadoop3:
  • 1

將每一個Hadoop包sudo mv移動到/opt/路徑下。不要sudo cp,注意權限。

xiaolei@hadoop1:sudo mv hadoop-2.7.3 /opt/
  • 1

5.2.格式化節點

在hadoop1上執行

xiaolei@hadoop1:/opt/hadoop-2.7.3$ hdfs namenode -format
  • 1

這裏寫圖片描述

5.3.hadoop集羣所有啓動

### 5.3.1. 在Hadoop1上執行

xiaolei@hadoop1:/opt/hadoop-2.7.3/sbin$ ./start-all.sh
  • 1

Hadoop2.7.3徹底分佈式集羣部署過程

5.3.2.其餘主機上jps

這裏寫圖片描述

5.3.3.在主機上查看,博主是Windows10,直接在瀏覽器中輸入hadoop1 集羣地址便可。

http://192.168.193.131:8088/
  • 1

超詳細從零記錄Hadoop2.7.3徹底分佈式集羣部署過程

5.3.4. Github源碼位置——超詳細從零記錄Hadoop2.7.3徹底分佈式集羣部署過程

5.4.可能問題:

權限問題: 
chown -R xiaolei:xiaolei hadoop-2.7.3 
解析:將hadoop-2.7.3文件屬主、組更換爲xiaolei:xiaolei 
chmod 777 hadoop 
解析:將hadoop文件權限變成421 421 421 可寫、可讀可、執行即 7 7 7 
查看是否安裝openssh-server

ssd
或者
ps -e|grep ssh
  • 1
  • 2
  • 3

安裝 openssh-server

sudo apt install openssh-server
  • 1

問題解決: 
問題 
Network error: Connection refused 
解決安裝

Network error: Connection refused
  • 1

這裏寫圖片描述

相關文章
相關標籤/搜索