hadoop系列教程第二講:環境搭建

上一章我們講了關於hadoop的一些基本的概念,這一章我們開始着手搭建hadoop的開發環境。
首先你要有linux虛擬機,關於VMware和linux虛擬機的安裝這裏就不多說了。可以自行百度,很簡單。
假定我們已經有了linux虛擬機,接下來我們就開始進行hadoop環境的安裝。

1.使用useradd創建一個用戶,這裏我們取名爲hadoop

 [root@localhost ~]# useradd hadoop

2.用passwd爲hadoop設置密碼

[root@localhost ~]# passwd hadoop
Changing password for user hadoop.
New password:                //輸入密碼
BAD PASSWORD: The password is shorter than 8 characters//這句話是提示我的密碼過於簡單,忽略
Retype new password:        //確認密碼
passwd: all authentication tokens updated successfully.

3.給hadoop用戶賦予使用sudo命令的權限

查看/etc/sudoers的權限信息:

[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 3907 Nov  4  2016 /etc/sudoers

發現當前root用戶對該文件沒有寫的權限。我們首先要做的就是給root用戶增加寫該文件的權限:

[root@localhost ~]# chmod u+w /etc/sudoers

然後再次查看root對該文件的權限:

[root@localhost ~]# ll /etc/sudoers
-rw-r-----. 1 root root 3907 Nov  4  2016 /etc/sudoers

此時root擁有了修改該文件的權限。
然後修改該文件:

vim /etc/sudoers

找到下面這這一行:

root    ALL=(ALL)       ALL//中間的空格是Tab鍵

在這一行的下面加上一行:

hadoop  ALL=(ALL)       ALL

然後保存退出。

4.撤銷剛纔root對/etc/sudoers的權限,防止誤修改

[root@localhost ~]# chmod u-w /etc/sudoers
[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 3927 Oct 28 18:07 /etc/sudoers

5.修改主機名

爲了方便以後做測試,我們將主機名修改爲hadoop.

[root@localhost ~]# vim /etc/hostname 

然後將裏面的內容修改爲hadoop。
修改etc/hosts文件,在裏面添加

主機名  hadoop

然後重啓linux生效。

[root@localhost ~]# reboot

重啓linux後,我們發現hostname已經變成了hadoop。

6.設置本地ssh免密登陸

[root@hadoop ~]# ssh-keygen -t rsa

一直敲回車,直到結束。
這個時候,在~/.ssh文件夾下會生成兩個文件:

-rw-------. 1 root root 1679 Oct 28 18:15 id_rsa
-rw-r--r--. 1 root root  393 Oct 28 18:15 id_rsa.pub

我們需要在這個文件夾下面創建authorized_keys文件,並且將id_rsa.pub的內容添加到authorized_keys中去,命令如下:

[root@hadoop .ssh]# cat id_rsa.pub >>authorized_keys

然後需要更改authorized_keys文件的權限爲600(這一步必須,否則ssh免密登陸將會不成功),命令如下:

[root@hadoop .ssh]# chmod 600 authorized_keys 

7.安裝JDK

hadoop需要JDK的運行環境。
首先從官網上下載JDK安裝包,鏈接地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
現在完成後放到linux的文件夾中,這裏我是在/home/hadoop下新建了一個softs的文件夾。
然後執行解壓縮命令:

[root@hadoop softs]# tar -zxvf jdk-8u151-linux-x64.tar.gz 

如果解壓提示permission deny等問題,可以再命令前面加上sudo。
解壓完成後,創建jdk目錄的軟連接(方便以後使用):

[root@hadoop softs]# sudo ln -s /home/hadoop/softs/jdk1.8.0_151 /usr/local/jdk

然後設置java的環境變量:

[root@hadoop softs]# vim ~/.bash_profile

在該文件中加入下面三行:

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

然後使用命令使配置生效。

[root@hadoop softs]# source ~/.bash_profile

檢測java環境:

[root@hadoop softs]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

可以看到java版本信息,說明jdk環境已經安裝成功。

8.安裝hadoop環境

下載hadoop的安裝包並複製到softs文件夾中。hadoop鏈接地址:http://archive.cloudera.com/cdh5/cdh/5/
解壓該安裝包。

[root@hadoop softs]# tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz 

解壓完成後,在/home/hadoop/下創建bigdata文件夾。
創建hadoop文件夾的軟連接:

[root@hadoop softs]# sudo ln -s /home/hadoop/softs/hadoop-2.5.0-cdh5.3.6 /home/hadoop/bigdata/hadoop5.3.6

在/home/hadoop/bigdata/hadoop5.3.6文件夾下面創建hdfs文件夾。

進入/home/hadoop/bigdata/hadoop5.3.6/etc/hadoop 文件夾下面
配置/home/hadoop/bigdata/hadoop5.3.6/etc/hadoop/hadoop-env.sh環境文件。

    export JAVA_HOME=/usr/local/jdk
    export HADOOP_PID_DIR=/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp

配置mapred-env.sh
export HADOOP_MAPRED_PID_DIR=/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp

配置基本環境變量core-site.xml文件

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hh:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp</value>
    </property>

配置hdfs相關變量hdfs-site.xml文件

     <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/bigdata/hadoop5.3.6/hdfs/name</value>
    </property>
    <property>
        <name>dfs.namenode.data.dir</name>
        <value>/home/hadoop/bigdata/hadoop5.3.6/hdfs/data</value>
    </property>
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>

配置mapre相關環境變量mapred-site.xml文件
執行命令:

cp mapred-site.xml.templete mapred-site.xml

配置mapred-site.xml文件

   <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

配置yarn相關環境變量
yarn-site.xml文件

  <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
  </property>

yarn-env.sh文件

 export YARN_PID_DIR=/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp

配置datanode相關變量slaves文件
將salves文件中的內容改爲主機名
配置hadoop相關環境變量

    export HADOOP_HOME=/home/hadoop/bigdata/hadoo5.3.6/
    export HADOOP_PREFIX=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_PREFIX
    export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
    export HADOOP_HDFS_HOME=$HADOOP_PREFIX
    export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
    export HADOOP_YARN_HOME=$HADOOP_PREFIX
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

最後執行命令使配置生效:

source ~/.bash_profile

9.啓動hadoop

第一次啓動hadoop需要執行一個命令:hadoop namenode - format
然後執行命令:start-all.sh

10.驗證是否啓動成功

輸入命令jps,如果你能看到下面幾個進程在運行,那麼恭喜你,你的hadoop環境已經成功運行。

[root@hadoop ~]# jps
5472 DataNode
6083 NodeManager
6469 Jps
5798 ResourceManager
5640 SecondaryNameNode
發佈了28 篇原創文章 · 獲贊 14 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章