1. 程式人生 > >ubuntu16.04安裝偽分散式Hadoop2.9.1

ubuntu16.04安裝偽分散式Hadoop2.9.1

1.前言

最近需要搭建一個推薦系統,由於只有一臺伺服器,Hadoop使用偽分散式。

2.安裝偽分散式Hadoop

2.1.新增Hadoop使用者

sudo useradd -m hadoop -s /bin/bash

為hadoop設定密碼

sudo passwd hadoop

為hadoop增加管理員許可權

sudo adduser hadoop sudo

2.2.更新apt

sudo apt-get update

更新的時候遇到了問題
這裡寫圖片描述
解決方案:使用

sudo add-apt-repository -y -r ppa:chris-lea/node.js
sudo rm -f
/etc/apt/sources.list.d/chris-lea-node_js-*.list

之後再次執行更新操作即可。

2.3.配置SSH無密碼登入

首先使用ssh localhost登入機器,會讓輸入密碼
使用exit退出,然後使用cd ~/.ssh/進入ssh目錄
執行ssh-keygen -t rsa生成金鑰,提示全部按回車
執行cat ./id_rsa.pub >> ./authorized_keys加入授權
再次執行ssh localhost就不需要密碼了

2.4.安裝Java

依次執行

sudo add-apt-repository ppa:webupd8team/java
sudo
apt update sudo apt install openjdk-9-jdk sudo apt -f install

配置JAVA_HOME

vim ~/.bashrc

在檔案中加入

export JAVA_HOME=/usr/lib/jvm/java-9-openjdk-amd64

執行source ~/.bashrc

2.5安裝Hadoop2.9.1

解壓hadoop到/usr/local

sudo tar -zxf hadoop-2.9.1.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.9.1/ ./hadoop
sudo chown -R
hadoop ./hadoop

檢驗Hadoop版本

cd /usr/local/hadoop
./bin/hadoop version

2.6配置Hadoop偽分散式環境

cd /usr/local/hadoop/etc/hadoop/ 

修改core-site.xml

<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

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

進行NameNode格式化
進入/usr/local/hadoop
執行./bin/hdfs namenode -format
啟動NameNode 和 DataNode
./sbin/start-dfs.sh
輸入jps,會出現如下程序
這裡寫圖片描述
說明啟動成功。
關閉Hadoop

./sbin/stop-dfs.sh

2.7配置Yarn

cd /usr/local/hadoop/etc/hadoop

配置mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

編輯

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

配置yarn-site.xml

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

啟動Yarn

./sbin/start-dfs.sh
./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver 

使用jps檢視程序
這裡寫圖片描述
關閉Yarn

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