基于Centos7Hadoop分布式搭建

本文详细介绍了如何在三台虚拟机上搭建Hadoop分布式系统,包括环境变量配置、HDFS和YARN服务设置、免密登录配置等关键步骤,帮助读者快速掌握Hadoop集群部署。

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

Hadoop分布式搭建


以三台虚拟机组成hadoop分布式系统,其中一台master,两台slave,master既是名称节点,也是数据节点,其他都为数据节点。

配置环境变量

将hadoop-3…2.1放在/usr/soft下,并命名hadoop321

将jdk-10放在/usr/soft下,命名jdk10

更改/etc/profile文件

在/etc/profile的最后加上

export JAVA_HOME=/usr/soft/jdk10
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/soft/hadoop321
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

更新环境变量

 . /etc/profile

配置hadoop

1、编辑/usr/soft/hadoop321/etc/hadoop/core-site.xml

<configuration>
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000</value>
 </property>
</configuration>

2、编辑/usr/soft/hadoop321/etc/hadoop/hdfs-site.xml

<configuration>
 <property>
  <name>dfs.replication</name>
  #节点数量
  <value>3</value>
 </property>
 <property>
  <name>dfs.http.address</name>
     #访问ip:端口
  <value>0.0.0.0:5700</value>
 </property>
 <property>
  <name>dfs.namenode.name.dir</name>
     #namenode位置
  <value>file:///root/hadoop/dfs/namenode</value>
 </property>
 <property>
  <name>dfs.datanode.name.dir</name>
     #datanode位置
  <value>file:///root/hadoop/dfs/datanode</value>
 </property>
</configuration>

3、初始化namenode

hdfs name -formate

查看/root/hadoop/dfs目录下是否有namenode目录

若存在,则NameNode初始化成功

若不存在,执行以下命令

cd /tmp
rm -rf *

清除缓存,重新初始化

4、修改用户配置(可选)

hadoop默认不能使用root用户登录(权限过大)

若要使用root用户登录hadoop

需修改/usr/soft/hadoop321/sbin/start-dfs.sh和/usr/soft/hadoop321/sbin/stop-dfs.sh

在开头添加以下代码

HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

5、指定JAVA_HOME

hadoop不会指定的寻找JAVA_HOME需要配置

修改文件/usr/soft/hadoop321/etc/hadoop/hadoop-env.sh

将原先代码

# export JAVA_HOME=

修改为

# export JAVA_HOME=/usr/soft/jdk10

6、开启hdfs服务

执行命令开启服务

start-dfs.sh

输入命令测试

jps

显示jps、datanode、namenode、secondarynamenode四项表示成功

可访问当前ip:5700加入hdfs服务管理界面。(ip通过ip add查看ens33对应的ip)

7、克隆虚拟机

  1. 关闭虚拟机

  2. 右击虚拟机选择管理->克隆

  3. 选择完整克隆(其他不变)

  4. 配置新虚拟机为slave1

  5. 登入新虚拟机,使用命令

    hostnamectl set-hostname slave1
    
    
  6. 输入 ip add查看ip

  7. 重复上面,配置slave2

8、设置master对slave1和slave2的免密登录

  1. 创建密钥

    cd /root/.ssh
    ssh-keygen
    
    

    在.ssh生成

    id_rsa 私钥

    id_rsa.pub 公钥

  2. 发布公钥

    cat id_rsa.pub>>authorized_keys
    
    

    authorized_keys:广而告之文件

  3. 免密登录slave

    在slave中创建目录/root/.ssh

    在master中执行scp authorized_keys root@slave1 slave1的ip:/root/.ssh

    即可在master中使用ssh slave1免密登录slave1

9、分布式hadoop:hdfs

主机名hdfs角色yarn角色
masternamenode、datanoderesourcemanager
slave1datanodenodemanager
slave2datanodenodemanager
域名配置

在三个虚拟机中的/etc/hosts配置域名,在文末加上

192.168.33.129 master
192.168.33.130 slave1
192.168.33.131 slave2

ip是在主机上使用ip add获取

设置集群成员

为三个虚拟机都配置

在/usr/soft/hadoop321/etc/hadoop/workers中添加内容

master
slave1
slave2

修改副本数量

修改/usr/soft/hadoop321/etc/hadoop/hdfs-site.xml

<property>
  <name>dfs.replication</name>
  #节点数量
  <value>3</value>
 </property>

启动hdfs

在master上启动hdfs

hdfs会根据配置启动slave1和slave2

访问hadoop

上传文件

hdfs dfs -put a.txt hdfs://master:9000/root

根据文件上传是否成功判断

浏览master的ip:5700到达hdfs的管理界面,查看DataNode数量是否为3.

若不为3,可考虑先关闭hdfs,使用rm - rf /tmp将slave1和slave2的 /tmp目录下的文件全部删除,执行find / -name VERSION查找datanode相关的信息,全部删除。在启动hdfs

注:因为虚拟机都是克隆的,DataNode的id值都相同,无法在hdfs的管理界面上显示全部。

yarn资源管理器

配置

配置/usr/soft/hadoop321/etc/hadoop/yarn-site.xml(每台)
<configuration>
    <property>
        <name>yarn.nodemanager.aux-serivces</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
</configuration>

配置/usr/soft/hadoop321/etc/hadoop/mapred-site.xml
<configuration>
	<property>
    	<name>mapreduce.framework.name</name>
		<value>yarn</value>
    </property>
</configuration>

若要使用root用户登录,则需要配置yarn-start.sh和yarn-stop.sh
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值