搭建完全分布式Hadoop集群

简介: 搭建完全分布式Hadoop集群

三台阿里云服务器搭建完全分布式Hadoop集群

1.集群规划

角色分配:
QQ图片20211120123030.png

2.准备环境

阿里云环境:CentOS Hadoop-3.2.2 jdk1.8
Xshell Xftp

打开Xshell

ssh 477.xx.xx

(公网ip)
输入用户名root和密码

点击Xshell上方小图标
image.png

双击返回上一级
image.png

进入usr
image.png

将下载好的hadoop和jdk拖拽过来
等待传输完成
image.png

3.开始搭建

1.SSH无秘钥访问

连接至master

ssh 477.xx.xx,xxx

(外网ip)

修改主机名:

vim /etc/hostsname

image.png

将默认值删掉改为自己角色主机名

关闭防火墙:

systemctl stop firewalld.service

//关闭防火墙

systemctl firewalld.service

//关闭防火墙开机自启动

配置主机映射:

vim /etc/hosts

477.xx.xx.xxx slave1 (外网ip)
477.xx.xx.xxx slave2 (外网ip)
172.xxx.xx.xx master (内网ip)

生成秘钥:

ssh-keygen

//根据提示连敲三下回车

发送秘钥:

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

重启:

reboot

连接至slave1

ssh 477.xx.xx,xxx

(外网ip)

修改主机名:

vim /etc/hostsname

image.png

将默认值删掉改为自己角色主机名

关闭防火墙:

systemctl stop firewalld.service

//关闭防火墙

systemctl firewalld.service

//关闭防火墙开机自启动

配置主机映射:

vim /etc/hosts

477.xx.xx.xxx master(外网ip)
477.xx.xx.xxx slave2 (外网ip)
172.xxx.xx.xx slave1(内网ip)

生成秘钥:

ssh-keygen

//根据提示连敲三下回车

发送秘钥:

ssh-copy-id master
ssh-copy-id slave1
 ssh-copy-id slave2

重启:

reboot

连接至slave2

ssh 477.xx.xx,xxx

(外网ip)
修改主机名:

vim /etc/hostsname

image.png

将默认值删掉改为自己角色主机名

关闭防火墙:

systemctl stop firewalld.service

//关闭防火墙

systemctl firewalld.service

//关闭防火墙开机自启动

配置主机映射:

vim /etc/hosts

477.xx.xx.xxx master(外网ip)
477.xx.xx.xxx slave1 (外网ip)
172.xxx.xx.xx slave2(内网ip)

生成秘钥:

ssh-keygen

//根据提示连敲三下回车

发送秘钥:

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

重启:

reboot

检验:登录三台服务器互相用ssh访问查看是否需要密码

2.配置jdk

连接至master

ssh 477.xx.xx,xxx

(外网ip)

解压jdk和hadoop:

cd /usr
tar -zxvf 文件名

image.png
image.png

更改文件名

mv 旧文件名 新文件名

image.png
image.png

配置java环境变量

vim /etc/profile

export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
image.png

source /etc/profile

//使文件生效

java -version

//查看版本
image.png

登录slave1

ssh slave1

解压jdk和hadoop:

cd /usr
tar -zxvf 文件名

更改文件名
mv 旧文件名 新文件名

vim /etc/profile

export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

//使文件生效

java -version

//查看版本

退出slave1

exit

登录slave2

ssh slave2

解压jdk和hadoop:

cd /usr
tar -zxvf 文件名

更改文件名

mv 旧文件名 新文件名
vim /etc/profile

export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile `js

//使文件生效

java -version

//查看版本

退出slave2

exit







3.配置hadoop
登录master

ssh 477.xx.xx.xxx

(外网ip)

cd /usr/hadoop/etc/hadoop

vim hadoop-env.sh

export JAVA_HOME=/usr/jdk

vim mapred-env.sh

export JAVA_HOME=/usr/jdk

vim yarn-env.sh

export JAVA_HOME=/usr/jdk

vim core-site.xml

![image.png](https://ucc.alicdn.com/pic/developer-ecology/105788165c4d498f9726721642044473.png)

vim hdfs-site.xml

![image.png](https://ucc.alicdn.com/pic/developer-ecology/94e6dfc7326d437e9ae79e8cb28b962c.png)

vim mapred-site.xml

![image.png](https://ucc.alicdn.com/pic/developer-ecology/51fc7fbfa3904a129d8bff92d2128dc8.png)

vim yarn-site.xml


![image.png](https://ucc.alicdn.com/pic/developer-ecology/83f3520cbf8048f6af968ecf63430a5c.png)



vim workers

![image.png](https://ucc.alicdn.com/pic/developer-ecology/fbcb13b9ae774fe79ab963cefb4d3fd2.png)


cd /usr/hadoop/sbin

vim start-dfs.sh

![image.png](https://ucc.alicdn.com/pic/developer-ecology/e14e69fa89254cb5b5277ece14338c5c.png)

vim stop-dfs.sh

![image.png](https://ucc.alicdn.com/pic/developer-ecology/86f14cf8c9584e96baf3bc3aa5336fab.png)

vim start-yarn.sh

![image.png](https://ucc.alicdn.com/pic/developer-ecology/f1bd250f87314e2aa392e509a7a3267a.png)

vim stop-yarn.sh

![image.png](https://ucc.alicdn.com/pic/developer-ecology/6e1aa7389378462d99cd0f758b942207.png)





将修改的配置同步到slave1和slave2

scp -r /usr/hadoop/etc/hadoop root@slave1:/usr/hadoop/etc/
scp -r /usr/hadoop/etc/hadoop root@slave2:/usr/hadoop/etc/
scp -r /usr/hadoop/sbin root@slave1:/usr/hadoop/
scp -r /usr/hadoop/sbin root@slave1:/usr/hadoop/


master开放端口9000和50070
![image.png](https://ucc.alicdn.com/pic/developer-ecology/d01f5088fd2845609d41609943d00147.png)


格式化Namenode

/usr/hadoop/bin/hdfs namenode -format


启动进程

/usr/hadoop/sbin/start-dfs.sh

ssh root@slave2 /usr/hadoop/sbin/start-yarn.sh


前往master的公网ip加端口号50070查看
477.xx.xx.xxx:50070
相关文章
|
3天前
|
算法 调度
电动汽车集群并网的分布式鲁棒优化调度matlab
电动汽车集群并网的分布式鲁棒优化调度matlab
|
16天前
|
负载均衡 Java 网络架构
【SpringCloud】如何理解分布式、微服务、集群
【SpringCloud】如何理解分布式、微服务、集群
24 1
|
17天前
|
分布式计算 监控 Hadoop
Ganglia监控Hadoop与HBase集群
Ganglia监控Hadoop与HBase集群
|
17天前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
23天前
|
存储 分布式计算 Hadoop
Hadoop集群搭建
Hadoop集群搭建
|
23天前
|
分布式计算 负载均衡 Hadoop
Hadoop集群节点添加
Hadoop集群节点添加
|
23天前
|
存储 分布式计算 Hadoop
Hadoop集群规模扩展
【4月更文挑战第14天】Hadoop集群扩展可通过添加更多节点、垂直扩展(增强单节点资源)和水平扩展(增加节点数量)来实现。关键点包括规划扩展策略、确保集群稳定性和优化配置。注意在扩展过程中要保证数据完整性,并根据需求调整以提升集群性能和效率。
22 1
|
25天前
|
存储 分布式计算 Hadoop
[绝对要收藏]配置hadoop完全分布式环境
[绝对要收藏]配置hadoop完全分布式环境
23 0
|
29天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
57 2
|
29天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。