搭建Hadoop集群

Hadoop环境搭建

安装VMware Workstation

安装的版本是workstation pro v15.5.1
软件资源:https://www.nocmd.com/740.html

下载Ubuntu镜像文件,在虚拟机中安装

首先了解一下Vmware虚拟机下三种网络模式配置,可以参考文档《VMware虚拟机三种联网模式》,大致就是:
在这里插入图片描述
首先进入界面会发现多出了两个虚拟网卡,有三种模式:

VMnet0:用于虚拟桥接网络下的虚拟交换机,在这种模式下,虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。所以需要手动为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

VMnet1:用于虚拟Host-Only网络下的虚拟交换机,在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是
Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMwareNetworkAdepterVMnet1虚拟网卡来实现的。此时如果想要虚拟机上外网则需要主机联网并且网络共享。

VMnet8:用于虚拟NAT网络下的虚拟交换机,使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,不需要进行任何其他的配置,只需要主机器能访问互联网即可。这种情况下,主机可以ping通虚拟机,虚拟机也能ping通主机。

网络配置后打开虚拟机

一、 安装之后打不开的问题:

  • VM 与 Device/Credential Guard 不兼容。

    原因:

1、Device Guard或Credential Guard与Workstation不兼容。
2、Windows系统的Hyper-V不兼容导致。

解决办法:

步骤一:禁用Device Guard或Credential Guard:

禁用用于启用Credential Guard的组策略设置。 在主机操作系统上,右键单击“开始” >
“运行”,键入gpedit.msc,然后单击“ 确定”。本地组策略编辑器打开。 转至本地计算机策略 > 计算机配置 > 管理模板>系统 >Device Guard(或者是: 设备防护) > 启用基于虚拟化的安全性。 选择已禁用。
转到“ 控制面板” >“ 卸载程序” >“ 打开或关闭Windows功能”以关闭Hyper-V。 选择不重启。

步骤二:通过命令关闭Hyper-V(控制面板关闭Hyper-V起不到决定性作用,要彻底关闭Hyper-V):

以管理员身份运行Windows Powershell (管理员)(Windows键+X)
运行下面命令并重启电脑:

tianyuzhou /set hypervisorlaunchtype off
  • "无法打开虚拟机 获得所有权失败"解决方案vmware

    原因:

    虚拟机的硬盘和自己电脑的主机是共享硬盘的。当虚拟机使用主机时就会产生一个硬盘锁。如果正常关机或者关闭虚拟机,会自动将这个锁关掉。遇到非正常情况,则会继续存在在硬盘之中。有了这个文件,打开虚拟机软件的时候,系统就会判断该虚拟机为打开状态,使无法运行。
    在这里插入图片描述
    解决方案:

    删除这个文件就好。

    在虚拟机目录下, lck文件。

二、 更新软件源和更新软件

sudo apt-get update
sudo apt upgrade

第一个命令时检查是不是存在新的版本
第二个命令是为了下载源
(sudo是superdo,意思是管理员权限)

三、 克隆并修改主机名

sudo gedit /etc/hostname

三台虚拟机依次叫做master、slaver1、slaver2

查看三台虚拟机的IP地址,并检查是否连通
查看ip地址的命令:ifconfig
确定ip地址后,使用ping命令检查连通(三台主机分别操作)

四、 修改主机映射
sudo gedit /etc/hosts (一定要每一台主机都修改,不然无法连通)

五、 实现主机之间的免密登录

  1. 先给主机和各个虚拟机都安装ssh
sudo apt install ssh
  1. 使用rsa算法生成秘钥和公钥对,放在~/.ssh/id_rsa.pub和id_rsa文件内
ssh-keygen -t rsa
  1. 将id_rsa.pub(公钥)添加到authorized_keys(存放所有公钥)中,实现无密码访问本机
sudo cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
ssh localhost
  1. 将公钥复制到slaver1和saver2上(在主机上操作),将master_key追加到slaver1和saver2上authorized_keys文件夹下(在虚拟机上操作)
scp .ssh/id_rsa.pub xiaolongbao@slaver1 ~/.ssh/master_key
cd ~/.ssh/
cat master_key >> authorized_keys
Ubuntu18.04安装Java
  1. 更新apt package index
sudo apt update
  1. 安装默认的JavaOpenJDK
sudo apt install default-jdk
  1. 确认安装
java -version
# whereis java
# echo $JAVA_HOME  
安装Hadoop

如果VMwareTools不可用,查看教程
如果找不到JAVA_HOME,查看[教程],如下图(https://www.kutu66.com//ubuntu/article_165145)。
在这里插入图片描述

# 把压缩包经过VMwareTools复制粘贴到虚拟机中
# 把hadoop解压到/usr/local/目录下
sudo tar -zxvf hadoop-3.1.2.tar.gz -C /usr/local
# 把hadoop-3.2.1改名为hadoop
Sudo mv hadoop-3.2.1 hadoop
# 安装vim命令
sudo apt-get install vim-gtk
  1. 按照教程一教程二在/etc/profile添加JAVA和HADOOP环境变量;

    !!记得改好之后,一定要再做一次 $ source /etc/profile

  2. 按照教程一修改配置,参数意义如链接;

  3. 将配置好的文件分发的子节点上:
    scp -r /usr/local/hadoop slaver1:/usr/local/

注意:/usr/local/文件夹可能因为有权限设置,不能分发成功,可以先换个位置存放,如xiaolingbao@slaver1:~
然后之后在转移:$ sudo mv ./hadoop /usr/local/

记得给slaver也更改etc/profile文件:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  1. 这样之后应该可以成功查看hadoop版本了
    在这里插入图片描述
启动Hadoop

一、在创建namenode时候,权限不够,报错:Unable to create /usr/local/hadoop/logs. Aborting.

解决方案:

sudo chmod -R 777 /usr/local/hadoop/

在这里插入图片描述

Configured Capacity: 63004459008 (58.68 GB)
Present Capacity: 32342134784 (30.12 GB)
DFS Remaining: 32342052864 (30.12 GB)
DFS Used: 81920 (80 KB)
DFS Used%: 0.00%
Replicated Blocks:
	Under replicated blocks: 0
	Blocks with corrupt replicas: 0
	Missing blocks: 0
	Missing blocks (with replication factor 1): 0
	Low redundancy blocks with highest priority to recover: 0
	Pending deletion blocks: 0
Erasure Coded Block Groups: 
	Low redundancy block groups: 0
	Block groups with corrupt internal blocks: 0
	Missing block groups: 0
	Low redundancy blocks with highest priority to recover: 0
	Pending deletion blocks: 0

-------------------------------------------------
Live datanodes (3):

Name: 192.168.254.128:9866 (master)
Hostname: master
Decommission Status : Normal
Configured Capacity: 21001486336 (19.56 GB)
DFS Used: 24576 (24 KB)
Non DFS Used: 10244354048 (9.54 GB)
DFS Remaining: 9666695168 (9.00 GB)
DFS Used%: 0.00%
DFS Remaining%: 46.03%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Feb 14 09:57:28 PST 2020
Last Block Report: Fri Feb 14 09:47:23 PST 2020
Num of Blocks: 0


Name: 192.168.254.129:9866 (slaver1)
Hostname: slaver1
Decommission Status : Normal
Configured Capacity: 21001486336 (19.56 GB)
DFS Used: 28672 (28 KB)
Non DFS Used: 8105435136 (7.55 GB)
DFS Remaining: 11805609984 (10.99 GB)
DFS Used%: 0.00%
DFS Remaining%: 56.21%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Feb 14 09:57:28 PST 2020
Last Block Report: Fri Feb 14 09:47:11 PST 2020
Num of Blocks: 0


Name: 192.168.254.130:9866 (slaver2)
Hostname: slaver2
Decommission Status : Normal
Configured Capacity: 21001486336 (19.56 GB)
DFS Used: 28672 (28 KB)
Non DFS Used: 9041297408 (8.42 GB)
DFS Remaining: 10869747712 (10.12 GB)
DFS Used%: 0.00%
DFS Remaining%: 51.76%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Feb 14 09:57:28 PST 2020
Last Block Report: Fri Feb 14 09:47:11 PST 2020
Num of Blocks: 0
  1. web查看集群状态

  2. 关闭Hadoop

stop-all.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值