1、在master虚拟机上配置hadoop
(1)编辑Hadoop环境配置文件 - hadoop-env.sh
- 执行命令:
cd $HADOOP_HOME/etc/hadoop
,进入hadoop配置目录
执行命令:vim hadoop-env.sh
,添加三条环境变量配置
export JAVA_HOME=/usr/local/jdk1.8.0_162
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
存盘退出后,执行命令source hadoop-env.sh
,让配置生效
查看三个配置的三个环境变量
2)编辑Hadoop核心配置文件 - core-site.xml
- 执行命令:
vim core-site.xml
<configuration>
<!--用来指定hdfs的老大-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.3.4/tmp</value>
</property>
</configuration>
由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000
,否则必须用IP地址hdfs://192.168.1.101:9000
3)编辑HDFS配置文件 - hdfs-site.xml
- 执行命令:
vim hdfs-site.xml
<configuration>
<!--设置名称节点的目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop-3.3.4/tmp/namenode</value>
</property>
<!--设置数据节点的目录-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop-3.3.4/tmp/datanode</value>
</property>
<!--设置辅助名称节点-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<!--hdfs web的地址,默认为9870,可不配置-->
<!--注意如果使用hadoop2,默认为50070-->
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:9870</value>
</property>
<!--副本数,默认为3,可不配置-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--是否启用hdfs权限,当值为false时,代表关闭-->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
4)编辑MapReduce配置文件 - mapred-site.xml
- 执行命令:
vim mapred-site.xml
(5)编辑yarn配置文件 - yarn-site.xml
- 执行命令:
vim yarn-site.xml
<configuration>
<!--配置资源管理器:集群master-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--配置节点管理器上运行的附加服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
(6)编辑workers文件确定数据节点
- hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
- 通过workers文件定义数据节点,根据集群规划,有两个从节点slave1与slave2作为数据节点
- 执行命令:
vim workers
如此配置,数据节点在slave1和slave2上,master上就不会有数据节点。当然也可以将master加到workers文件里,那样master上也会有数据节点,总共有3个数据节点,正好跟副本数配置的3一致。
2、在slave1虚拟机上安装配置hadoop
(1)将master虚拟机上的hadoop分发到slave1虚拟机
执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
在slave1虚拟机上查看分发的hadoop
(2)将master虚拟机上环境配置文件分发到slave1虚拟机
- 执行命令:
scp /etc/profile root@slave1:/etc/profile
(3)在slave1虚拟机上让环境配置生效
- 切换到slave1虚拟机,执行命令:
source /etc/profile
3、在slave2虚拟机上安装配置hadoop
(1)将master虚拟机上的hadoop分发到slave2虚拟机
- 执行命令:
scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
在slave2虚拟机上查看分发的hadoop
(3)在slave2虚拟机上让环境配置生效
- 切换到slave2虚拟机,执行命令:
source /etc/profile
(二)格式化文件系统
- 初次启动HDFS集群时,必须对主节点进行格式化处理。
- 执行命令:
hdfs namenode -format
(三)启动和关闭Hadoop集群
1、主节点上启动hadoop集群
- 执行
start-all.sh
命令,一起启动hdfs和yarn服务,也可以分开启动两种服务。
(1)启动hdfs服务
- 执行命令:
start-dfs.sh