# VirtualBox+Ubuntu 搭建 Hadoop 集群

本文详细介绍了如何使用VirtualBox和Ubuntu搭建Hadoop集群的过程,包括环境配置、网络设置、静态IP分配、SSH免密码登录、Hadoop安装与配置、环境变量设定等关键步骤。

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

VirtualBox+Ubuntu搭建Hadoop集群(一)

  1. 所需环境:
    • ubuntu
    • Oracle VM VirtualBox
    • jdk: jdk-8u221-linux-x64.tar.gz
    • hadoop:hadoop-2.9.2.tar.gz
  2. Oracle VM VirtualBox 配置网络:需要配置两个网卡,Host-only和Network,比骄坑
    管理——全局——网络:添加NetWork
    在这里插入图片描述
    master——右键设置——网络:能看到两个网卡
    在这里插入图片描述
  3. Ubuntu 静态Ip设置:10.0.2.15为动态获取的Ip,下面的ip为静态显示的,只需要配置下面的静态ip 在这里插入图片描述
    点击编辑链接,编辑有线连接,将ip设置为静态,另一个eth0动态分配就可以,如下:
    在这里插入图片描述
    如下
    在这里插入图片描述
  4. 复制克隆另外两个节点机master1,master2,配置ip和第一台的方法一样,只是静态ip不要重复 ,例如可设置为:

193.192.168.xx.2 hadoop
192.168.xx.3 hadoop1
192.168.xx.4 hadoop2

  1. 要确保物理机和虚拟能互相ping通:

    • 编辑Windows host:c:\Windows\System32\drivers\etc,加上

      193.192.168.xx.2 hadoop
      192.168.xx.3 hadoop1
      192.168.xx.4 hadoop2

    • vi /etc/hosts 加上如上的信息

  2. java环境配置
    使用Filezilla上传文件jdk-8u211-linux-x64.tar.gz到服务器。然后执行:

tar -zxvf jdk-8u211-linux-x64.tar.gz
mv jdk1.8.0_211/ /usr/local/
#添加如下到~/.bash_profile
export JAVA_HOME=/usr/local/jdk1.8.0_211/
export PATH=$PATH:$JAVA_HOME/bin
  1. 免密码登录,就是hadoop可以不用输入密码直接登录hadoop1和hadoop2,登录hadoop
#安装ssh工具
ssh-keygen -b 4096
  1. 拷贝生成的公钥到其他机器上
ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@hadoop
ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@hadoop1
ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@hadoop2

VirtualBox+Ubuntu搭建Hadoop集群(二)

  1. 接着上篇的步骤,安装hadoop,上传hadoop-2.9.2.tar.gz到hadoop
tar -zxvf hadoop-2.9.2.tar.gz
mv hadoop-2.9.2 /usr/local
  1. 设定环境变量
    编辑文件 ~/.bash_profile
export HADOOP_HOME=/usr/local/hadoop-2.9.2/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bash_profile

查看hadoop环境:hadoop -version

  1. hadoop的配置文件:cd /usr/local/hadoop文件夹
  • 配置 slave
cd /usr/local/hadoop/etc/hadoop
vi slaves
加上
hadoop
hadoop1
hadoop2
  • 配置 core-site.xml
<configuration>
   <property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop:9000</value>
   </property>
</configuration>
  • 配置hdfs-site.xml
<configuration>
   <property>
      <name>dfs.namenode.name.dir</name>
      <value>/home/hadoop/data/nn</value>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>/home/hadoop/data/dn</value>
   </property>
   <property>
      <name>dfs.replication</name>
      <value>2</value>
   </property>
</configuration>
  • 文件mapred-site.xml,这个文件不存在,首先需要从模板中复制一份:
cp mapred-site.xml.template mapred-site.xml 
然后配置修改如下:
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
  • 配置yarn-site.xml:
<configuration>
   <property>
      <name>yarn.acl.enable</name>
      <value>0</value>
   </property>
   <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>node-master</value>
   </property>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>
  • 配置hadoop-env.sh
将行
export JAVA_HOME=${JAVA_HOME}
更改为
export JAVA_HOME=/usr/local/jdk1.8.0_211/

配置好后,将 hadoop 上的 Hadoop 文件复制到各个节点上(虽然直接采用 scp 复制也可以正确运行,但会有所不同,如符号链接 scp 过去后就有点不一样了。所以先打包再复制比较稳妥)。

cd /usr/local
sudo tar -zcf ./hadoop.tar.gz ./hadoop
scp ./hadoop.tar.gz hadoop1:/home/hadoop
scp ./hadoop.tar.gz hadoop2:/home/hadoop
在hadoop1上执行:
sudo tar -zxf ~/hadoop.tar.gz -C /usr/local
sudo chown -R hadoop:hadoop /usr/local/hadoop
mdkir -p ~/data/dn
mkdir -p ~/data/nn
在hadoop2上执行:
sudo tar -zxf ~/hadoop.tar.gz -C /usr/local
sudo chown -R hadoop:hadoop /usr/local/hadoop
mdkir -p ~/data/dn
mkdir -p ~/data/nn
  • 格式化HDFS

    `hdfs namenode -``format`
    
  • 启动HDFS

    node-master上运行 start-dfs.sh

  • 使用jps检查各个节点
    node-master

  • 运行Yarn

    node-master 运行 start-yarn.sh

访问hadoop:50070如下:
访问:hadoop:8088/cluster
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值