要求:IP DNS地址页 网址 防火墙 安装包
ifconfig 查询
先用虚拟机看一下自己的网关
vim search/provides 命令 查找
# 修改网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
如果提示找不到vim命令,使用yum下载vim
yum install vim 选择yes
BOOTPROTO="static"
ONBOOT=yes
IPADDR="192.168.10.100"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="192.168.10.2"
systemctl restart network //重启网络看看是否设置成功
// static 静态 固定别名
hostnamectl --static set-hostname hadoop100
windows的hosts文件
位置:C:\Windows\System32\drivers\etc\hosts
Linux的hosts文件
vim /etc/hosts
systemctl stop firewalld
systemctl disable firewalld.service
先创建一个用户用于hadoop的使用(工作的时候没有root权限)
useradd atguigu
passwd atguigu
创建目录存安装包和程序,并赋予刚才创建的用户相应的权限
mkdir /opt/module // 存放程序
mkdir /opt/software // 存放安装包
chown atguigu:atguigu /opt/module
chown atguigu:atguigu /opt/software
// 完了后ll查看一下看是否成功
// 卸载原装JDK 如果虚拟机最小化安装可忽略
[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
// z 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
// x 从归档文件中提取文件,解包.tar文件
// v 显示操作过程
// f 指定文件名
// 产生.tar打包文件
// 压缩gz 就是 zcvf 解压缩 zxvf
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
配置环境变量
// 进入自定义环境变量文件
sudo vim /etc/profile.d/my_env.sh
//内容 和Window配置一样 ,JAVA_HOME PATH
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
重新加载环境变量
source /etc/profile
java -version
// 进入安装包目录
cd /opt/software/
// 解压
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/module/
// 进入文件
sudo vim /etc/profile.d/my_env.sh
//配置环境变量
#HADOOP_HOME 注意这里配置了bin和sbin
export HADOOP_HOME=/opt/module/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#退出 重新加载环境变量
source /etc/profile
bin:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本,这个好像看着不太常用
sbin:管理员常用的命令,对集群的一些管理操作(例如启动、重启、关闭)这样一些操作 集群的操作,比较常用
当前模版机状态: Hadoop安装完成,
需要操作: 修改IP 主机名 根据要求配置Hadoop文件
修改IP和主机名 模版机第一步类似
分布式文件系统
主要结构3个:
注意看,一个yarn只有一个RM(Resource Manager)负责整个的资源调配
RM和NodeManager 是1对多的关系
MapReduce 就相当于sql语句 和分析器啥的
HDFS 相当于只是存储的数据库
YARN 来分配资源去计算和存储
Commom 辅助
<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.3.4/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为atguigu -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>atguigu</value>
</property>
</configuration>
vim hdfs-site.xml
<configuration>
<!-- nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<!-- 2nn web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
</configuration>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vim /opt/module/hadoop-3.3.4/etc/hadoop/workers
将集群机器加进去
hadoop102
hadoop103
hadoop104
core配置Node后端供给端口,存储目录,还有默认用户
HDFS配置 页面服务端端口
Yarn 配置将MR走shuffle 指定自己的ResourceManager地址 并且继承环境变量
Map 指定在yarn上运行
格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化
hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh