Linux:Hadoop3.2.1环境搭建(单机模式)

参考博客:https://blog.csdn.net/pengjunlee/article/details/104290537
参考视频:https://www.bilibili.com/video/BV11N411d7Zh?p=16

Hadoop的部署方式

Hadoop有以下几种部署的模式,初学使用单机模式会比较简单
在这里插入图片描述

安装准备

依赖jdk,centos安装jdk参考博客

下载Hadoop安装包

下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-3.2.1/
本例中,我下载的是当前最新的稳定版本 hadoop-3.2.1.tar.gz 。

修改HOSTS配置

[hadoop@localhost ~]$ sudo vi /etc/hosts
# 在文件末尾添加一行,在后面的core-site.xml配置会用到
127.0.0.1   hadoopmaster

安装Hadoop

首先,将hadoop-3.2.1.tar.gz 解压至安装目录。

/opt/deployEnvironment/hadoop/hadoop-3.2.1

接下来, 配置Hadoop 环境变量

# 修改环境变量文件
vim /etc/profile

# 追加以下内容
export HADOOP_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1
export PATH=$PATH:${HADOOP_HOME}/bin
export PATH=$PATH:${HADOOP_HOME}/sbin

# 重新加载环境变量
source /etc/profile

尝试输入h然后按tab键看是否有提示hadoop,如果有则表示环境变量配置成功

最后,还需要修改 %HADOOP_HOME%/etc/hadoop/ 目录下面的几个配置文件。

Hadoop集群配置详解

Hadoop集群配置详解
Hadoop core-site.xml配置项整理

hadoop-env.sh

# The java implementation to use.
export JAVA_HOME=/usr/local/jdk1.8.0_211
 
# Location of Hadoop.
export HADOOP_HOME=/usr/local/hadoop-3.2.1

mapred-site.xml

<configuration>
	<property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
			<final>true</final>
			<description>执行MapReduce任务的运行时框架</description>
	</property>
	<property>
			<name>yarn.app.mapreduce.am.env</name>
			<!-- 注意修改,这里为你HADOOP的安装目录 -->
			<value>HADOOP_MAPRED_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1</value>
	</property>
	<property>
			<name>mapreduce.map.env</name>
			<!-- 注意修改,这里为你HADOOP的安装目录 -->
			<value>HADOOP_MAPRED_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1</value>
	</property>
	<property>
			<name>mapreduce.reduce.env</name>
			<!-- 注意修改,这里为你HADOOP的安装目录 -->
			<value>HADOOP_MAPRED_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1</value>
	</property>
</configuration>

core-site.xml

<configuration>
		<!-- hdfs的根目录,后续安装hbase,hbase的配置hdfs的路径要跟这个保持一致 -->
        <property>
                <name>fs.default.name</name>
                <value>hdfs://hadoopmaster:9000</value>
        </property>
</configuration>

hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/dfs/namenode</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/dfs/datanode</value>
        </property>
        <property>
                <name>dfs.http.address</name>
                <value>0.0.0.0:50070</value>
        </property>
</configuration>

启动Hadoop

格式化NameNode

第一次启动HDFS需要先进行格式化,使用如下命令:

# $HADOOP_PREFIX/bin/hdfs namenode -format <cluster_name>
hdfs namenode -format

启动NameNode

[hadoop@localhost ~]$ hdfs --daemon start namenode
[hadoop@localhost ~]$ jps
6355 NameNode
6424 Jps

TIPS:如果启动失败,可以查看%HADOOP_HOME%/logs/ 目录下的日志进行错误排查。

启动DataNode

[hadoop@localhost hadoop-3.2.1]$ hdfs --daemon start datanode
[hadoop@localhost hadoop-3.2.1]$ jps
6544 Jps
6355 NameNode
6477 DataNode

NameNode和DataNode启动之后,在浏览器中输入 http://IP:50070 访问HDFS的管理界面。
在这里插入图片描述

SSH免密码登录配置

linux设置ssh免密登录参考博客

配置SSH免登陆遇到的问题

解决方法
1.需要下载chattr 源码 :https://github.com/posborne/linux-programming-interface-exercises/blob/master/15-file-attributes/chattr.c
2.下载到你电脑上,然后 执行完成以后 生成可执行文件 chattr.out

gcc chattr.c -o   chattr_run.out 

3.然后解除锁定文件

./chattr_run.out     -ia      fileName 

启动Yarn

[hadoop@localhost logs]$ start-yarn.sh
Starting resourcemanager
Starting nodemanagers
[hadoop@localhost logs]$ jps
8872 NameNode
10632 Jps
9257 DataNode
10170 ResourceManager
10284 NodeManager

启动Yarn遇到的问题

将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

start-yarn.sh,stop-yarn.sh顶部也需添加以下:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

检查HDFS

在HDFS上创建文件夹,并且上传文件,检查是否正常。

问题原因:dr.who是Resource Manager UI的用户,主要原因是当前用户对于此路径或此路径下的文件权限不够导致,无法读、写、或者执行等操作。

解决方法:
1.先stop-all.sh,关闭集群
2.修改配置文件core-site.xml,添加如下代码

<property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
</property>

3.重启,start-all.sh
4.测试,成功!

  • 上传接口调用失败
    在这里插入图片描述

问题:F12看浏览器接口是否调用失败,发现报错

解决方法:
1.配置host文件
2.做好服务器防火墙相关设置

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫985

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值