云服务器搭建hadoop集群

本文详细介绍了如何在三台CentOS 7.2服务器上搭建Hadoop集群的过程,包括环境准备、配置hostname与hosts文件、增加hadoop用户、配置ssh免密登录、关闭防火墙、创建运行目录、配置相关文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:环境准备
3台服务器配置如下

公网ip 119.29.186.83 内网ip10.104.157.113
公网ip 119.29.250.47 内网ip 10.104.9.181
公网ip 119.29.251.99 内网ip 10.104.196.48
以上全是centos 7.2
安装java
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel //此时所有的机器的java都安装在同一个地方

//所有的机器修改profile文件增加这行代码
export JAVA_HOME=/usr/lib/jvm/java-openjdk

2:配置hostname
在3台机器上分别执行

//主服务器
vim /etc/sysconfig/network

hostname=master
:wq
hostname master
exit
再次ssh登进

//从1
vim /etc/sysconfig/network

hostname=slave1
:wq
hostname slave1
exit
依次类推

3:配置hosts文件

vim /etc/hosts

主服务器如下
10.104.157.113 master
119.29.250.47 slave1
119.29.251.99 slave2
从1
10.104.9.181 slave1
119.29.186.83 master
119.29.251.99 slave2

注意 本机的hostname与内网ip对应
    其他的hostname与外网ip对应
然后依次ping master,ping slave1

4:增加hadoop用户

在各台机器上执行
useradd hadoop
passwd hadoop
并设置密码
vim /etc/sudoers
在root下面复制一行
将root改为hadoop

5:配置ssh免登陆

3台服务器上都执行
ssh-keygen
然后一直回车
主服务器上执行:
 ssh-copy-id hadoop@slave1
 ssh-copy-id hadoop@slave2
从服务器上执行:
 ssh-copy-id hadoop@master
 ssh-copy-id slave1(其他hostname)

6:关闭各机器防火墙

systemctl start firewalld
firewall-cmd --permanent --zone=public --add-port=50070/tcp  //namenode web端口
firewall-cmd --permanent --zone=public --add-port=50070/udp
firewall-cmd --permanent --zone=public --add-port=9000/tcp   //namenode rpc端口
firewall-cmd --permanent --zone=public --add-port=9000/udp
firewall-cmd --permanent --zone=public --add-port=50010/udp  //datanode rpc端口
firewall-cmd --permanent --zone=public --add-port=50010/udp
firewall-cmd --permanent --zone=public --add-port=50075/udp  //下载文件端口
firewall-cmd --permanent --zone=public --add-port=50075/udp
firewall-cmd --permanent --zone=public --add-port=8031/tcp   //nodemanager rpc端口
firewall-cmd --permanent --zone=public --add-port=8031/udp
firewall-cmd --reload 
以上所有端口在namenode和datanode均全部开启
需要什么端口可以自行开放(推荐一种暴力方法)
firewall-cmd --permanent --zone=public --add-port=10-50100/tcp 
firewall-cmd --permanent --zone=public --add-port=10-50100/udp 
firewall-cmd --reload

7:创建运行目录

su hadoop
cd /home/hadoop
mkdir apps
将hadoop解压到apps文件夹下

8:配置文件配置

cd /etc
vim hadoop-env.sh
将JAVA_HOME修改为本机的JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-openjdk

9:公共参数配置

vim core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name> //文件系统
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name> //临时目录
    <value>/home/hadoop/hdpdata</value>
  </property>
</configuration>

10:文件系统配置文件

vim hdfs-site.xml
 <property>
    <name>dfs.replication</name> //副本数量
    <value>2</value>
  </property>

11:mapreduce配置

vim mapreduce-site.xml
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

12:yarn配置

vim yarn-site.xml
 //yarn的主机
 <property>
    <name>yarn.resoucemanager.hostname</name> 
    <value>master</value>
  </property>
  //shuffle服务
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

13:分发

tar -zcvf hadoop-2.7.3.tar.gz hadoop-2.7.3/
scp -r hadoop-2.7.3.tar.gz hadoop@slave1:/home/hadoop/apps
scp -r hadoop-2.7.3.tar.gz hadoop@slave2:/home/hadoop/apps

14:一键脚本启动

cd /etc/hadoop/
vim slaves

然后在namenode上,(仅在namenode上修改slaves文件)
vim slaves (slaves文件在hadoop/etc目录中)
slaves文件内容:
slave1
slave2
之后在namenode上执行命令:
start-dfs.sh
start-yarn.sh
“`
以下为执行结果

最后结果如图:
这里写图片描述
16:动态扩容
直接scp一份到一个服务器,起一个datanode即可
下线一台,由于数据有2份,所以完全不用担心

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值