搭建Hadoop集羣需要多少時間,5分鐘夠嗎???

快速搭建Hadoop集羣

1.環境準備

主機 從機 從機
主機名 hadoop201 hadoop202 hadoop203
hostname hadoop201 hadoop202 hadoop203
IP地址 192.168.153.201 192.168.153.202 192.168.153.203
用戶名 zhangyong zhangyong zhangyong
內存大小 /boot 200M
/swap 2048M
/ 剩餘空間
/boot 200M
/swap 2048M
/ 剩餘空間
/boot 200M
/swap 2048M
/ 剩餘空間
防火牆 service iptables stop
chkconfig iptables off(開機關閉)
service iptables stop
chkconfig iptables off
service iptables stop
chkconfig iptables off
網路配置 ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.153.201
GATEWAY=192.168.153.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.153.202
GATEWAY=192.168.153.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.153.202
GATEWAY=192.168.153.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8

2.配置基本信息

  1. 配置/etc/hosts
 vim /etc/hosts
192.168.153.201   hadoop201
192.168.153.202   hadoop202
192.168.153.203   hadoop203
  1. 配置這個用戶爲sudoers
vim /etc/sudoers
在root    ALL=(ALL)       ALL
添加zhangyong    ALL=(ALL)       NOPASSWD:ALL
保存時wq!強制保存
  1. 在/opt目錄下創建兩個文件夾module和software,並把所有權賦給zhangyong
mkdir /opt/module /opt/software
chown zhangyong:zhangyong /opt/module /opt/software
  1. 文件分發腳本xsync
#!/bin/bash
#1 獲取輸入參數個數,如果沒有參數,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

#2 獲取文件名稱
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 獲取上級目錄到絕對路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 獲取當前用戶名稱
user=`whoami`

#5 循環
for((host=103; host<105; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
  1. 更改權限和拷貝
chmod +x xsync         更改執行權限
sudo cp xsync /bin     拷貝xsync到根目錄的bin下
sudo xsync /bin/xsync  把腳本分發到其他機子上
  1. 如果沒有rsync環境執行下面兩句
yum -y install rsync
yum install openssh-clients -y
  1. 配置免密登陸
1. 生成密鑰對
ssh-keygen -t rsa 三次回車

2. 發送公鑰到本機
ssh-copy-id hadoop201 輸入一次密碼

3. 分別ssh登陸一下所有虛擬機
ssh hadoop202
exit
ssh hadoop203
exit

4. 把/home/zhangyong/.ssh 文件夾發送到集羣所有服務器
xsync /home/zhangyong/.ssh
  1. 在一臺機器上安裝Java和Hadoop,並配置環境變量,並分發到集羣其他機器

    • 拷貝文件到/opt/software,兩個tar包,並且解壓到/opt/module

      tar -zxf hadoop-2.7.2.tar.gz -C /opt/module
      tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module
      
    • sudo vim /etc/profile 在文件末尾添加

    #JAVA_HOME
    export JAVA_HOME=/opt/module/jdk1.8.0_144
    #HADOOP_HOME
    export HADOOP_HOME=/opt/module/hadoop-2.7.2
    
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
  2. 更新配置文件,查看JDK和hadoop是否安裝成功

    source /etc/profile
    java -version
    hadoop version
    
  3. 分發軟件和配置文件到hadoop202、203並在其他兩個機子上更新配置文件

    sudo xsync /etc/profile 
    sudo xsync /opt/module
    在其他機器分別執行
    source /etc/profile
    

3. 配置Hadoop文件

  • 所有配置文件都在$HADOOP_HOME/etc/hadoop

    1. 配置hadoop-env.sh,yarn-env.sh,mapred-env.sh文件,配置Java_HOME
    export JAVA_HOME=/opt/module/jdk1.8.0_144
    
    1. 配置Core-site.xml
    <!-- 指定HDFS中NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop201:9000</value>
    </property>
    <!-- 指定Hadoop運行時產生文件的存儲目錄 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.2/data/tmp</value>
    </property>
    
    1. 配置hdfs-site.xml
     <!-- 數據的副本數量 -->
     <property>
         <name>dfs.replication</name>
         <value>3</value>
     </property>
     <!-- 指定Hadoop輔助名稱節點主機配置 -->
     <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>hadoop203:50090</value>
     </property>
    
    1. 配置yarn-site.xml
     <!-- Reducer獲取數據的方式 -->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop202</value>
    </property>
    <!-- 日誌聚集功能使能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 日誌保留時間設置7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    
    1. 配置mapred-site.xml
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
     <!-- 歷史服務器端地址 -->
     <property>
         <name>mapreduce.jobhistory.address</name>
         <value>hadoop203:10020</value>
     </property>
     <!-- 歷史服務器web端地址 -->
     <property>
         <name>mapreduce.jobhistory.webapp.address</name>
         <value>hadoop203:19888</value>
     </property>
    
    1. 配置Slaves
    hadoop201
    hadoop202
    hadoop203
    
    1. 分發配置文件
    xsync /opt/module/hadoop-2.7.2/etc
    
    1. 格式化Namenode 在hadoop201(只能格式化一次,如需格式化第二次,刪除data和logs包)
    hdfs namenode -format
    
    1. 在hadoop201上啓動hdfs
    start-dfs.sh
    
    1. 在Hadoop202上啓動yarn
    start-yarn.sh
    
    1. 在Hadoop203啓動歷史服務器
    mr-jobhistory-daemon.sh start historyserver
    
    1. 測試集羣是否搭建成功
    mkdir input  在hadoop的安裝目錄創建文件夾
    vim input/input    在input/inout填寫一下內容
    abc
       
    hadoop fs -put input /   上傳到HDFS上
    hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input /output
    
    1. 至此環境搭建完成,關閉服務
    stop-dfs.sh  在hadoop201執行
    stop-yarn.sh  在hadoop202執行
    mr-jobhistory-daemon.sh start historyserver  在hadoop203執行
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章