Mac 安裝 Hadoop 教程【避坑指南】

cyberickk發表於2020-10-21

安裝教程

參考 優雅的使用macOS-homebrew-5-安裝大資料hadoop環境

必要工作

  1. homebrew 安裝配置
  2. jdk 安裝配置
  3. ssh無密碼登入配置 參考 Mac下配置ssh無密碼登入遠端伺服器

正式安裝

  1. brew install hadoop
  2. brew list hadoop 找到所在資料夾,下面會用到路徑

list hadoop

配置

  1. 修改配置檔案 core-site.xml
    cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop 不要直接複製,從上面的 list 找到本機對應的資料夾路徑
    vim .core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
        <description>A base for other temporary directories.</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  1. 修改配置檔案 mapred-site.xml
    vim mapred-site.xml
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9010</value>
    </property>
</configuration>
  1. 修改配置檔案 hdfs-site.xml
    vim hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
  1. 格式化 hdfs
    hadoop namenode -format

啟動

cd /usr/local/Cellar/hadoop/3.2.1_1/sbin 不要直接複製,從上面的 list 找到本機對應的資料夾路徑

./start-all.sh

可能會遇到報錯

ssh connect to host localhost port 22: Connection refused

解決辦法:參考 解決mac下 ssh: connect to host localhost port 22: Connection refused

cd ~
ssh localhost
//ssh: connect to host localhost port 22: Connection refused
sudo systemsetup -f -setremotelogin on
 
ssh localhost
//success
Last login: Wed Oct 21 22:03:50 2020

有可能輸入 sudo systemsetup -f -setremotelogin on 後提示

setremotelogin: Turning Remote Login on or off requires Full Disk Access privileges.

那麼就要開啟設定-安全性與隱私-隱私-完全磁碟訪問許可權,把終端的訪問許可權開啟

隱私設定-完全磁碟訪問許可權
重啟終端,繼續啟動 Hadoop

cd /usr/local/Cellar/hadoop/3.2.1_1/sbin 不要直接複製,從上面的 list 找到本機對應的資料夾路徑

./start-all.sh

如果遇到類似的報錯:

datanode is running as process 17424. Stop it first.

先關閉所有程式服務
./stop-all.sh

再重新執行
./start-all.sh

還有問題就重啟終端試試

檢查啟動情況

jps

正常啟動
然後可以訪問如下幾個管理頁面

Resource Manager: http://localhost:9870
JobTracker: http://localhost:8088

JobTracker
安裝完成~~

相關文章