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 (一定要每一台主机都修改,不然无法连通)
五、 实现主机之间的免密登录
- 先给主机和各个虚拟机都安装ssh
sudo apt install ssh
- 使用rsa算法生成秘钥和公钥对,放在~/.ssh/id_rsa.pub和id_rsa文件内
ssh-keygen -t rsa
- 将id_rsa.pub(公钥)添加到authorized_keys(存放所有公钥)中,实现无密码访问本机
sudo cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
ssh localhost
- 将公钥复制到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
- 更新apt package index
sudo apt update
- 安装默认的JavaOpenJDK
sudo apt install default-jdk
- 确认安装
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
-
按照教程一和教程二在/etc/profile添加JAVA和HADOOP环境变量;
!!记得改好之后,一定要再做一次 $ source /etc/profile
-
按照教程一修改配置,参数意义如链接;
-
将配置好的文件分发的子节点上:
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
- 这样之后应该可以成功查看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
-
web查看集群状态
-
关闭Hadoop
stop-all.sh