hadoop分布式集群环境搭建

本文介绍了在CentOS系统上使用虚拟机模拟Hadoop分布式集群环境的步骤,包括关闭SELinux、设置网络桥接、配置SSH无密码登录、安装JDK和Hadoop,以及集群的配置和启动。

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

  1. spark环境集群搭建硬件准备
    集群最低需要两台主机,一台作为master,一台作为worker,但由于方面限制,有时只有一台主机,这时我们可以创建一台虚拟机模拟集群环境,现在以centos系统作为演示:

第一步:临时关闭SELinux
在这里插入图片描述

第二步:使用系统自带box安装系统,安装过程省略。进入系统会乱码,重起系统可恢复,暂不支持中文显示。
在这里插入图片描述

第三步:设置桥接模式,使主机和虚拟机能相互ping通。
在这里插入图片描述

  1. 设置hosts文件

第一步:使用ifconfig查看主机和worker节点的ip在这里插入图片描述

第二步:编辑主机和worker节点的hosts文件

sudo vi /etc/hosts
将master和worker节点的机器名和IP添加进去,每个节点主机都要编辑。

在这里插入图片描述

  1. 配置ssh无密码登录本机和访问集群机器

第一步:安装ssh,如果已安装,可跳过此步。

ssh localhost //测试是否已经安装SSH,如果显示登陆则已安装,可跳过此步
sudo apt-get openssh-server  //安装ssh

在这里插入图片描述

第二步:master主机生成ssh公钥并传给worker节点

!!!!!这是在master主机上的操作
ssh-keygen -t rsa 
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub hadoop@worker:/home/hadoop/

在这里插入图片描述
在这里插入图片描述

第三步:修改ssh文件权限使master无密码登陆

!!!!!下面几步是在工作worker主机上进行操作
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  //将master主机传来的公钥添加到认证文件
sudo chmod 700 $HOME
sudo chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
!!!!!上面几步是确保master节点可以无密码登陆worker节点的必要条件,否则每次登陆都需要密码

第四步:修改~/.ssh/config文件配置用户名和主机名

!!!下面操作在master节点上操作,如果没有这个文件,就创建一个
sudo vim ~/.ssh/config
chmod 700 ~/.ssh/config
添加到master和worker节点的机器名和用户名

在这里插入图片描述

第五步:测试连接

ssh worker

在这里插入图片描述

  1. JDK和Hadoop安装配置

第一步:安装JDK

集群每台主机都要安装JDK
java -version  //查看系统是否已经安装JDK。否则进行安装
安装教程请上网查询,很简单。一般系统都自带jdk

在这里插入图片描述

第二步:安装hadoop
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

!!!现在只需在master机器上安装hadoop,配置完把hadoop打包发给各工作节点即可
  sudo tar -zxf ~/下载/hadoop-2.7.3.tar.gz -C /usr/local    # 解压到/usr/local中
  cd /usr/local/
  sudo mv ./hadoop-2.7.3/ ./hadoop            # 将文件夹名改为hadoop
  sudo chown -R hadoop ./hadoop       # 修改文件权限

在这里插入图片描述

编辑~/.bashrc文件,添加如下内容:
sudo vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
修改完保存
source ~/.bashrc  //使修改生效 

第三步:hadoop集群配置,所有修改文件在hadoop的/etc文件夹中
修改workers
在这里插入图片描述
在这里插入图片描述
修改core-site.xml,该文件指定namenode的位置 ,如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中

  <configuration>
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/local/hadoop/tmp</value>
          <description>Abase for other temporary directories.</description>
      </property>
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://master:9000</value>
      </property>
  </configuration>

修改hdfs-site.xml,该文件指定namenode和datanode存放文件的具体路径 ,
配置副本的数量,最小值为3,否则会影响到数据的可靠性

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    </configuration>

修改mapred-site.xml
Mapreduce.framework.name:决定mapreduce作业是提交到 YARN集群还是使用本地作业执行器本地执行

 <configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
  </configuration>

修改yarn-site.xml
Yarn.resourcemanager.hostname:资源管理器所在节点的主机名
Yarn.nodemanager.aux-services:一个逗号分隔的辅助服务列表,这些服务由节点管理器执行。该属性默认为空。

 <configuration>
  <!-- Site specific YARN configuration properties -->
      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
      <property>
          <name>yarn.resourcemanager.hostname</name>
          <value>master</value>
      </property>
  </configuration>

第四步:将hadoop压缩发送给worker各节点

    cd /usr/local/
    tar -zcf ~/hadoop.master.tar.gz ./hadoop
    cd ~
    scp ./hadoop.master.tar.gz worker:/home/hadoop

在这里插入图片描述

第五步:解压master传来的hadoop

    sudo rm -rf /usr/local/hadoop/
    sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
    sudo chown -R hadoop /usr/local/hadoop

第六步:启动hadoop集群

cd /usr/local/hadoop
bin/hdfs namenode -format

如果出现namenode格式化失败,无法创建文件
在这里插入图片描述

执行下面操作即可成功格式化
chown –R hadoop:hadoop /usr/hadoop/tmp
sudo chmod -R a+w /usr/local/hadoop
start-all.sh //启动

在这里插入图片描述

在这里插入图片描述

配置成功!如果还有什么疑问,请在下面留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值