1. 程式人生 > >adoop2.8.4全分佈搭建之HDFS叢集搭建

adoop2.8.4全分佈搭建之HDFS叢集搭建

    注意:(以下操作可以先配置一臺,然後通過scp命令傳送到其他兩臺虛擬機器上                     傳送到其他機器                     scp -r       主機名:                            注意:載入環境變數 source /etc/profile                     免密登陸                 -》ssh-keygen 生成金鑰對(回車)                 -》 ssh-copy-id 自己                        ssh-copy-id 其它                     ssh-copy-id 其它               )               虛擬機器可以通過安裝一臺,克隆兩臺快速完成三臺虛擬機器                        1.準備三臺虛擬機器,一臺作為namenode,兩臺datanode               我的虛擬機器:192.168.232.132 master                         192.168.232.133 slave1                         192.168.232.134 slave2         2.修改為靜態ip                 cd /etc/sysconfig/network-scripts/目錄下                 ls檢視檔案                 vi ifcfg-ens33   //其他電腦可能不一樣                 將BOOTPROTO="dhcp" 修改為 BOOTPROTO=static

                namenode為例:                 在最後面加入                 IPADDR=192.168.232.132                 NETMASK=255.255.255.0                 GATEWAY=192.168.232.2                         DNS1=8.8.8.8                 DNS2=4.4.4.4                 然後儲存                 以上分別為IP地址,子網掩碼,閘道器,DNS! [效果圖](https://img-blog.csdn.net/20181013115540354?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTk4MzQz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)              可以通過上圖的方式來檢視自己的閘道器,子網掩碼         DNS可以通過windows下win+R輸入ipconfig -all檢視

    3.vi /etc/resolv.conf 指定DNS伺服器位置     在後面加入     nameservers         8.8.8.8     nameservers         4.4.4.4     然後儲存     service network restart重啟網路服務     ping www.baidu.com檢測下

    4.關掉防火牆     systemctl stop firewalld             停止防火牆服務     systemctl  disable firewalld     關閉防火牆服務開機啟動

    5.設定主機名     修改三臺主機名     vi /etc/hostname     (需要重啟生效 reboot!!!)          例:我要改第一臺     那就在配置檔案中輸入你要改的主機名然後儲存          我的三臺虛擬機器     192.168.232.132 master     192.168.232.133 slave1     192.168.232.134 slave2          6.配置對映檔案(三臺都得有才有效果哦)     vi /etc/hosts     前兩行註釋掉     然後輸入對映     ip1 主機名1     ip2 主機名2     ip3 主機名3          ping下其他兩臺虛擬機器看看對映是否成功!! 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 2)安裝jdk(我是通過SecureCRT進行操作的) 1)上傳tar包 alt+p (進入傳輸協議)

2)解壓tar包 tar -zxvf jdk 1.8.0_141  -C /usr/java

3)配置環境變數 vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_141 export PATH=$PATH:$JAVA_HOME/bin 儲存 注意:載入環境變數 source /etc/profile        !!!!!!!!!!!!!!!!!!!!!

4)傳送到其它機器 例傳送到slave1上去: scp -r usr/java/jdk1.8.0_141/ slave1:usr/java/ scp -r /etc/profile slave1:/etc

注意:載入環境變數 source /etc/profile

檢查下   java -version,看環境變數是否配置成功 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 (這裡可能會有些小問題,有些人的虛擬機器原本就安裝的有java1.8 rpm -qa | grep java 顯示安裝位置

java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64 tzdata-java-2016f-1.el7.noarch java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64 python-javapackages-3.4.1-11.el7.noarch

開始刪除,不用刪除完,留python開頭的和tz開頭的 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64

然後你再按上面步驟安裝就可以了

3)安裝HDFS叢集 1.傳到虛擬機器上,解壓到/opt/hadoop,步驟和上面JAVA差不多,這裡話不多說          2.進入/opt/hadoop/hadoop2.8.4/etc/hadoop下修改hadoop-env.sh     export JAVA_HOME=/usr/java/jdk1.8.0_141 (這裡注意下,直接修改他本來的JAVA_HOME就可以了)      3.修改core-site.xml(在configuration標籤下配置)  hadoop官方給的配置檔案:    ![core-default.xml](https://img-blog.csdn.net/20181013124111199?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTk4MzQz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)    我插入的配置:    <property>     <name>fs.defaultFS</name>     <value>hdfs://master:9000</value> </property>

4.修改hdfs-site.xml <property>     <name>dfs.namenode.name.dir</name>     <value>/opt/hadoop/dfs/name</value> </property> <property>     <name>dfs.datanode.data.dir</name>     <value>/opt/hadoop/dfs/data</value> </property>

5.配置hadoop環境變數(/etc/profile) export JAVA_HOME=/usrt/java/jdk1.8.0_141 export HADOOP_HOME=/opt/hadoop/hadoop-2.8.4 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

6. 分發hadoop到其它機器 scp -r ~/opt/hadoop/hadoop-2.8.4/ slave1:/opt/hadoop/ scp -r ~/opt/hadoop/hadoop-2.8.4/ slave2:/opt/hadoop/

分發hadoop環境變數 scp -r /etc/profile  主機名:/etc 7.格式化namenode hadoop namemode -format

8.啟動namenode hadoop-daemon.sh start namenode

9.啟動datanode hadoop-daemon.sh start datanode

10.訪問namenode提供的web埠:50070

11.批量啟動指令碼 1)修改配置檔案slaves hd09-02 hd09-03

2)執行啟動命令 start-dfs.sh start-dfs.sh

通過jps可以看啟動的節點. 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 3)總結 三臺虛擬機器-》靜態Ip主機名對映免密-》JDK》HADOOP 常見問題: 1.環境變數:注意符號和字母 2.每次修改環境變數就要載入環境變數: source /etc/profile 3.注意配置資訊不要直接複製,你的安裝路徑可能和我不同,先看一看再進行 ---------------------  作者:千雨貓  來源:CSDN  原文:https://blog.csdn.net/qq_33598343/article/details/83037622  版權宣告:本文為博主原創文章,轉載請附上博文連結!