Ubuntu16.04下Hadoop的本地安裝與配置


一、系統環境

os : Ubuntu 16.04 LTS 64bit
jdk : 1.8.0_161
hadoop : 2.6.4

部署時使用的用戶名為hadoop,下文中需要使用用戶名的地方請更改為自己的用戶名。

二、安裝步驟

1、安裝並配置ssh

1.1 安裝ssh

輸入命令:  $ sudo apt-get install openssh-server  ,安裝完成后使用命令 $ ssh localhost 登錄本機。首次登錄會有提示,輸入yes,接着輸入當前用戶登錄電腦的密碼即可。

1.2 配置ssh無密碼登錄

首先使用命令 $ exit 退出上一步的ssh,然后使用ssh-keygen生成密鑰,最后將密鑰加入授權即可,命令如下:

$ exit                           # 退出剛才的 ssh localhost
$ cd ~/.ssh/                     # 若沒有該目錄,請先執行一次ssh localhost
$ ssh-keygen -t rsa              # 會有提示,都按回車就可以
$ cat ./id_rsa.pub >> ./authorized_keys  # 加入授權

配置完成之后再使用 $ ssh localhost 登錄就不需要密碼了。

2、安裝並配置java

2.1 安裝java

官方網站下載jdk-8u161-linux-x64.tar.gz ,使用如下命令解壓並安裝到/usr/local/目錄下:

$ cd ~/下載 
$ sudo tar -xzf jdk-8u161-linux-x64.tar.gz -C /usr/local 
$ cd /usr/local $ sudo mv jdk1.8.0_161/ java

2.2 配置環境變量

使用命令 $ vim ~/.bashrc 編輯文件~/.bashrc,在該文件開頭添加以下內容:

export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

最后使用命令 $ source ~/.bashrc 讓環境變量生效。使用java -version檢查是否配置正確,正確配置如下圖:

3、hadoop的安裝與配置

3.1 hadoop下載與安裝

去hadoop官網下載hadoop-2.6.4.tar.gz ,使用以下命令安裝到/usr/local/目錄下:

$ sudo tar -xzf hadoop-2.6.4.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv hadoop-2.6.4/ hadoop
$ sudo chown -R hadoop ./hadoop  #前一個hadoop為用戶名,更改為自己的用戶名即可

將以下代碼添加到~/.bashrc中:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

然后使用命令 source ~/.bashrc 讓環境變量生效,使用命令 hadoop version 檢查環境變量是否添加成功,成功如下:

3.2 hadoop單機配置

安裝后的hadoop默認為單機配置,無需其他配置即可運行。使用hadoop自帶的單詞統計的例子體驗以下:

$ cd /usr/local/hadoop
$ mkdir ./input
$ cp ./etc/hadoop/*.xml ./input   # 將配置文件作為輸入文件
$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
$ cat ./output/*          # 查看運行結果

結果為:

1    dfsadmin

3.3 hadoop偽分布式配置

hadoop的配置文件存放在/usr/local/hadoop/etc/hadoop下,要修改該目錄下的文件core-site.xml和hdfs-site.xml來達到實現偽分布式配置。

修改core-site.xml,將<configure></configure>修改為:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改hdfs-site.xml,將<configure></configure>修改為:

<configuration>
    <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>

配置完成后在/usr/local/hadoop下使用命令  $ ./bin/hdfs namenode -format  實現namenode的格式化,成功后會有“successfully formatted”及“Exiting with status 0”的提示,如下圖:

 接着使用sbin/start-dfs.sh來開啟namenode和datanode,開啟后使用命令jps查看是否開啟成功,如下圖:

namenode和datanode都要出現才算成功。

4、配置yarn(非必須)

在/usr/local/hadoop下操作

$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

然后修改etc/hadoop/mapred-site.xml

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

修改etc/hadoop/yarn-site.xml

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

啟動資源管理器

$ ./sbin/start-yarn.sh
$ ./sbin/mr-jobhistory-daemon.sh start historyserver #查看歷史任務

啟動成功后可以在http://localhost:8088/cluster訪問集群資源管理器。

此時使用jps可以看到:

關閉資源管理器

$ ./sbin/stop-yarn.sh
$ ./sbin/mr-jobhistory-daemon.sh stop historyserver

三、參考

1、http://dblab.xmu.edu.cn/blog/install-hadoop/

2、https://sjq597.github.io/2016/07/19/Ubuntu-16-04-Hadoop%E6%9C%AC%E5%9C%B0%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM