hadoop分布式搭建

embedded/2024/12/22 23:25:33/

hadoop分布式搭建步骤:

第一步:

比如准备三台虚拟机,分别命名为master、node1、node2,并且确保都配置了java环境 ,都关闭了防火墙,都设置了静态的IP地址,然后三台虚拟机的hosts文件都互相映射,在本地windows上也有映射。最后进行时间同步、时区调整

具体操作如下:

1、时间同步

ntpdate ntp.aliyun.com

2、调整时区

timedatectl set-timezone Asia/Shanghai

 3、配置相同的java环境

3.1将下载好的jdk进行解压,然后打开配置文件

vim /etc/profile

3.2配置环境变量

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=.:$PATH:$JAVA_HOME/bin

3.3让环境变量生效

source /etc/profile

3.4检查java是否安装成功

java            判断环境变量是否配置成功
java -version   显示java版本

 4、修改主机名

hostnamectl set-hostname 主机名

5、关闭防火墙

systemctl stop firewalld
  • 查看防火墙状态:systemctl status firewalld

  • 取消防火墙自启:systemctl disable firewalld

6、静态IP配置

6.11、编辑网络配置文件

vim /etc/sysconfig/network-scripts/ifcfg-网络名称

6.12修改网络配置文件

# 需要根据自身情况修改: 
# IPADDR(根据自己的网段,自定义IP地址,三台虚拟机不能使用相同IP)
# GATEWAY(根据自己的网段填写对应的网关地址)
# DNS1 (同网关地址保持一致即可)
# 其他直接使用下列配置
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.190.100
GATEWAY=192.168.190.2
NETMASK=255.255.255.0
DNS1=192.168.190.2
DNS2=223.6.6.6

6.13 关闭NetworkManager,并取消开机自启

避免每次重新打开或重启虚拟机时ip地址的变动,我们需要关闭NetworkManger

systemctl stop NetworkManager
systemctl disable NetworkManager

6.14重启网络服务

systemctl restart network

7、相互映射

打开hosts文件,进行设置

vim /etc/hosts

第二步:

配置好上面的第一步,接下来我们就开始设置免密登录,这样master在每次远程连接node1和node2的时候就不用输入密码了,我们不需要让三台都能互相连接,只需要master连接node1,node2,和master连接master。

最注意的是:master一定要连接master,就是与自身相连,不然在启动hadoop集群的时候,会发现缺少Namenode节点,也就无法打开hdfs和yarn平台

1、生成密钥

ssh-keygen -t rsa

1.1查看公钥

cd ~/.ssh/

2、配置免密登录

也就是向master、node1、node2分发生成的公钥

ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2

公钥生成后,1、可以用copy语句,让node1和node2都直接复制.ssh文件,语句:ssh-copy-id node1,master中的秘钥位置:cd ~/.ssh/

                       2、如果不能使用copy命令,也可以手动的分别在node1和node2主机中创建一个.ssh文件,然后将master的公钥内容直接复制粘贴过来,从而完成配置。

3、测试免密登录

# 从master分别登录node1、node2,还有自己本身master
# 第一次连接登录都需要密码,检查第二次是否还需要密码,如不需要则免密登录配置成功
ssh node1
ssh node2
ssh master

第三步:Hadoop集群搭建

从这一步开始,进行集群的配置和搭建。修改三台主机的配置文件vim /etc/profile,配置hadoop的环境变量,因为hadoop使用java编写的,所以配置之前先安装好java的环境变量,然后在配置hadoop环境变量

1、上传安装包并解压

1.1这里我上传到package包下

cd /urs/local/soft/packages/

1.2解压

tar -zxvf hadoop-3.1.1.tar.gz -C /usr/local/soft/

2、配置环境变量

注意:三台虚拟机都需要修改

2.1打开配置文件

vim /etc/profile

2.2增加以下配置

HADOOP_HOME=/usr/local/soft/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

2.3重新加载环境变量

source /etc/profile

3、修改Hadoop配置文件

3.1切换到配置文件所在目录

cd /usr/local/soft/hadoop-3.1.1/etc/hadoop/

3.2修改Hadoop的配置文件:先找到修改文件的位置

通过下图发现要修改6个配置文件

 3.3通过vim编辑并修改下列配置文件

hadoop-env.sh

# 在内容最后加入以下配置
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
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

 workers

node1
node2

后面的配置都放到文件的<configuration>  </configuration>里面

core-site.xml

 <property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/soft/hadoop-3.1.1/data</value></property><property><name>fs.trash.interval</name><value>1440</value></property>

hdfs-site.xml

<property><name>dfs.replication</name><value>1</value></property><property><name>dfs.permissions</name><value>false</value></property>

mapred-site.xml

<property><name>mapreduce.framework.name</name><value>yarn</value></property><property>  <name>mapreduce.jobhistory.address</name>  <value>master:10020</value>  </property>  <property>  <name>mapreduce.jobhistory.webapp.address</name>  <value>master:19888</value>  </property> <property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property>

yarn-site.xml

  <property><name>yarn.resourcemanager.hostname</name><value>master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property><property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value></property>

4、分发Hadoop到node1、node2

配置好master的hadoop的后,直接scp命令进行分发,分发到node1和node2. 命令:scp -r /usr/local/soft/hadoop-3.1.1/ node1:`pwd`,或者去这个soft目录下:scp -r hadoop-3.1.1/ node1:`pwd`

分发命令:

cd /usr/local/soft/
scp -r hadoop-3.1.1/ node1:`pwd`
scp -r hadoop-3.1.1/ node2:`pwd`

5、格式化namenode

只需在第一次启动的时候在Master节点上执行

hdfs namenode -format

6、启动Hadoop集群

start-all.sh
#单独启动:
start-yarn.sh
start-dfs.sh

7、检查master、node1、node2上的进程

master:

[root@master soft]# jps
2597 NameNode
2793 SecondaryNameNode
2953 ResourceManager
3215 Jps

node1:

[root@node1 jdk1.8.0_171]# jps
11361 DataNode
11459 NodeManager
11559 Jps

node2:

[root@node2 ~]# jps
11384 DataNode
11482 NodeManager
11582 Jps

8、访问HDFS的WEB界面

注意新版本的端口由50070变成了9870

打开浏览器输入地址:

http://master:9870

9、访问YARN的WEB界面

http://master:8088

完成以上步骤,到此Hadoop分布式集群搭建就完成了。

以下是Hadoop集群重置的一些命令:

Hadoop集群重置

1、停止集群

stop-all.sh# 若进程停不掉 可直接使用进程号进行kill

2、删除所有节点上hadoop产生的数据文件

        注意:三台都要执行 ,删除data文件

cd /usr/local/soft/hadoop-3.1.1
rm -rf data/

3、重新格式化namenode

hdfs namenode -format

4、启动集群

start-all.sh

5、查看元数据

查看分布式存储文件大小


http://www.ppmy.cn/embedded/112088.html

相关文章

Jenkins生成html报告

下载插件 1.需要下载插件 html Publisher plugins 2.下载Groovy(设置css样式&#xff09;&#xff0c;默认没有css样式 在Job配置页面&#xff0c;增加构建步骤Execute system Groovy script&#xff0c;在Groovy Command中输入上面命令&#xff0c;即可&#xff1a; System.…

【计算机网络】UDP TCP介绍

UDP & TCP介绍 UDP报文格式报文内容介绍端口号报文长度校验和载荷 TCP报文格式初步了解TCP机制确认应答超时重传连接管理滑动窗口流量控制拥塞控制紧急传输数据推送延时应答捎带应答面向字节流异常处理心跳机制 UDP 和 TCP 的区别 UDP 报文格式 对于网络协议, 本质上就是…

在 Mac 上安装双系统会影响性能吗,安装双系统会清除数据吗?

在 Mac 系统安装并使用双系统已经成为了许多用户办公的选择之一&#xff0c;双系统可以让用户在 Mac 上同时运行 Windows 或其他操作系统。然而&#xff0c;许多用户担心这样做会对 Mac 的性能产生影响。 接下来将给大家介绍 Mac 装双系统会影响性能吗&#xff0c;Mac装双系统…

【CSS in Depth 2 精译_029】5.2 Grid 网格布局中的网格结构剖析(上)

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…

使用 RabbitMQ 实现秒杀订单系统的异步消息处理

使用 RabbitMQ 实现秒杀订单系统的异步消息处理 在秒杀系统中&#xff0c;如何确保高并发环境下的订单处理稳定高效是个很大的挑战。为了解决这个问题&#xff0c;我们通常会引入消息队列&#xff0c;通过异步处理来削峰填谷。这篇文章将详细讲解如何使用 RabbitMQ 来设计一个…

数据结构 1

1.什么是数据结构 数据结构&#xff08;Data Structure&#xff09;是计算机存储和组织数据的方式&#xff0c;是指相互之间存在的一种或多种特定关系的数据元的集合。 2.什么是算法 算法&#xff08;Algorithm&#xff09;就是定义良好的计算过程&#xff0c;他取一个或一组…

JAVA实现压缩包解压兼容Windows系统和MacOs

目标&#xff1a;JAVA实现压缩包解压获取图片素材 问题&#xff1a;Windows系统和MacOs压缩出来的zip内容有区别 MacOs会多出来 以及本身一个文件夹 而windows则不会。为了解决这个问题。兼容mac的压缩包增加一层过滤 要知道 ZipInputStream 可以读取 ZIP 文件中的条目&…

亚数TrustAsia亮相第十四届智慧城市与智能经济博览会,入围“2024数据要素创新应用优秀成果”!

智博会 2024年9月6日至8日&#xff0c;由宁波市人民政府、浙江省经济和信息化厅、中国信息通信研究院、中国电子信息行业联合会、中国电信、中国移动、中国联通主办的2024世界数字经济大会暨第十四届智慧城市与智能经济博览会&#xff08;以下简称“智博会”&#xff09;在宁波…