💡前提:已配置好Java环境(本文使用的Java版本为JDK1.8,Hadoop版本为3.3.0)。
配置SSH免密码
Hadoop启动需要配置SSH免密码,执行如下命令:
# 生成SSH密钥,一路按回车即可
ssh-keygen
# 将SSH密钥写入密钥文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
为了验证是否配置成功,执行如下命令ssh localhost
,如果不需要输入密码就打开了新的SSH会话,则代表配置成功。
准备Hadoop
下载Hadoop
前往Apache Hadoop官网下载hadoop-3.3.0.tar.gz
解压Hadoop
将下载好的Hadoop解压到安装目录,这里以usr/local
为例。
sudo tar -zxvf hadoop-3.3.0.tar.gz -C /usr/local
配置环境变量
根据使用的Shell在对应的配置文件中写入Hadoop的环境变量,以ZSH为例:
# Hadoop
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
使用如下命令使配置生效:source ~/.zshrc
修改Hadoop配置文件
💡Hadoop的配置文件存储在
$HADOOP_HOME/etc/hadoop/
目录下。
修改hadoop-env.sh
,添加如下内容:
# 这里以实际的JAVA_HOME为准,⚠️注意不要用$JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/
对于伪分布式环境,还需要修改core-site.xml
和hdfs-site.xml
文件。
修改core-site.xml
文件的部分如下:
hadoop.tmp.dir
file:/usr/local/hadoop-3.3.0/tmp
fs.defaultFS
hdfs://localhost:9000
修改hdfs-site.xml
文件的部分如下:
dfs.replication
1
dfs.namenode.name.dir
/usr/local/hadoop-3.3.0/dfs/name
dfs.datanode.name.dir
/usr/local/hadoop-3.3.0/dfs/data
运行Hadoop
初始化NameNode
在启动Hadoop之前,需要首先初始化NameNode
。进入$HADOOP_HOME/bin
目录下,执行如下命令:
hdfs namenode -format
如果没有出现报错信息说明配置成功。
启动Hadoop
进入$HADOOP_HOME/sbin
目录下,出于简便,直接执行如下命令启动全部组件:
./start-all.sh
然后使用jps
命令查看当前Java进程:
56705 DataNode
57027 ResourceManager
57123 NodeManager
56837 SecondaryNameNode
57308 Jps
如果出现了上述几个进程,说明Hadoop已经成功启动。
访问WebUI
通过Hadoop的WebUI可以检查Hadoop是否启动成功,也可以监控运行状况。在浏览器访问http://localhost:9870
,如果能够正常打开Hadoop WebUI,说明Hadoop运行正常。