虚拟机配置Hadoop完全分布式
1.配置虚拟机的网络环境。
2.安装JDK。
3.配置Hadoop完全分布式。
配置虚拟机网络环境
虚拟机网络连接方式选择NAT模式。
1.查看虚拟机的虚拟网卡IP,在编辑中选择虚拟网络编辑器,查看NAT设置
2.记录子网IP和网关IP,Linux的IP必须在该子网中。
3.打开Linux系统,修改ifcfg-ens33文件.主要修改以下几个地方:
a.将IP地址改成静态的,BOOTPROTO=static。
b.设置IP地址,注意要和虚拟机的子网IP在同一个网段。
c.设置网关IP和DNS和虚拟机NAT设置中的网关相同即可。
vim /etc/sysconfig/network-scriptsifcfg-ens33
4.修改主机名,设置主机映射。完全分布式最少有三台机器,主机映射中先将其他两台写好。
vim /etc/sysconfig/network
vim /etc/hosts
5.关闭防火墙
a.查看防火墙状态。
service firewalld status
b.永久关闭防火墙
systemctl disable firewalld.service
安装JDK
1.在windows系统下好jdk-8u201-linux-x64.tar.gz。
2.利用Xsft将下好的压缩包传给Linux。
3.在Linux中到存放jdk-8u201-linux-x64.tar.gz的文件夹下,解压tar包
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /opt/module/
-C后面是解压到指定路径。
4.配置环境变量。
vim /etc/profile
在最后添加JAVA_HOME
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
配置Hadoop
1.下载hadoop-2.9.2.tar.gz
2.使用Xsft上传到Linux。
3.解压
tar -zxvf hadoop-2.9.2.tar.gz -C /opt/module/
4.配置hadoop的环境变量
vim /etc/profile
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
4.规划一下集群的位置。
hadoop100 | hadoop101 | hadoop102 |
---|---|---|
NameNode | – | SecondNameNode |
– | ResourceManager | – |
DataNode | DataNode | DataNode |
5.配置core-site.xml,主要配置NameNode节点的地址和hadoop运行时数据存放的位置
<configuration>
<!--指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:9000</value>
</property>
<!--指定Hadoop数据存放的路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.9.2/data/tmp</value>
</property>
</configuration>
6.配置hadoop-env.sh,修改JAVA_HOME,为你安装的JDK的绝对地址
export JAVA_HOME=/opt/module/jdk1.8.0_201
7.配置hdfs-site.xml,主要设置辅助名称结点(SecondaryNameNode)的地址
vim hdfs-site.xml
<configuration>
<!--配置secondarynamenode结点地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop102:50090</value>
</property>
<!--配置hdfs的副本数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
8.配置yarn-env.sh,配置JAVA_HOME。配置yarn-site.xml,主要配置ResourcesManager结点的地址和reducer获取数据的方式为mapreduce_shuffle
vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!--配置Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定Yarn的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
</configuration>
9.配置mapred-env.sh,设置JAVA_HOME。配置mapred-site.xml,主要设置MapReduce运行在Yarn上
vim yarn-site.xml
<configuration>
<!--指定MR运行在Yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
10.配置slaves,加入所有DN结点,注意不能有多余空格或空行
vim slaves
11.将另外两台机器同样配置好后,在NameNode结点格式化NameNode,输出format successfully说明格式化成功。注意不要多次格式化,会导致NameNode的集群id和DataName的集群id不同,导致DataNode启动失败。格式化时要删除hadoop存放数据的目录下的所有数据。
bin/hdfs namenode -format
12.使用sbin/start-dfs.sh、sbin/stop-dfs.sh启动/关闭hadoop
sbin/start-yarn.sh、sbin/stop-yarn.sh,启动/关闭yarn
jps查看NN、DN等进程是否启动
http://hadoop100:50070在web端查看集群的详情