IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> hadoop3.3.0安装详解 -> 正文阅读

[大数据]hadoop3.3.0安装详解

目录

一、Hadoop3.3安装

1.1下载hadoop

1.2解压hadoop

1.3新建目录

1.4修改hadoop配置文件

1.5修改/etc/profile

二、启动hadoop

2.1hadoop初始化

2.2启动hadoop

三、测试hadoop

四、使用hadoop


?背景本地vmware安装三台centos7的虚拟机,主机名和ip地址分别为hserver1:192.168.127.128;hserver2:192.168.127.129;hserver3:192.168.127.130,并实现免密登录,安装JAVA和hadoop3.3.0,详细安装过程如下。安装过程中参考了下面这个hadoop2.8的链接。hadoop3.x和hadoop2.8的部分特性不一样,配置文件内容也不同。

https://blog.csdn.net/pucao_cug/article/details/71698903

1.1下载hadoop

网址http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.0

?

?

?

1.2解压hadoop

注意: 3台机器上都需要重复下面所讲的步骤。

上载文件并解压缩

在opt目录下新建一个名为hadoop的目录,并将下载得到的hadoop-3.3.0.tar上载到该目录下,如图:

进入到该目录,执行命令:

cd?? /opt/hadoop

执行解压命令:

tar -zxvf hadoop-3.3.0.tar.gz

说明:3台机器都要进行上述操作,解压缩后得到一个名为hadoop-3.3.0的目录。

?

1.3新建目录

在三台机器上分别新建目录

mkdir /root/hadoop

mkdir /root/hadoop/tmp

mkdir /root/hadoop/var

mkdir /root/hadoop/dfs

mkdir /root/hadoop/dfs/name

mkdir /root/hadoop/dfs/data

1.4修改hadoop配置文件

?修改/opt/hadoop/hadoop-3.3.0/etc/hadoop目录内的

1.4.1修改core-site.xml

使用vim命令

?

在<configuration>节点加入以下配置

<property>

???? <name>hadoop.tmp.dir</name>

???? <value>/root/hadoop/tmp</value>

???? <description>Abase for other temporary directories.</description>

?</property>

?<property>

???? <name>fs.default.name</name>

???? <value>hdfs://hserver1:9000</value>

?</property>

?

1.4.2修改hadoop-env.sh

去掉注释,改成自己的java的路径

?

?

1.4.3修改hdfs-site.xml

在<configuration>节点内加入配置:

<property>

???<name>dfs.name.dir</name>

???<value>/root/hadoop/dfs/name</value>

???<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>

</property>

<property>

???<name>dfs.data.dir</name>

???<value>/root/hadoop/dfs/data</value>

???<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>

</property>

<property>

???<name>dfs.replication</name>

???<value>2</value>

</property>

?

1.4.4修改mapred-site.xml

在<configuration>中加入以下配置

?<property>

?? ?<name>mapred.job.tracker</name>

?? ?<value>hserver1:49001</value>

</property>

<property>

? ? ??<name>mapred.local.dir</name>

? ? ? ?<value>/root/hadoop/var</value>

</property>

<property>

? ? ? ?<name>mapreduce.framework.name</name>

? ? ? ?<value>yarn</value>

</property>

?

1.4.5修改workers

将workers里面的localhost删掉,将hserver1作为namenode将hserver2和hserver3作为datanode,修改后如下

更新:worker配置信息更改为

hserver1

hserver2

hserver3

1.4.6修改yarn-site.xml

在<configuration>中加入以下配置

<property>

??????? <name>yarn.resourcemanager.hostname</name>

??????? <value>hserver1</value>

?? </property>

?? <property>

??????? <description>The address of the applications manager interface in the RM.</description>

??????? <name>yarn.resourcemanager.address</name>

??????? <value>${yarn.resourcemanager.hostname}:8032</value>

?? </property>

?? <property>

??????? <description>The address of the scheduler interface.</description>

??????? <name>yarn.resourcemanager.scheduler.address</name>

??????? <value>${yarn.resourcemanager.hostname}:8030</value>

?? </property>

?? <property>

??????? <description>The http address of the RM web application.</description>

??????? <name>yarn.resourcemanager.webapp.address</name>

??????? <value>${yarn.resourcemanager.hostname}:8088</value>

?? </property>

?? <property>

??????? <description>The https adddress of the RM web application.</description>

??????? <name>yarn.resourcemanager.webapp.https.address</name>

??????? <value>${yarn.resourcemanager.hostname}:8090</value>

?? </property>

?? <property>

??????? <name>yarn.resourcemanager.resource-tracker.address</name>

??????? <value>${yarn.resourcemanager.hostname}:8031</value>

?? </property>

?? <property>

??????? <description>The address of the RM admin interface.</description>

??????? <name>yarn.resourcemanager.admin.address</name>

??????? <value>${yarn.resourcemanager.hostname}:8033</value>

?? </property>

?? <property>

??????? <name>yarn.nodemanager.aux-services</name>

??????? <value>mapreduce_shuffle</value>

?? </property>

?? <property>

??????? <name>yarn.scheduler.maximum-allocation-mb</name>

??????? <value>1024</value>

???? ???<discription>每个节点可用内存,单位MB,默认8182MB</discription>

?? </property>

?? <property>

??????? <name>yarn.nodemanager.vmem-pmem-ratio</name>

??????? <value>2.1</value>

?? </property>

?? <property>

??????? <name>yarn.nodemanager.resource.memory-mb</name>

?????? ?<value>1024</value>

</property>

?? <property>

??????? <name>yarn.nodemanager.vmem-check-enabled</name>

??????? <value>false</value>

</property>

?????? 说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。

将以上6个文件复制到hserver2和hserver3的/opt/hadoop/hadoop-3.3.0/etc/hadoop目录进行覆盖

1.5修改/etc/profile

在/etc/profile中添加hadoop的目录,否则在后续启动hadoop后会找不到hadoop命令

在/etc/profile中添加下面的命令

HADOOP_HOME=/opt/hadoop/hadoop-3.3.0

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

?然后 执行

source /etc/profile

参考

https://www.itdaan.com/blog/2016/08/10/59922dc7d73f486fe08a36ebb3310192.html

二、启动hadoop

2.1hadoop初始化

hserver1是namenode,hserver2和hserver3是datanode,对namenode进行初始化

进入/opt/hadoop/hadoop-3.3.0/bin目录执行初始化命令

./hadoop ?namenode ?-format

不报错的情况下会出现以下内容,运行成功

在/root/hadoop/dfs/name/current目录下可以看到产生了以下文件

?

2.2启动hadoop

进入/opt/hadoop/hadoop-3.3.0/sbin目录执行启动命令

./start-all.sh

出现以下报错

ERROR: Attempting to operate on hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

Starting datanodes

ERROR: Attempting to operate on hdfs datanode as root

ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.

Starting secondary namenodes [hserver1]

ERROR: Attempting to operate on hdfs secondarynamenode as root

ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

Starting resourcemanager

ERROR: Attempting to operate on yarn resourcemanager as root

ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.

Starting nodemanagers

ERROR: Attempting to operate on yarn nodemanager as root

ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

参考以下两个链接:

https://blog.csdn.net/qq_32635069/article/details/80859790?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

https://blog.csdn.net/weixin_33747129/article/details/94654752

2.2.1worker配置信息修改

最终修改了hserver1,hserver2,hserver3的worker的配置信息

更新:worker配置信息更改为

hserver1

hserver2

hserver3

2.2.2修改启动和停止配置

修改hserver1的start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh

将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

修改后在hserver1上重新进行初始化

进入/opt/hadoop/hadoop-3.3.0/bin目录执行初始化命令

./hadoop ?namenode ?-format

?

再进入/opt/hadoop/hadoop-3.3.0/sbin目录执行启动命令

./start-all.sh

如果继续提示某个用户未定义,再次检查上述四个配置文件有没有敲错字母

三、测试hadoop

关闭linux防火墙

systemctl stop firewalld.service

?

开机不自动启动防火墙

systemctl disable firewalld.service

不然每次都要关闭防火墙才能看到管理的web界面

我的namenode是hserver1,ip地址是192.168.127.128

在浏览器打开http://192.168.127.128:9870/

http://192.168.127.128:8088/

四、使用hadoop

命令行输入

hadoop fs -ls

提示

?原因是因为-ls默认目录是在hdfs文件系统的/user/用户名(用户名就命令行@符号前面的那个东西),但是你的hdfs系统内没有这个文件夹,所以会显示No such file or directory。

所以你需要在hdfs文件系统内创建

使用

hdfs -dfs mkdir /user

hdfs dfs -mkdir /user/root

?

在这个目录下新建一个文件,然后执行命令查看

hdfs dfs -touchz test.txt

Hadoop fs -ls

?

参考https://blog.csdn.net/binbin_09_10/article/details/83382958

使用input将本地文件放到hadoop上

?

使用get将hadoop上的文件放到本地

hadoop fs -get /user/root/input/test.txt /home/dcf/

查看资源占用情况

hdfs dfsadmin -report

最后,安装中遇到了各种各样的问题,感谢文中链接部分的作者,筛选了适合我这种安装方式的答案链接,详情可查看链接作者。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:28:56  更:2021-08-11 12:30:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:28:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码