下载与安装Hadoop

前往官网下载Hadoop 3.3.1压缩包,页面如下:

image-20210813193200701

点击tar.gz文件,等待下载结束。

下载结束后,开启Terminal,前往Hadoop压缩包的存储目录,并将其解压到指定目录下(目录可以换,且可以手动复制)。命令如下:

cd ~/Downloads
tar -zxf hadoop-3.3.1.tar.gz -C /usr/local/Cellar

然后进入解压目录,将文件名重命名为hadoop

cd /usr/local/Cellar
mv hadoop-3.3.1 hadoop

配置Mac OS环境变量

为了方便执行hadoop程序,可以通过编辑~/.bash_profile文件为hadoop添加环境变量。使用Mac自带的vim编辑器修改文件:

vim ~/.bash_profile

在文件最后添加如下内容(直接复制粘贴即可,需要注意HADOOP_HOME的值为hadoop的实际存储根目录):

export HADOOP_HOME=/usr/local/Cellar/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

配置Hadoop

Hadoop的配置总共需要修改四个文件core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml

首先前往这四个配置文件的存放目录:

# 当前目录为Hadoop根目录
cd etc/hadoop

然后通过vim编辑器修改上述四个文件的<configuration>如下:

  • core-site.xml:其中hadoop.tmp.dir必须是实际存在的目录,如果不存在则需要自己创建。hadoop.proxyuser.Ray.hosts中的Ray则是计算机登陆账户的用户名。hadoop.proxyuser.Ray.groups同理,自行修改。
<configuration>
      <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
      </property>
      <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/usr/local/Cellar/hadoop/tmp</value>
      </property>
      <property>
            <name>hadoop.proxyuser.Ray.hosts</name>
            <value>*</value>
      </property>
      <property>   
            <name>hadoop.proxyuser.Ray.groups</name>
            <value>*</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/Cellar/hadoop/tmp/dfs/name</value>
      </property>
      <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/usr/local/Cellar/hadoop/tmp/dfs/data</value>
      </property>
</configuration>
  • yarn-site.xml
<configuration>
      <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
      </property>
      <property>
            <name>yarn.nodemanager.env-whitelist</name>
            <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
      </property>
</configuration>
  • mapred-site.xml
<configuration>
      <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
      </property>
      <property>
            <name>mapreduce.application.classpath</name>
            <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
      </property>
</configuration>

设置免密登录

首先测试是否能够通过SSH免密登陆本机。

ssh localhost

如果不能,依次执行如下三条命令设置免密登陆:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

格式化HDFS文件系统

在确保完成以上步骤后,可以格式化HDFS文件系统:

  • 如果已经配置了环境变量:在任意目录下执行如下命令即可

    hdfs namenode -format
  • 如果没有配置环境变量:首先需要进入hadoop/bin目录,然后执行上述命令即可

    格式化成功后,能够在Terminal打印输出中查找到successfully formatted字样。

开启与关闭Hadoop集群

通过以上步骤,便已经完成了MacHadoop 3.3.1的安装与配置。

下面开启Hadoop集群:

  • 如果已经配置了环境变量:在任意目录下执行如下命令即可

    # 方法一:依次开启hdfs和yarn
    start-dfs.sh
    start-yarn.sh
    # 方法二:同时开启hdfs和yarn,此方法在配置了Spark环境变量后会与Spark的服务开启命令冲突
    start-all.sh
  • 如果没有配置环境变量:首先需要进入hadoop/sbin目录,然后执行上述命令即可(此情况下start-all.sh不会与Spark冲突)

    输入命令jps,可以查看Hadoop集群是否正常开启:

img

如果输出内容相比上图有缺失,则说明有服务没有正常开启。否则则说明Hadoop集群已经正常开启运行。

在浏览器输入localhost:9870可以访问hadoop文件系统:
img

如果是Hadoop 2.X版本,则链接为http://localhost:50070/

在浏览器输入localhost:8088可以访问资源调度系统:

img

关闭Hadoop集群:

stop-all.sh


大数据 Hadoop

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!