Hadoop3.x单机安装教程

为什么要搭建单机环境的Hadoop?

  • 以最小化的成本学习和测试Hadoop;
  • 搭建基于Hadoop的上层应用,比如单机Spark环境需要先拥有单机的Hadoop;

如果需要搭建分布式集群环境的Hadoop环境,请参考另外一篇:Hadoop3.x集群安装教程 - (jianshu.com)

一、准备工作

首先从官网下载好Linux的JDK和Hadoop,Apache的软件可以从国内镜像下载,比较快。

然后在阿里云上购买一台1C2G Linux CentOS7.5 X64系统的云服务器(172.23.24.28),然后在其上安装好JDK,假设存放和解压目录都在/root/soft目录下。

#进入JDK所在目录
cd /root/soft

#解压
tar -zxvf jdk-8u65-linux-x64.tar.gz

#配置环境变量
vim /etc/profile
export JAVA_HOME=/root/soft/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile

#验证
[root@iZuf6gmsvearrd5uc3emkyZ soft]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

二、Hadoop配置

假设我们Hadoop的压缩包也是在/root/soft目录下,执行Hadoop的配置工作如下:

#进入目录
cd /root/soft

#解压
tar -zxvf hadoop-3.3.4.tar.gz

#修改hadoop配置文件hadoop-env.sh
cd /root/soft/hadoop-3.3.4/etc/hadoop
vim hadoop-env.sh
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root 
#改成你自己的JAVA_HOME地址
export JAVA_HOME=/root/soft/jdk1.8.0_241

#设置HADOOP环境变量
vim /etc/profile
export HADOOP_HOME=/root/soft/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

然后修改core-site.xml中的配置:



    fs.defaultFS
    hdfs://172.23.24.28:8020




    hadoop.tmp.dir
    /root/data/hadoop




    hadoop.http.staticuser.user
    root




    hadoop.proxyuser.root.hosts
    *



    hadoop.proxyuser.root.groups
    *




    fs.trash.interval
    1440

然后修改hdfs-site.xml中的内容:



    dfs.namenode.secondary.http-address
    172.23.24.28:9868

然后再修改mapred-site.xml配置文件:



  mapreduce.framework.name
  yarn




  mapreduce.jobhistory.address
  172.23.24.28:10020

 


  mapreduce.jobhistory.webapp.address
  172.23.24.28:19888



  yarn.app.mapreduce.am.env
  HADOOP_MAPRED_HOME=${HADOOP_HOME}



  mapreduce.map.env
  HADOOP_MAPRED_HOME=${HADOOP_HOME}



  mapreduce.reduce.env
  HADOOP_MAPRED_HOME=${HADOOP_HOME}

然后再修改yarn-site.xml



    yarn.resourcemanager.hostname
    172.23.24.28



    yarn.nodemanager.aux-services
    mapreduce_shuffle




    yarn.nodemanager.pmem-check-enabled
    false




    yarn.nodemanager.vmem-check-enabled
    false




  yarn.log-aggregation-enable
  true




    yarn.log.server.url
    http://172.23.24.28:19888/jobhistory/logs




  yarn.log-aggregation.retain-seconds
  604800

然后再修改workers配置文件:

172.23.24.28

最后一步,我们需要开通到本机的ssh免密连接服务:

# 生成公钥密钥,全部回车下一步即可
ssh-keygen -t rsa
ssh-keygen -t dsa

ssh-copy-id 172.23.24.28
# 输入登录密码即可
# 然后可以ssh自己试试是否为免密登录了

三、启动Hadoop

首次启动Hadoop集群的时候,我们需要进行Namenode格式化:

hdfs namenode -format

然后就可以一键启动HDFS和YARN了:

[root@node1 ~]# start-all.sh
Starting namenodes on [node1]
Last login: Fri Mar 10 13:33:24 CST 2023 from 172.23.24.28 on pts/2
Starting datanodes
Last login: Fri Mar 10 13:37:42 CST 2023 on pts/0
Starting secondary namenodes [node1]
Last login: Fri Mar 10 13:37:44 CST 2023 on pts/0
Starting resourcemanager
Last login: Fri Mar 10 13:37:53 CST 2023 on pts/0
Starting nodemanagers
Last login: Fri Mar 10 13:38:12 CST 2023 on pts/0

我们发现HDFS集群和YARN集群的角色都启动起来了,然后我们试验一下示例的单词计数:

cd /root/soft/hadoop-3.3.4/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-3.3.4.jar pi 2 4

最后执行成功出来计算结果就OK了,总体来说搭建过程和集群的搭建比较类似,不再赘述。

你可能感兴趣的:(Hadoop3.x单机安装教程)