优秀的编程知识分享平台

网站首页 > 技术文章 正文

hadoop 3.2.2在centos7上部署安装(单机版)

nanyue 2024-07-26 15:40:23 技术文章 64 ℃

安装环境准备

在安装hadoop 3.2.2之前,必须先安装java环境,请各位自行去安装官网jdk。关闭防火墙,这样安装比较简单。

下载hadoop 3.2.2

去hadoop官方地址下载hadoop 3.2.2(由于头条不允许发连接,请自行百度)

解压tar.gz

把下载好的tar.gz包解压到自己指定的路径

tar -zxvf hadoop-3.2.2.tar.gz -C /usr/local/hadoop-3.2.2

配置hadoop环境变量

vim /etc/profile

加入如下配置:

export HADOOP_HOME=/usr/local/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin

让配置生效:

source /etc/profile

配置hadoop-env.sh

 vim /usr/local/hadoop-3.2.2/etc/hadoop/hadoop-env.sh

找到# The java implementation to use. 这个注释,加入下面一行配置:

export JAVA_HOME=/usr/java/jdk1.8/

配置core-site.xml

vim /usr/local/hadoop-3.2.2/etc/hadoop/core-site.xml

在configuration标签加入下面配置:

<configuration>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>file:///usr/local/hadoop-3.2.2</value>
      <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://172.18.111.104:8888</value>
    </property>
</configuration>

配置hdfs-site.xml

vim /usr/local/hadoop-3.2.2/etc/hadoop/hdfs-site.xml

在configuration标签加入下面配置:

<configuration>
 <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///usr/local/hadoop-3.2.2/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///usr/local/hadoop-3.2.2/tmp/dfs/data</value>
    </property>
    <!--配置web界面ip跟端口-->
	 <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
    </property>
</configuration>

dfs.http.address这个属性在必须配置,不然在浏览器通过http://主机ip:50070访问不了.

设置SSH免密码登录

创建sshkey

ssh-keygen -t rsa

接下来就一直按回车默认就好了.

再执行下面命令:

cd ~/.ssh
cat id_rsa.pub>>authorized_keys

验证是否可以免密登录

ssh localhost

启动与停止

第一次启动hdfs需要格式化:

cd /usr/local/hadoop-3.2.2
./bin/hdfs namenode -format

接下来全部输Y即可

启动hdfs:

./sbin/start-dfs.sh

停止hdfs:

./sbin/stop-dfs.sh

备注:如果启动出现but there is no HDFS_NAMENODE_USER defined.Aborting operation.看下面解决方案

解决方法:
在Hadoop安装目录下找到sbin文件夹
在里面修改四个文件
1.对于start-dfs.sh和stop-dfs.sh文件,添加下列参数:

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

2.对于start-yarn.sh和stop-yarn.sh文件,添加下列参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

最后再启动一次,就解决问题了

./sbin/start-dfs.sh

验证,浏览器输入:http://主机IP:50070

简单的验证hadoop命令:

hadoop fs -mkdir /test

在浏览器查看,出现如下图所示,就说明成功

配置mapred-site.xml

cd /usr/local/hadoop-3.2.2/etc/hadoop
vim mapred-site.xml

在configuration标签加入下面配置:

<configuration>
    <!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置yarn-site.xml

vim yarn-site.xml

在configuration标签加入下面配置:

<configuration>
    <!-- reducer取数据的方式是mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

yarn启动与停止

启动:

cd /usr/local/hadoop-3.2.2
./sbin/start-yarn.sh

停止:

./sbin/stop-yarn.sh

在浏览器查看:http://主机ip:8088

使用jps命令验证:

到此,hadoop单机模式就配置成功了!

最近发表
标签列表