虚拟机中安装Hadoop
1.首先你已经安装好了VMware虚拟机,出错的看我这篇博客:
2.配置Hadoop必须有Java环境,方便忘记操作,建议首先配置Java环境,上篇博客已经详细介绍过,未安装的看这篇:
后面在介绍一次
3.虚拟机打开终端,使用NAT模式,更新yum源,并使用yum安装net-tools,命令:
yum upgrade
yum -y install net-tools
此过程可能需要等会时间,莫急!
4. 查看虚拟机ip、Mac地址【enter后面】,复制下来,命令:
ifconfig
我这是修改后的
5.虚拟机中点击【编辑】-【虚拟网络编辑器】-【NAT模式】-【DHCP设置】,查看起始与结束ip,然后修改ens33网卡配置文件,命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改为如下内容:
【BOOTPROTO中的dhcp修改为static
ONBOOT中的no修改为yes
子网掩码默认设置为255.255.255.0
网关的值为将ip地址中最后一段的值改为2
DNS使用免费dns1:8.8.8.8】
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #修改
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="612e2009-653a-4506-8bfa-33926ff1b08a"
DEVICE="ens33"
ONBOOT="yes" #修改
#追加后面
HWADDR=" 00:0c:29:2a:28:b1" #你的Mac
IPADDR="192.168.138.130"
GATEWAY="192.168.138.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
注意:HWADDR是刚才让你复制的自己裸机Mac地址,这个必须写对, IPADDR必须是在你的DHCP设置中的ip起始到结束的范围内,而且要注意,尽量不要与别人的一样,不然后面不成功!!!
6.重启网络服务,查看是否配置成功,并进行ping百度测试是否成功,命令:
systemctl restart network
ping www.baidu.com
下图即为成功
注意:如果重启网卡报错,看我这篇博客:
7.重启虚拟机后,查看是否连通网络,命令:
reboot
ifconfig
ping www.baidu.com
我们发现,ens33中的ip已经变化, ping百度也会成功。
注意:这里必须要ping的通百度,说明网络已连接,如果出错ping不通百度,解决方案:
8.关机虚拟机,进行克隆,右键虚拟机-管理-克隆
从虚拟机的当前状态, 点击下一页,创建完整克隆
命名并存放,建议一个文件夹并将原来的虚拟机改为hadoop01,重命名的为hadoop02和haoop03
点击完成,完成后关闭
9. 按步骤8再次进行克隆hadoop03,开启虚拟机hadoop02和hadoop03,分别修改主机名为hadoop02和hadoop03,命令:
#hadoop02虚拟机
hostnamectl set-hostname hadoop02
reboot
#hadoop03虚拟机
hostnamectl set-hostname hadoop03
reboot
10.修改hadoop02的网络配置文件,命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改为:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="612e2009-653a-4506-8bfa-33926ff1b08a"
DEVICE="ens33"
ONBOOT="yes"
#追加
HWADDR="00:0c:29:60:12:8f"
IPADDR="192.168.138.131"
GATEWAY="192.168.137.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
注意:HWADDR是ens33后出现的Mac地址,IPADDR与前面的不要一样且在dhcp网段内,网关默认后面一位是2
可能你ifconfig后没有出现ens33,或者重启网卡报错
看这篇:
同理,配置hadoop03,按照步骤10操作,注意修改HWADDR和IPADDR
11.三台虚拟机都要修改hosts配置文件,hadoop01、hadoop02、hadoop03依次进行,命令:
vi /etc/hosts
修改为:
12. 设置ssh免密登录,在每台虚拟机上执行如下命令;
ssh-keygen
注意:需要输入一个“y”
此时密钥已经生成,在每台虚拟机上用以下命令复制到hadoop01上:
ssh-copy-id hadoop01
使用如下命令在hadoop01查看,可以看到密钥来源【建议移动一次查看一次】:
cat ~/.ssh/authorized_keys
在复制成功之后,我们使用以下命令分配秘钥给hadoop02,hadoop03:
scp -r ~/.ssh/authorized_keys hadoop02:~/.ssh/
scp -r ~/.ssh/authorized_keys hadoop03:~/.ssh/
如图所示,我们先输入yes,接着会要我们输入其他主机的密码,如下图
验证免密登录,命令如下:
ssh hadoop01
ssh hadoop02
ssh hadoop03
13.配置Hadoop集群,使用远程传输工具将hadoop、JDK安装包传输到/usr/local目录下,用鼠标拖
下面安装hadoop,将hadoop压缩包解压到opt目录下,命令:
cd /usr/local/hadoop-3.2.0
tar -zxvf hadoop-3.2.0.tar.gz -C /usr/local/hadoop-3.2.0
jdk解压方法一样,也在这个目录下进行
14.打开配置文件,命令:
vim /etc/profile
配置hadoop环境变量,在/etc/profile中追加如下内容:
注意:一定要是你自己的路径!!!
export JAVA_HOME=/usr/local/jdk1.8.0_351
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
如果你已经做完步骤2了,就不用在加java环境
15.使配置文件生效 ,命令:
source /etc/profile
验证是否成功,输入:
hadoop version
java -version
出现下图即为成功
16.创建相关文件,命令
cd /usr/local
cd hadoop-3.2.0/
mkdir tmp
mkdir namenode
mkdir datanode
17.修改相关配置文件
修改hadoop-env.sh文件,在最后追加
vim hadoop-env.sh
#最后追加
export JAVA_HOME=/usr/local/jdk1.8.0_351
修改core-site.xml文件
注意:路径路径!!!看好了,别出错
vim core-site.xml
<configuration>
<!--用于设置Hadoop的文件系统,由URI指定-->
<property>
<name>fs.defaultFS</name>
<!--用于指定namenode地址在hadoop01机器上-->
<value>hdfs://hadoop01:9000</value>
</property>
<!--配置Hadoop的临时目录,默认/tem/hadoop-${user.name}-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.2.0/tmp</value>
</property>
</configuration>
修改hdfs-site.xml文件,最后追加
vim hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop-3.2.0/namenode </value>
<description>/usr/local/hadoop-3.2.0/namenode </description>
修改mapred-site.xml文件,最后追加
vim mapred-site.xml
<property>
<name>maperduce.framework.name</name>
<value>yarn</value>
</property>
修改yarn-site.xml文件,最后追加
vi yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
18. 初始化 hadoop,命令:
hdfs namenode -format
如图,出现 successfully 说明初始化 hadoop 成功
输入jps查看进程,如下图
19.启动 hadoop,输入命令:
start-dfs.sh
输入jps查看进程
再输入下面命令:
start-yarn.sh
输入jps查看进程 ,看到下图最终结果为成功!!
此时,hadoop01配置完成。
hadoop02、hadoop03步骤一样,按步骤来!!