使用VMware基于虚拟机centos7搭建Hadoop集群

前言

首先有一台虚拟机,使用VMware新建一台虚拟机可以参考这里
有时重启虚拟机,虚拟机IP地址会改变,可以参考下面方法:
1.首先查看相关配置
依次点击“编辑—虚拟网络编辑器—VMnet8—NAT设置”
在这里插入图片描述
在这里插入图片描述
记住NAT设置中的子网IP、子网掩码、网关IP三项,接下来配置文件主要是这三项。
2.编辑Linux中的网络配置文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

注:网络配置文件名可能会有不同,在输入到ifcfg时,可以连续按两下tab键,获取提示,比如我的机器 为 ifcfg-ens33

TYPE=“Ethernet”
BOOTPROTO=“static”                                                         #静态连接
NAME=“ens33” 
UUID=“1f093d71-07de-4ca5-a424-98e13b4e9532” 
DEVICE=“ens33” 
ONBOOT=“yes”                                                                   #网络设备开机启动
IPADDR=“192.168.192.130”                                                #192.168.192.x, x为3~255  
NETMASK=“255.255.255.0”                                                #子网掩码 
GATEWAY=“192.168.192.2”                                                  #网关IP

上面#的内容就是你需要修改的,网关IP需要你看上面VM网络配置查看自己刚刚所看到的配置进行相关修改,IP地址可以使用ifconfig查看当前IP地址。
3.重启网络服务

[root@localhost ~]# service network restart

也可以关VM重启
4.测试

[root@localhost ~]# ping www.baidu.com 

ping的通说明配置成功
5.如果 ping www.baidu.com的时候 ,报出
name or service not known 错误,则修改resolv.conf,添加dns服务器

[root@localhost ~]# vim /etc/resolv.conf

在文件中添加如下两行:

nameserver 8.8.8.8
nameserver 8.8.4.4

保存退出,重启服务器,之后再ping一次。

正文

1、卸载openjdk

1.1 查看虚拟机已有的java版本

[root@localhost wxx]# java -version

在这里插入图片描述
1.2 查看openjdk版本

[root@localhost wxx]# rpm -qa | grep jdk

在这里插入图片描述
1.3 除.noarch,其余全部删除

[root@localhost wxx]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
[root@localhost wxx]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
[root@localhost wxx]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
[root@localhost wxx]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64

在这里插入图片描述

2、安装JDK

2.1 官网下载JDK

2.2 新建java文件夹

[root@localhost wxx]# mkdir -p /usr/java

2.3 使用xftp将压缩包拖到用户文件夹下,并解压(看到有文章说可以直接拖到新建的java文件夹下,但我的不可以,有兴趣的小伙伴可以试试)

[root@localhost wxx]# tar -zxvf /home/wxx/jdk-8u221-linux-x64.tar.gz -C /usr/java

2.4 可以看到在java文件夹下,多了一个jdk1.8.0_221文件夹,接下来配置环境变量

[root@localhost wxx]# vim /etc/profile

点击i进入输入模式,在最后面添加以下内容,然后按Esc退出并保存

JAVA_HOME=/usr/java/jdk1.8.0_221
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

2.5 使用source命令使配置生效

[root@localhost wxx]# source /etc/profile

2.6 查看java版本
在这里插入图片描述

3、克隆虚拟机

3.1 右键已有的虚拟机,依次选择 管理-克隆
在这里插入图片描述
3.2 选择下一步
在这里插入图片描述
3.3 默认选项即可,选择下一步

在这里插入图片描述
3.4 默认选项即可,下一步
在这里插入图片描述
3.5 设置虚拟机的名称和位置,点击完成
在这里插入图片描述

4、配置文件(三台虚拟机都需要配置)

4.1 查看虚拟机的ip地址

[root@localhost wxx]# ifconfig

4.2查看机器名称,并修改(三台机器分别修改为hadoop1,hadoop2,hadoop3)

[root@localhost wxx]# hostname
[root@localhost wxx]# hostname hadoop1

4.3 修改/etc/hosts文件内容

[root@localhost wxx]# vim /etc/hosts

将以下内容插入文件中

192.168.192.130   hadoop1
192.168.192.131   hadoop2
192.168.192.132   hadoop3

4.4 检查三台虚拟机是否ping通,以hadoop1为例,都能ping通.

[root@localhost wxx]# ping -c 3 hadoop2
[root@localhost wxx]# ping -c 3 hadoop3

在这里插入图片描述
4.5 配置密钥文件
生成密钥文件,中间需要按一次回车键

[root@localhost wxx]# ssh-keygen -t rsa -P ""

4.6 查看生成的文件,创建authorized_keys 文件,并将三台虚拟机的id_rsa.pub内容全部保存至mater的authorized_keys文件内(这里使用的是比较笨的方法:使用vim打开三台虚拟机的id_ras.pub,将它们依次写入到三台虚拟机的authorized_keys文件内)

[root@localhost wxx]# ls /root/.ssh
[root@localhost wxx]# touch /root/.ssh/authorized_keys
[root@localhost ~]# vim /root/.ssh/id_rsa.pub
[root@localhost ~]# vim /root/.ssh/authorized_keys

在这里插入图片描述
4.7 测试ssh无密码登陆
登陆成功后,记得使用exit退出当前登录

[root@localhost ~]# ssh hadoop2
[root@hadoop2 ~]# exit
[root@localhost ~]# ssh hadoop3
[root@hadoop2 ~]# exit

在这里插入图片描述

5、安装及配置hadoop(三台虚拟机都需要操作)

5.1 新建hadoop文件夹

[root@localhost ~]# mkdir /usr/hadoop

5.2 将下载的hadoop压缩包解压到hadoop文件内,并进入etc目录配置profile文件设置HADOOP_HOME环境变量

# 解压后得到 hadoop-2.6.5.tar.gz
[root@localhost ~]# unzip /home/wxx/hadoop-2.6.5.tar.zip -d /usr/hadoop   
# 解压得到hadoop-2.6.5文件夹
[root@localhost ~]# tar -zxvf /usr/hadoop/hadoop-2.6.5.tar.gz -C /usr/hadoop  
# 删除/usr/hadoop/hadoop-2.6.5.tar.gz包
[root@localhost ~]# rm /usr/hadoop/hadoop-2.6.5.tar.gz      
[root@localhost ~]#  vim /etc/profile
export HADOOP_HOME=/usr/hadoop/hadoop-2.6.5
export PATH=$HADOOP_HOME/bin:$PATH

执行配置文件

[root@localhost wxx]# source /etc/profile

验证环境变量是否配置成功

[root@localhost wxx]# hadoop

在这里插入图片描述
5.3 新建几个文件夹(只在master上操作即可)

[root@localhost wxx]# mkdir  /root/hadoop
[root@localhost wxx]# mkdir  /root/hadoop/tmp
[root@localhost wxx]# mkdir  /root/hadoop/var
[root@localhost wxx]# mkdir  /root/hadoop/dfs
[root@localhost wxx]# mkdir  /root/hadoop/dfs/name
[root@localhost wxx]# mkdir  /root/hadoop/dfs/data

5.4 修改配置文件
修改/usr/hadoop/hadoop-2.6.5/etc/hadoop目录下部分文件
5.4.1 修改core-site.xml,在节点内加入配置

 <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
   </property>
   <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop1:9000</value>
   </property>

5.4.2 修改hadoop-env.sh,将export JAVA_HOME=${JAVA_HOME}改成已安装的jdk路径

export JAVA_HOME=/usr/java/jdk1.8.0_221

5.4.3 修改hdfs-site.xml,在节点内加入配置

<property>
   <name>dfs.name.dir</name>
   <value>/root/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
   <name>dfs.data.dir</name>
   <value>/root/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
<property>
      <name>dfs.permissions</name>
      <value>true</value>
      <description>need not permissions</description>
</property>

5.4.4 新建并且修改mapred-site.xml(默认没有这个文件,只有mapred-site.xml.template),在节点内加入配置

[root@localhost hadoop]# cp /usr/hadoop/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template /usr/hadoop/hadoop-2.6.5/etc/hadoop/mapred-site.xml
[root@localhost hadoop]# vim mapred-site.xml
<property>
    <name>mapred.job.tracker</name>
    <value>hadoop1:49001</value>
</property>
<property>
     <name>mapred.local.dir</name>
     <value>/root/hadoop/var</value>
</property>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>

5.4.5 修改slaves文件,将里面的localhost删除,添加如下内容

hadoop1
hadoop2
hadoop3

5.4.5 修改yarn-site.xml文件,在节点内加入配置

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop1</value>
   </property>
   <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>
   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>
   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>
   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>
   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
        <discription>每个节点可用内存,单位MB,默认8182MB</discription>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
</property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>

6、启动hadoop

6.1 初始化
进入到master(即hadoop1)这台机器的/usr/hadoop/hadoop-2.6.5/bin目录,执行初始化。(初始化只需要进行一次,不要多次初始化)

[root@localhost hadoop]# cd /usr/hadoop/hadoop-2.6.5/bin
[root@localhost bin]# ./hadoop namenode -format

格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件。
6.2 启动集群
进入到master这台机器的/usr/hadoop/hadoop-2.6.5/sbin目录,执行启动命令

[root@localhost bin]# cd /usr/hadoop/hadoop-2.6.5/bin
[root@localhost bin]# ./start-all.sh

7、测试hadoop

7.1 关闭虚拟机上的防火墙

[root@localhost bin]# systemctl stop firewalld.service
[root@localhost bin]# systemctl disable firewalld.service 

7.2 验证
方式一:通过jps验证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方式二:通过浏览器验证
在浏览器上输入:http://192.168.168.130:50070
7.3 关闭集群
进入到master这台机器的/usr/hadoop/hadoop-2.6.5/sbin目录,执行关闭命令

[root@localhost bin]# ./stop-all.sh
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值