1. 程式人生 > 其它 >Hadoop叢集搭建(分散式版本)及其常見的操作命令

Hadoop叢集搭建(分散式版本)及其常見的操作命令

Hadoop叢集搭建(分散式版本)及其常見的操作命令

一、準備工作

三臺虛擬機器:master、node1、node2

#克隆的時候選擇 完整克隆 和 連結克隆 的區別

完整克隆:克隆出兩臺獨立的虛擬機器

連結克隆:依賴master,假如說把master刪了,那麼node1、node2就都掛了

連結克隆較完整克隆更加節省空間

時間同步

ntpdate ntp.aliyun.com

JDK的版本-jdk1.8

java -version

修改主機名

三臺分別執行 vim /etc/hostname 並將內容指定為對應的主機名

關閉防火牆

關閉防火牆:systemctl stop firewalld
檢視防火牆狀態:systemctl status firewalld
取消防火牆自啟:systemctl disable firewalld

靜態IP配置

1、編輯網路配置檔案
vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
HWADDR=00:0C:29:E2:B8:F2
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.190.100
GATEWAY=192.168.190.2
NETMASK=255.255.255.0
DNS1=192.168.190.2
DNS2=223.6.6.6

需要修改:HWADDR(mac地址,centos7不需要手動指定mac地址)
		  IPADDR(根據自己的網段,自定義IP地址)
		  GATEWAY(根據自己的網段填寫對應的閘道器地址)

2、關閉NetworkManager,並取消開機自啟
systemctl stop NetworkManager
systemctl disable NetworkManager

3、重啟網路服務
systemctl restart network

免密登入

# 1、生成金鑰
ssh-keygen -t rsa
# 2、配置免密登入
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
# 3、測試免密登入
ssh node1

配置好對映檔案:/etc/hosts

192.168.52.110 master
192.168.52.120 node1
192.168.52.130 node2

二、搭建Hadoop叢集

1、上傳安裝包並解壓

# 使用xftp上傳壓縮包至master的/usr/local/soft/module/
cd /urs/local/soft/module/
# 解壓
tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/soft/

2、配置環境變數

vim /etc/profile

JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

# 重新載入環境變數
source /etc/profile

3、修改Hadoop配置檔案

cd /usr/local/soft/hadoop-2.7.6/etc/hadoop/

core-site.xml

#<configuration>下面的內容在這中間加</configuration>   

    #這裡配的是HDFS的入口 master:9000
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    #這裡配置的是Hadoop執行時產生的資料存放的目錄tmp
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/soft/hadoop-2.7.6/tmp</value>
    </property>
    #這裡配置的是垃圾回收的間隔時間 1440分鐘 -- 1天
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>

hadoop-env.sh

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

hdfs-site.xml

    #不要副本
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    #關閉許可權驗證
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>

mapred-site.xml.template

# 1、重新命名檔案
cp mapred-site.xml.template mapred-site.xml
# 2、修改 vim mapred-site.xml
    #用yarn資源管理平臺
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    
    <property>  
        <name>mapreduce.jobhistory.address</name>  
        <value>master:10020</value>  
    </property>  

    <property>  
        <name>mapreduce.jobhistory.webapp.address</name>  
        <value>master:19888</value>  
    </property>

slaves

#其中預設是localhost,如果你想搭建偽分散式,就用localhost
node1
node2

yarn-site.xml

#指定resourcemanager在master節點上啟動
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    #表示對日誌檔案進行壓縮
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    #設定日誌存活時間604800秒--一週
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

4、分發Hadoop到node1、node2

# scp 遠端傳送命令
# `pwd` 用反引號表示其中的命令會先執行,然後執行結果會將之替換掉
cd /usr/local/soft/
scp -r hadoop-2.7.6/ node1:`pwd`
scp -r hadoop-2.7.6/ node2:`pwd`

5、格式化namenode(第一次啟動的時候需要執行)

hdfs namenode -format

6、啟動/關閉Hadoop叢集

#啟動
start-all.sh
#關閉
stop-all.sh

7、檢查master、node1、node2上的程序

master:

[root@master soft]# jps
2597 NameNode
2793 SecondaryNameNode 
2953 ResourceManager
3215 Jps

#由於我們在配置Hadoop的時候並沒有設定主節點的備用節點
#所以這裡的SecondaryNameNode並不是備用節點的意思
#而是另有用處

node1:

[root@node1 jdk1.8.0_171]# jps
11361 DataNode
11459 NodeManager
11559 Jps

node2:

[root@node2 ~]# jps
11384 DataNode
11482 NodeManager
11582 Jps

8、訪問HDFS的WEB介面

http://master:50070

9、訪問YARN的WEB介面

http://master:8088

Hadoop常用命令