ubuntu16.04搭建hadoop2.X系列

ubuntu16.04 搭建hadoop2.X系列

1.軟件版本(提供網盤鏈接)

  1. ubuntu-16.04.2-desktop-amd64.iso
  2. hadoop-2.7.3.tar.gz
  3. jdk-8u144-linux-x64.tar.gz

2.平臺準備

  • 服務器準備 (內存可爲1G,2G只爲流暢)
    Master:內存2G 1核。
    Slaver:內存2G 1核。

  • IP設置 (IP類比自身服務器)
    Master:192.168.1.10
    Slaver:192.168.1.20

3.配置過程

  1. 系統安裝
    系統正常安裝,主機名可分別設置爲Master,slaver。並且設置用戶名爲hadoop 這樣可省去創建用戶步驟。
    也可系統安裝完後期修改。

  2. 創建用戶

#創建用戶
sudo useradd -m hadoop -s /bin/bash
#設置密碼
sudo passwd hadoop #按提示輸入兩次密碼

#加入root組
sudo adduser hadoop sudo

3.更新並安裝vim

#Master&Slaver
sudo apt-get update
sudo apt-get install vim
sudo apt-get install openssh-server
  1. 配置主機通信
    • 修改主機名
      /etc/hostname 內容爲主機名,修改後需重啓主機生效,可在系統安裝時提前將主機名設置爲Master,Slaver
#Master
sudo vim /etc/hostname
Master

#Slaver
sudo vim /etc/hostname
Slaver
  • 配置主機映射
    /etc/hosts 文件是linux文件的主機映射,配置內容爲 IP HOSTNAME
    比如 192.168.1.10 Masterping Master = ping 192.168.1.10.
    配置時將主機字自解析刪除掉,127.0.0.1 Master Slaver
#Master&Slaver
sudo vim /etc/hosts

192.168.1.10 Master
192.168.1.20 Slaver

5.配置無密鑰訪問
這邊需要詳細解釋一下,首先,我們使用hadoop用戶登錄,所以我們的家目錄爲/home/hadoop/
執行ssh-keygen -t rsa 後, 會在用戶的家目錄生成兩個文件,分別爲id_rsa, id_rsa.pub.
使用 cat命令,將公鑰複製到authorized.keys文件內(該文件默認不存在),
此時 authorized_keys文件內容大致爲

公鑰 user@hostname
公鑰爲一堆長亂碼,user爲用戶名,我們此時爲hadoop. hostname爲主機名,即我們的Master Slaver.

此時authorized_keys文件內容大致爲

公鑰  hadoop@Master
公鑰  hadoop@Slaver 

此時,Master Slaver 下分別執行

#Slaver
ssh Master

#Master
ssh Slaver 

即可實現免密鑰登錄,如果不成功,請刪除.ssh/下所有文件,重新執行該步驟。

#Master
ssh-keygen -t rsa #根據提示,三次回車即可生成密鑰。
#Slaver
ssh-keygen -t rsa #根據提示,三次回車即可生成密鑰。
cd /home/hadoop/.ssh/
cat id_rsa.pub >> authorized_keys
scp authorized_keys Master:/home/hadoop/.ssh/

#Master
cd /home/hadoop/.ssh/
cat id_rsa.pub >> authorized_keys
scp authorized_keys Slaver:/home/hadoop/.ssh/
  1. 配置JDK
    首先,將JDK上傳至/home/hadoop/下。
#Master&Slaver
sudo tar -zxvf jdk-8u144-linux-x64.tar.gz  -C /usr/local

sudo mv /usr/local/jdk1.8.0_144 /usr/local/jdk

sudo vim /home/hadoop/.bashrc

export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH #此兩行爲配置內容,寫在.bashrc文件最後,.bashrc爲用戶配置內容。

此時,配置文件和JDK已經安裝修改完畢,進行驗證。

source /home/hadoop/.bashrc
java -version #以打印出JAVA版本信息爲主。

7.配置hadoop
hadoop上傳至/home/hadoop目錄下,

#Master
sudo tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local #將hadoop文件解壓縮至/usr/local

cd /usr/local

sudo mv hadoop-2.7.3 hadoop

sudo chown -R hadoop hadoop

配置環境變量

#Master&Slaver (Slaver節點也需要修改環境變量)

sudo vim /home/hadoop/.bashrc

#此三行添加至文件最後
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

#文件生效
source /home/hadoop/.bashrc

修改配置文件
文件內容統一在/usr/local/hadoop/etc/hadoop/
- hadoop.env.sh

#原語句爲 export JAVA_HOME=${JAVA_HOME},修改爲如下
export JAVA_HOME=/usr/local/jdk
  • yarn.env.sh
#原語句爲 export JAVA_HOME=/home/y/libexec/jdk1.6.0/ 默認被註釋的,在下面添加如下語句。
export JAVA_HOME=/usr/local/jdk
  • slaves
#文件內容
Master
Slaver
  • core-site.xml
<configuration>
         <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
        </property>
</configuration>
  • hdfs-site.xml
<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>
  • mapred-site.xml

原文件名爲 mapred-site.xml.template

sudo cp mapred-site.xml.template mapred-site.xml

文件內容爲:

<configuration>
        <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>
</configuration>
  • yarn-site.xml
<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

8.配置slaver節點

#Master
cd /usr/local
sudo tar -zcf /home/hadoop/hadoop.master.tar.gz hadoop #壓縮/usr/local下的hadoop文件夾
sudo scp /home/hadoop/hadoop.master.tar.gz Slaver:/home/hadoop/

#Slaver
cd /home/hadoop
tar -zxvf hadoop.master.tar.gz -C /usr/local
#生效環境變量 source /home/hadoop/.bashrc

9.啓動hadoop

#Master
hdfs namenode -format #僅首次運行需要執行初始化,之後不需要啓動。
啓動:
start-all.sh
關閉:
stop-all.sh

10.查看

JPS
#Master
 jps
 DataNode
 NameNode
 ResourceManager
 SecondrryNameNode
 JobHistoryServer
#Slaver
 DataNode
 NameNode
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章