Hadoop入門(1)安裝配置篇(JDK、Hadoop分佈式的安裝,克隆服務器,SSH免密碼登錄等)

本章目的

  • 介紹了基於Linux的Hadoop安裝與配置。
  • 包括虛擬機創建 、Linux系統和JDK安裝、 Hadoop安裝及Hadoop分佈式安裝。
  • 還介紹了克隆服務器和SSH免密碼登錄。

目錄

0、提前下載需知

1、在vmware上安裝centos

2、給centos配置網絡

3、克隆服務器

4、關閉防火牆

5、鏈接xshell

6、SSH免密碼登錄

7、安裝java jdk

8、安裝Hadoop

9、Hadoop分佈式安裝(配置HDFS)


0、提前下載需知

  • 必要的軟件:vmware workstation
  • 需要的工具:centos(iso文件)、java jdk(rpm文件)
  • 輔助的軟件:xshell、xftp
  • 需要的基礎知識:會用linux指令、懂得編寫java。
  • 百度雲鏈接(提取碼:km1g)

1、在vmware上安裝centos

  • 很簡單,不贅述,可參考別的博客
  • 就兩點:記住你自己設置的密碼,網絡選擇NAT模式。
  • 安裝好了以後,用戶名爲root(除非你設置了其他用戶名),輸入密碼即可(密碼不顯示)


2、給centos配置網絡

2.1 進入編輯模式

  • 繼續輸入(注意vi後面有空格)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 回車確定後,再按鍵盤“i”,當底部出現“INSERT”字樣時,說明已經進入編輯模式。(如果出現錯誤e325,是因爲之前強制退出了vmware,導致還沒完成的文本變成了臨時文件swp,定位到該目錄,利用rm指令刪除該文件即可)

2.2 編輯更改文本信息

  • 更改文件中的配置信息,其他信息不用修改。除了IP地址不需要一致以外,上圖的其餘信息要一致。如果沒有這些內容,需要用戶手動敲入。
  • 注意!上圖中IPADDR和GATEWAY中的IP地址的第三個數值不能亂填,點擊vmware的“編輯”,找到“虛擬網絡編輯器” 

  • 然後點擊“ NAT設置 ”,查看自己的網關IP。 

  • IPADDR和GATEWAY中的IP地址的第三個數值要和網關IP的第三個數值一樣纔行(我這臺機器是44),IPADDR的第四個數值建議填寫100~500的數值。

2.3 保存更改並退出

  • 按“esc”鍵後,輸入‘:wq’回車,保存退出即可。

2.4 重啓網卡,生效剛剛修改ip地址

  • 輸入以下指令。
service network

restart命令重啓網卡。等一會兒,如果出現ok,那就沒問題了。

2.5 利用ping測試網絡

  • 輸入以下指令。
ping www.baidu.com

如果沒問題,那麼centos就安裝好了~。 (中斷輸出指令:‘ctrl’ + ‘c’)


3、克隆服務器

  • 被克隆的機器也稱主機、主節點,克隆機是從機、從節點。

3.1、克隆步驟

  • 爲了減少重複配置,可以直接將配置好的機器進行克隆,克隆時,被克隆的機器(主機)必須處於關機狀態下。
  • 右鍵點擊(已關機的)主機。
  • 點擊“管理”,然後點擊“克隆”
  • 注意克隆方法選擇“創建完整克隆”,其餘的跟着提示走,在此不贅述。

3.2、爲克隆節點配置網絡

  • 輸入下面的指令,並且按'i'進入編輯模式。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 修改IPADDR的值,第四個數值不能和被克隆的機器一樣,仍然建議數值爲100~500。
  • 刪除UUID和HWADDR(如果沒有就不用管),按“esc”鍵後,輸入‘:wq’回車,保存退出即可。
  • 刪除文件‘ 70-persistent-net.rules ’,指令如下。
rm -rf /etc/udev/rules.d/70-persistent-net.rules
  • 修改機器名,指令如下。
vi /etc/sysconfig/network
  • 進入編輯模式以後,添加/修改一行:HOSTNAME=xxx(自命名) 

  • 然後保存退出即可。

3.3、重新啓動克隆機

輸入‘init 6’指令即可。

3.4、修改主機的host文件

  • 目的:綁定了機器和它的IP地址,方便以後直接通過名字找到機器。
  • 重新將主機開機。
vi /etc/hosts
  • 進入編輯模式,添加兩行信息。
  • 格式如下:機器的IP地址(即機器對應的IPADDR值)(空格) 機器的別名。 

  • 保存退出。

3.5、修改從機的host文件

  • 重啓從機,剩下方法與上述3.4方法一致,不贅述。

3.6、測試主從機的連通性

在主機輸入以下指令。

ping 自己設置的從機名

如果聯通了,就可以了。 


4、關閉防火牆

  • 不關閉防火牆的話,後續就算搭建好環境,我們也無法通過web頁面訪問Hadoop服務的端口50070。
  • 下面是檢查防火牆是否開啓的指令:
firewall-cmd --state

  • 如果centos的防火牆開了,選擇以下指令關閉即可。
systemctl stop firewalld.service

  • 重啓後生效指令
chkconfig iptables off 
  • 立刻生效,重啓無效指令
service iptables stop

5、鏈接xshell

  • 目的是爲了更方便地操縱linux。
  • 打開xshell,新建會話,修改名稱、主機IP,點擊確認。 

  • 打開會話時,用戶名填"root",密碼填主機的密碼即可連接。(也可以在新建會話的時候點擊左側“用戶身份驗證”,輸入用戶名和密碼信息) 

  • 這時就可以在xshell裏操作了。
  • 從機也是同樣操作

6、SSH免密碼登錄

  • 當主機操作從機的時候,往往需要輸入密碼,這個步驟太麻煩了,利用SSH免密碼登錄即可。

6.1、生成密鑰

  • 在xshell中連接好主機從機後,直接在主機和從機裏,賦值粘貼以下命令(也可以在vmware上輸入命令,就是不方便而已)。
ssh-keygen -t rsa -P ''
  • 注意,ssh-keygen之間沒有空格。
  • 中途會問保存的路徑,直接點確認就行。
  • 這時候密鑰,ssh文件已經生成了。
  • 輸入以下指令,可以看到ssh文件中的其他東西。
cd .ssh
ls -la
  • ls -l看不到隱藏文件,因此用ls -la命令。 

  • 其中,"id_rsa.pub"文件是公鑰,我們需要把公鑰交給從機。公鑰相當於身份證,給從機用來識別主機的身份。

6.2、移送公鑰

  • 利用遠程拷貝命令,將公鑰交給從機
scp id_rsa.pub [email protected]:~
  • 這個xx請根據自己機器的IP地址數值填寫。
  • ~代表根,意思就是拷貝到從機的根目錄下。

6.3、將公鑰添加進信任列表

  • 在從機中執行移動操作,將公鑰放到可信任列表中。
cat id_rsa.pub>>.ssh/authorized_keys

6.4、測試是否連通

  • 這時候主從機就相當於一臺電腦了,我們可以免密碼進從機操作。
  • 在主機執行命令連接從機
ssh 自己從機的別名

  • 可以看到的確成功了。

6.5、補充

  • 如果使用了企業提供的服務器,例如騰訊雲阿里雲之類的,還需要更改其他配置,具體的多看服務器提供方的官方文檔,以後接觸了再說。

7、安裝java jdk

注意,所有節點都需要配置jdk。

7.1、安裝java jdk的rpm文件

  • 點擊打開xshell的xftp文件傳輸服務。(直接打開xftp軟件新建對話也行)。 

  • 進入主機的/opt/software路徑下。(直接放到根目錄下也行,但不方便文件管理)
  • 找到左側本地已下載好的java,直接拖到右邊即可。 

  • 然後打開xshell,輸入以下命令。
  • 先進入/opt/software。
cd /opt/software
  • 然後再安裝。
rpm -ivh 自己的jdk的文件名.rpm
  • 可以看到安裝成功。 

 

7.2、配置環境變量

  • 通過修改home目錄下的隱藏文件.bash_profile(放環境變量的地方)來修改環境變量。我們設置JAVA_ HOME指向JDK的根目錄,然後再使環境變量立刻生效。
  • 先回到根目錄
cd ~
  • 在根目錄下,再通過vi命令,按“i”進入.bash_profile文件的編輯模式。

題外話:用export命令配置環境變量也行

vi .bash_profile

  • 編輯配置環境變量(如下圖所示),編輯完後按“:wq”保存退出。
JAVA_HOME=/usr/java/jdk1.7.0_79
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

  • 保存退出回到根目錄後,再執行source命令,修改環境變量之後立即生效
source .bash_profile

這時候再執行‘java -version’,可以看到java已經安裝好了。 


8、安裝Hadoop

8.1、解壓Hadoop

  • 通過xshell上傳hadoop的壓縮包到虛擬機的/opt/software路徑下。 

  • 利用解壓命令tar,解壓。
cd /opt/software
tar -zxvf hadoop的版本名.tar.gz

8.2、配置環境變量

  • 把hadoop的bin和sbin配置到環境變量中。
  • bin當中是常規命令,而sbin當中是管理命令。
  • 和配置jdk一樣的步驟,在根目錄下,進入.bash_profile文件,編輯它。 

HADOOP_HOME=/opt/software/hadoop-2.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 再執行source命令,修改環境變量之後立即生效
source .bash_profile

8.3、讓hadoop找到jdk

  • 這一步是必須的,hadoop是用java開發的,因此它需要jdk的jre環境,否則無法運行,會出錯,例如下圖。所以我們要在hadoop文件中重新配置jdk的路徑信息,讓hadoop找到jdk。

  • 首先在根目錄下進入以下路徑,找到hadoop-env.sh這個文件,編輯它。
cd /opt/software/hadoop-2.7.0/etc/hadoop
vi hadoop-env.sh
  • 找到這一行 

  • 修改它,將java的安裝目錄放進去,然後保存退出。
/usr/java/自己jdk的名字

  • 記得':wq'保存退出。

8.4、測試hadoop是否已成功安裝

  • 直接執行查看版本號,可以看到已經安裝成功了。
hadoop version


9、Hadoop分佈式安裝

  • HDFS是hadoop的分佈式文件系統,相當於一個將很多個電腦串起來的大硬盤。
  • 一共支持三種模式,這裏先用僞分佈式。
  • 本地(單節點)模式:本機一臺電腦,不存在分佈式的概念。(一般不用)
  • 僞分佈式模式:也是在本機上,但用了分佈式的概念,構成了集羣。(個人學習用)
  • 完全分佈式模式:多臺電腦。(實際項目中用)

9.1、僞分佈式安裝

9.1.1、配置HDFS

  • 在這裏安裝僞分佈式的,根據官網提示,修改/etc/hadoop下的core-site.xml文件。

 

  • 找到這一行。 

  • 添加信息進去,保存退出。
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>

  • core-site.xml文件主要配置了訪問Hadoop集羣的主要信息, 9000代表端口。 外部通過配置的hdfs: //主機IP: 9000, 就可以找到Hadoop集羣。
  • 同樣的,找到/etc/hadoop下的hdfs-site.xml文件,修改它,修改完後保存退出。
vi core-site.xml
  • 其中dfs.replication代表副本數,這裏設置爲1。
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

9.1.2、格式化並啓動namenode

  • 格式化的目的是爲了初始化。
hdfs namenode -format
start-dfs.sh

如果中途出現輸密碼提示和Warnning,一般是因爲公鑰沒有在可信任列表裏(如果沒有密鑰就生成吧)。和之前的生成密鑰教程一樣,去到.ssh文件夾下,要用cat命令將密鑰放進去,如下圖。

  • 可以看到執行成功了。 

  • 執行‘jps’命令查看當前java進程信息,會發現有namednode了。 

 

9.1.3、用web頁面查看HDFS

  • 在瀏覽器地址欄內輸入網址:
192.168.xx.xxx:50070/
  • 可以看到僞分佈式的HDFS的確搭建起來了。 

如果發現無法訪問,換一個瀏覽器即可,比如我的IE瀏覽器可以訪問,但是Edge瀏覽器則不行。

  •  自此,所有東西都配置好了,以後每一次要重新啓用服務,只需要運行namenode即可。(記得檢查防火牆是否運行,防火牆若還在運行,則打不開)
start-dfs.sh

9.2、完全分佈式安裝

9.2.1 填寫xml配置信息

  • 在僞分佈式配置的基礎上,在core-site.xml文件中添加下面語句即可(localhost最好換成自己的主機名,如下,我將localhost換成了my)。
     <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-2.7.0<alue>
    </property>

 

  • 同樣的,在hdfs-site.xml文件中如下修改。 

9.2.2、生成節點文件

  • 進入路徑
cd /opt/software/hadoop-2.7.0/etc/hadoop
  • 利用touch命令創建/修改文件
  • 你的主節點(主機)和數據節點(從機)叫什麼名字,就創建什麼名字的文件,例如我在主機裏執行了這條指令:"touch my"和“touch clone”。
touch xxx
  • 修改文件,其中與主機同名的文件裏面寫個主機的名字即可。其餘從機要寫兩行數據,主機名和自己的名字,如下。 

9.2.3、格式化並啓動namenode

  • 記得檢查防火牆是否處於關閉狀態。
hdfs namenode -format
start-dfs.sh

9.2.4、用web頁面查看HDFS

  • 在瀏覽器地址欄內輸入網址,能打開
192.168.xx.xxx:50070/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章