实验要求
1、 安装版本要求:VM14以上+centos7+hadoop-3.3.6
2、 集群3节点
3、 详细记录实验步骤
4、 详细记录出现的问题及解决方案
5、 写一份实验心得
实验记录
我的是在伪分布式上改的,关于伪分布式搭建请看我上一篇文章
克隆虚拟机
- 克隆虚拟机向导需要选择创建完全克隆
- 我克隆了三台,名字如下:
hadoop_master
hadoop_slave1
hadoop_slave2
修改文件
- 修改每一个克隆系统主机名
hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
- 修改IP地址
将IPADDR="192.168.10.101"
改为对应的ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- master
IPADDR="192.168.10.101"
- slave1
IPADDR="192.168.10.102"
- slave2
IPADDR="192.168.10.103"
- master
- 修改HOSTS文件
三个都改
vi /etc/hosts
192.168.10.101 master 192.168.10.102 slave1 192.168.10.103 slave2
- 修改HADOOP配置文件
在master里改hdfs-site.html
<configuration> <property> <!-- 配置副本数 --> <name>dfs.replication</name> <value>2</value> </property> <property> <!-- 配置datanode数据存储位置 --> <name>dfs.namenode.name.dir</name> <value>/usr/hadoop3/hdfs/name</value> </property> <property> <!-- 配置元数据存储位置 --> <name>dfs.datanode.data.dir</name> <value>/usr/hadoop3/hdfs/data</value> </property> <!-- 关闭文件上传权限检查 --> <property> <name>dfs.permissions.enalbed</name> <value>false</value> </property> <!-- namenode运行在哪儿节点,默认是0.0.0.0:9870,在hadoop3.x中端口从原先的50070改为了9870 --> <!-- <property> <name>dfs.namenode.http-address</name> <value>master:9870</value> </property> --> <!-- secondarynamenode运行在哪个节点,默认0.0.0.0:9868 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9868</value> </property> </configuration>
core-site.xml
<configuration> <property> <!-- 配置hdfs别名 --> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <!-- 配置临时文件 --> <name>hadoop.tmp.dir</name> <value>file:/opt/app/hadoop/tmp</value> </property> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 配了上面这个下面这个也得配, 不然跑mapreduce会找不到主类。MR应用程序的CLASSPATH--> <property> <name>mapreduce.application.classpath</name> <value>/usr/local/hadoop-3.3.6/share/hadoop/mapreduce/*:/usr/local/hadoop-3.3.6/share/hadoop/mapreduce/lib/*</value> </property> </configuration>
- yarn-site.xml
<configuration> <!-- 在configuration标签内添加以下内容 --> <!-- resourcemanager运行在哪个节点 --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!-- nodemanager获取数据的方式 --> <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>
- workers
slave1 slave2
- 分发配置
scp -r $HADOOP_HOME root@slave1:$PWD
scp -r $HADOOP_HOME root@slave2:$PWD
重新格式化集群并启动
hdfs namenode -format
start-all.sh
jps
- web访问
http://192.168.10.101:9870/