ubuntu16.04安裝偽分散式Hadoop2.9.1
阿新 • • 發佈:2019-02-19
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