前置工作
安裝 HomeBrew
參考官方文檔進行安裝
配置本機 ssh 免密登錄
hadoop 運行過程中需要 ssh localhost
,需要做一些配置保證可以執(zhí)行成功
允許遠程登錄
偏好設(shè)置 -> 共享 -> 勾選「遠程登錄」
配置 SSH
- 通過
ssh-keygen
生成 ssh key -
ssh-copy-id -i [key 文件] localhost
配置免密登錄 -
ssh localhost
也只能正配置是否成功
安裝 Hadoop
brew install hadoop
配置
配置環(huán)境變量
brew info hadoop
查看 hadoop 安裝目錄-
定義 HADOOP_HOME 變量并添加到 PATH 中
# Hadoop export HADOOP_HOME=/usr/local/Cellar/hadoop/3.3.4/libexec export PATH=$PATH:HADOOP_HOME
source ~/.zshrc
使變量生效
配置 core-site
$HADOOOP_HOME/etc/hadoop/core-site.xml
文件中配置臨時文件目錄及 hdfs 文件訪問地址
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置 mapped-site
$HADOOOP_HOME/etc/hadoop/mapped-site.xml
中配置
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
</configuration>
配置 hdfs-site
$HADOOOP_HOME/etc/hadoop/hdfs-site.xml
中配置副本數(shù)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置 hadoop-env
$HADOOOP_HOME/etc/hadoop/hadoop-env.sh
中配置 JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home
初始化 HDFS NameNode
hdfs namenode -format
測試與驗證
啟動 hdfs
cd $HADOOP_HOME
../sbin/start-dfs.sh
瀏覽器輸入 http://localhost:9870
份帐,出現(xiàn)下面界面則代表啟動成功
查看 hdfs report
hdfs dfsadmin -report
啟動 yarn
cd $HADOOP_HOME
../sbin/start-yarn.sh
瀏覽器輸入 http://localhost:8088
猜拾,出現(xiàn)下面界面則代表啟動成功
遇到問題及解決
初始化 namenode 時提示
ERROR: JAVA_HOME @@HOMEBREW_JAVA@@ does not exist.
在$HADOOOP_HOME/etc/hadoop/hadoop-env.sh
中配置JAVA_HOME
探入,和系統(tǒng)保持一致即可-
提示
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- 從 GitHub 下載相應(yīng)的 native 庫
- 將 lib/native 復(fù)制到
$HADOOP_HOME
目錄內(nèi) -
~/.zshrc
添加下面配置并使用source
令其生效
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"