Hadoop - 集羣安裝

環境準備

我這裏準備四個虛擬機,ip分別爲:html

# bigdata01
192.168.11.100
# bigdata02
192.168.11.101
# bigdata03
192.168.11.102
# bigdata04
192.168.11.103

主機命修改

主機名修改成bigdata0一、bigdata0二、bigdata0三、bigdata04。node

# 進入文件
vi /etc/hostname
# 修改文件,這裏根據不一樣的服務器修改
bigdata01

新建帳戶

新建帳戶爲bigdata,並設置密碼,設置權限,bigdata的權限等同於rootlinux

# 進入文件
vi /etc/sudoers
# 新增配置
bigdata ALL=(ALL) ALL

關閉防火牆/關閉Selinux

# 關閉防火牆
systemctl disable firewalld

關閉selinuxgit

# 進入文件
vi /etc/selinux/config
# 修改配置
SELINUX=disabled

域名映射

# 進入文件
vi /etc/hosts
# 新增配置
192.168.11.100 bigdata01 
192.168.11.101 bigdata02 
192.168.11.102 bigdata03 
192.168.11.103 bigdata04

置SSH免密登陸

bigdata用戶登陸,在每一個虛擬機執行ssh-keygen命令,一直enter下去,直至id_rsa.pub和id_rsa兩個文件生成。
生成後,每一個虛擬機執行如下命令發送公鑰文件:github

ssh-copy-id bigdata01
ssh-copy-id bigdata02
ssh-copy-id bigdata03
ssh-copy-id bigdata04

發送後經過ssh驗證,好比當前在bigdata01服務器,ssh bigdata02看看能不能免密登陸到bigdata02服務器,若是能夠,就說明設置成功。
若是設置了還不行,就須要注意設置文件夾和文件的權限。由於sshd爲了安全,對屬主的目錄和文件權限有所要求。若是權限不對,則ssh的免密碼登錄不生效。apache

chmod 700 /home/bigdata
chmod 700 /home/bigdata/.ssh
chmod 600 /home/bigdata/.ssh/authorized_keys

編譯

我這邊安裝的是2.7.7版本。
編譯以前除了下載相應版本的源碼包,還須要查看官方的BUILDING.txt文件,這個文件描述了當前版本的編譯須要的依賴項,以及依賴項的安裝、配置。
下面是官方的截圖,好比Unix系統,須要JDK1.7+、Maven3.0等。
image.png
以上軟件都安裝完成後,就能夠經過maven對源碼進行編譯,編譯後,咱們就能夠在target生成一個hadoop-2.7.7.tar.gz文件,至此編譯完成。vim

編譯後把生成的文件解壓到制定目錄,好比我這裏是/home/bigdata/apps/hadoop-2.7.7。安全

配置文件

參考官方
配置以前,咱們的規劃是這樣的,4個節點,3個副本:bash

節點名稱 HDFS YARN
bigdata01 NameNode NodeManager
bigdata02 DataNode + SecondaryNamenode NodeManager
bigdata03 DataNode NodeManager
bigdata04 DataNode ResourceManager

hadoop-env.sh

配置Hadoop守護進程環境,路徑:etc/hadoop/hadoop-env.sh。服務器

參數 描述 必選
JAVA_HOME JAVA_HOME的路徑
HADOOP_PID_DIR HADOOP的PID文件路徑
HADOOP_LOG_DIR HADOOP的日誌文件路徑
HADOOP_HEAPSIZE 使用的最大堆大小,以MB爲單位,默認1000M

core-site.xml

路徑:etc/hadoop/core-site.xml。這個是xml文件,配置在configuration節點下面。

參數 描述 參數值
fs.defaultFS NameNode的URL hdfs://bigdata01:9000
io.file.buffer.size equenceFiles中使用的讀/寫緩衝區的大小。 131072
hadoop.tmp.dir 集羣相關的數據存儲目錄 /home/bigdata/data/hadoopdata

hdfs-site.xml

配置NameNode和DataNode信息,路徑:etc/hadoop/hdfs-site.xml。這個是xml文件,配置在configuration節點下面。

參數 描述 參數值
dfs.namenode.name.dir 本地文件系統上的路徑,NameNode在其中持久化存儲命名空間和事務日誌,若是用逗號隔開,那每一個目錄都冗餘存儲 /home/bigdata/data/hadoopdata/name
dfs.blocksize HDFS塊大小 好比268435456,即256MB
dfs.datanode.data.dir datanode的數據存儲目錄,若是用逗號隔開,那每一個目錄都冗餘存儲 /home/bigdata/data/hadoopdata/data
dfs.replication 副本個數 3
dfs.secondary.http.address secondarynamenode運行節點的信息 bigdata02:50090

yarn-site.xml

配置yarn的ResourceManager和NodeManager信息。路徑:etc/hadoop/yarn-site.xml。這個是xml文件,配置在configuration節點下面。

參數 描述 參數值
yarn.resourcemanager.hostname 主節點的位置 bigdata04
yarn.nodemanager.aux-services MapReduce應用須要的shuffle服務 mapreduce_shuffle

/mapred-site.xml

配置MapReduce應用。路徑:etc/hadoop/mapred-site.xml。這個是xml文件,配置在configuration節點下面。

參數 描述 參數值
mapreduce.framework.name 執行框架設置爲Hadoop YARN yarn

Slaves文件

配置slave節點,路徑:etc/hadoop/slaves。內容以下:

bigdata01
bigdata02
bigdata03
bigdata04

分發各環境

scp -r hadoop-2.7.7 bigdata02
scp -r hadoop-2.7.7 bigdata03
scp -r hadoop-2.7.7 bigdata04

環境變量

每一個環境都執行如下命令

# 進入文件
vim ~/.bashrc
# 新增配置
export HADOOP_HOME=/home/bigdata/apps/hadoop-2.7.7 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

運行

集羣初始化,執行如下命令,注意僅第一次的時候須要。

# 僅第一次
hadoop namenode -format

啓動HDFS集羣,能夠在任意節點

# 能夠在任意節點
start-dfs.sh

image.png
啓動YARN集羣,在YARN節點上執行

# 在YARN節點上執行
start-yarn.sh

image.png
啓動成功驗證:
網址輸入http://bigdata01:50070,界面...
image.png
輸入http://bigdata04:8088,界面如...
image.png集羣安裝完成。

相關文章
相關標籤/搜索