大數據攻城獅之Hadoop僞分佈式篇

對於初學大數據的萌新來講,初次接觸Hadoop僞分佈式搭建的同窗多是一臉萌筆的,那麼這一次小編就手把手的教你們在centos7下搭建Hadoop僞分佈式。java


底層環境: VMware Workstation 15.0,centos7node

SSH工具: xshelllinux

軟件包: hadoop-2.7.6.tar.gz jdk-8u201-linux-x64.tar.gzweb

因爲對於大數據的學習初期的同窗,對於centos的安裝應該很是熟練,故在這裏不詳述,這裏咱們開始說具體的步驟:shell

 

這裏給出你們一個思惟導圖,方便你們對於僞分佈式搭建的理解。vim

 

思惟導圖
centos

 

 第一步:網絡配置瀏覽器

 

     (1)查詢主機名bash

 

查詢命令: 網絡

hostname 

 

修改命令:

 hostnamectl set-hostname 新的名字


示例圖片 :
      

 

     (2) 查詢IP 地址

 

查詢命令:

ip add

註釋: 

ip add 適用於centos7及之後的版本;

ifconfig 適用於centos6及其之前的版本;

那麼問題來了,咱們怎麼知道那個是咱們的IP地址呢? 

固然,小編,在這裏給你們準備了具體的實例圖片:


 

圖例解釋:

ip add 就是咱們上文提到的查詢IP地址的命令;

172.17.54.7 就是咱們須要的IP地址。

 

     (3)設置/etc/hosts 文件

 

使用vim ,編輯/etc/hosts 文件;

相信你們對於編輯文件都是信手拈來,那麼咱們看看具體哪一個是/etc/hosts 文件呢?

 


沒錯,這就是傳說中的/etc/hosts 文件.

在這裏咱們須要把咱們查到的具體ip 地址輸入到咱們的第三行,也就是紅線的地方;

背後咱們須要加上空格輸入本身的主機名;

舉個栗子就是:192.168.255.230 你的主機名

 

 (二)環境變量的配置

 

咱們使用xshell將個人hadoop和jdk上傳到目錄下後,解壓。就能夠開始配置環境變量了,咱們在環境變量配置這一塊有不少個地

方,好比說/etc/profile和~/.bashrc。這兩個地方都是能夠配置環境變量的。

爲了方便咱們的後期的使用,咱們這裏將hadoop和jdk進行了更名,由於他們的名字很是的長,不容易記憶。
因此咱們須要對它進行簡單化操做,咱們將其更名爲hadoop和jdk1.8,方便咱們的後期的配置,
爲後文埋下伏筆。

這裏咱們先看看具體的圖片,環境變量的文件究竟是何方神聖:

 

 


沒錯,這就是傳說中的環境變量。

在這裏咱們須要設置咱們的jdk和hadoop的環境變量。

在小編紅線圈起來的地方,我來給你們具體詳解一下咱們須要輸入的內容。

export JAVA_HOME=你的jdk所在的路徑精確到jdk1.8

// 此處咱們設置Java的home

 

export HADOOP_HOME=你的hadoop所在的路徑精確到咱們更名後的hadoop 

// 此處咱們設置hadoop的home

 

export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH 

// 此處咱們將咱們設置好的兩個jdk和hadoop的home導入環境變量 

// ------/bin 這個目錄下存放的是經常使用的環境變量。

 

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 

// 此處咱們具體設置咱們hadoop經常使用的命令,也將他導入進來。

 

exportPATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_COMMON_LIB_NATIVE_DIR:$PATH 

// 此處咱們將全部的配置都導入環境變量之中。


配到這裏咱們距離成功已經很近了,這是後咱們須要重啓環境變量才能開始使用

source /etc/profile 

// 重啓環境變量

若是重啓環境變量,沒有報錯。咱們就能夠開始查看咱們是否配置成功了

查看jdk的版本號

java -version


那麼咱們怎麼知道是否是對的·呢?

小編在這裏給你們準備了具體的示例圖片:


 


若是查詢到的版本號和你下載的版本好相符,那麼咱們的環境變量就大功告成了!!

這樣的話咱們的配置差很少就走了二分之一了,接下來咱們具體看Hadoop的配置如何走呢?


環境變量測試成功


 (三)Hadoop的配置


對於Hadoop的文件配置,咱們須要配置大約有五個文件,分別是:

(1) core-site.xml (2)hdfs-site.xml (3)hadoop-env.sh (4)yarn-env.sh (5)slaves

 

     (1)core-site.xml

 

首先,給你們看看具體core-site.xml文件的具體內容:


 

而後咱們開始上手編輯內容,切記咱們多有的內容都必須寫在

<configuration>

這裏寫咱們編輯的內容

</configuration>

  

那麼咱們須要寫什麼配置信息呢?

這裏咱們須要寫上咱們的配置信息先給你們看看模板:

 


那麼下來咱們具體說一下這些代碼都是啥意思

<property>

            <name>hadoop.tmp.dir</name> // 設置存儲name,data文件的存放文件

            <value>file:/usr/local/hadoop/tmp</value> // 設置此文件的絕對路徑

            <description>zhushi</description>	//添加註釋,無關緊要

</property>

<property>

            <name>fs.defaultFS</name>	// 設置訪問此集羣的端口

            <value>hdfs://hadoop:9000</value> //設置具體的IP,具體的端口,此處能夠寫本身的主機名

</property>                                

  

      (2) hdfs-site.xml


接下來咱們具體設置hdfs-site.xml文件:
一樣的道理咱們須要在

<configuration>

    這裏寫咱們編輯的內容

</configuration>    

  

這裏我也給出你們一個模板:


 


做爲第一次發文章的我考慮到你們對這個不是很瞭解,繼續給你們講講具體的內容

<property>
                <name>dfs.replication</name> //須要設置的數據塊

                <value>1</value> // 這裏僞分佈式爲1

</property>
<property>

                <name>dfs.namenode.name.dir</name>	// 設置namenode的存放文件

                <value>file:/usr/local/hadoop/tmp/dfs/name</value> //namenode文件存放的絕對路徑

</property>

<property>

                <name>dfs.datanode.data.dir</name>	//	設置datanode的存放文件

                <value>file:/usr/local/hadoop/tmp/dfs/data</value>	// 設置datanode文件存放的絕對路徑

</property>    

  

 

      (3) hadoop-env.sh


爲了保證文件的正確性,這是具體的文件圖片:


 

export JAVA_HOME=/你的jdk存放路徑	能夠參考你的環境變量的路徑

# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol. Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=/你更名後的hadoop文件的存放路徑/etc/hadoop // 用來尋找你的hadoop的配置文件

  

 

      (4) yarn-env.sh


這裏的yarn-env.sh文件配置很是的簡單,咱們距離成功共能夠說是近在咫尺了。


 

 

export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"

# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
if [ "$JAVA_HOME" != "" ]; then

#echo "run java in $JAVA_HOME"

JAVA_HOME=/usr/local/jdk1.8 // 這一行是咱們須要配置的,咱們j這裏須要加入jdk的文件存放的路徑;
fi

if [ "$JAVA_HOME" = "" ]; then
echo "Error: JAVA_HOME is not set."
exit 1
fi

  

     (5) slaves


這一塊咱們須要插入具體的主機名,就是咱們剛纔的寫在/etc/hosts裏,IP地址以後的名字。


 


(四)配置免密操做 


執行以下命令:

ssh-keygen -t rsa // 進行免密操做

 

發送密鑰到指定文件夾

ssh-copy-id -i .ssh/id_rsa.pub 用戶名字@192.168.x.xxx


(五)格式化hdfs


### 格式化命令

hdfs namenode -format


(六)集羣成功與否校驗

 

start-all.sh	// 啓動hdfs


 

start-yarn.sh // 啓動守護進程

 

 


最後、咱們使用jps查看本身的節點,這裏給你們配上圖片

jps	查看集羣節點



沒錯,若是到了這裏,你成功了,你就很是牛逼了,你就是萬中無一的建站奇才,升職加薪,走上人生巔峯,
指日可待。

# (七)集羣web訪問


若是你但願經過web瀏覽器訪問集羣的華,那咱們小編就來教你怎麼作
(1)關閉防火牆

systemctl stop firewalld.service


(2)關閉開機自啓

systemctl disable firewalld.service


(3)輸入你的ip地址加端口號

http://hostname:50070


這樣給你們看看最後的結果:


 

若是是這樣:那麼咱們訪問差很少就成功了,確認是否有對應數據,沒有的話,就是存在問題,繼續檢查本身的代碼數據,這是第一次寫博客,若是有什麼問題,請你們指正,有什麼問題,你們能夠在下方留言評論。謝謝你們

相關文章
相關標籤/搜索