这是我参与「第四届青训营 」笔记创作活动的第5天
书接上回
Hadoop集群模式安装(Cluster mode)
Step3:上传安装包、解压安装包
JDK 1.8安装(3台机器)
上传、解压Hadoop安装包(node1)
#上传安装包到/export/server 解压
cd /export/servertar zxvf
hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
Step4:Hadoop安装包目录结构
| 目录 | 说明 |
|---|---|
| bin | Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。 |
| etc | Hadoop配置文件所在的目录 |
| include | 对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。 |
| lib | 该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。 |
| libexec | 各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。 |
| sbin | Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。 |
| share | Hadoop各个模块编译后的jar包所在的目录,官方自带示例。 |
配置文件概述
官网文档:hadoop.apache.org/docs/r3.3.0…
第一类1个:hadoop-env.sh
第二类4个:
xxxx-site.xml ,site表示的是用户定义的配置,会覆盖default中的默认配置。
core-site.xml核心模块配置
hdfs-site.xmlhdfs文件系统模块配置
mapred-site.xmlMapReduce模块配置
yarn-site.xmlyarn模块配置
第三类1个:workers
所有的配置文件目录:/export/server/hadoop-3.3.0/etc/hadoop
Step5:编辑Hadoop配置文件
hadoop-env.sh
export JAVA_HOME=/export/server/jdk1.8.0_241
#文件最后添加export
HDFS_NAMENODE_USER=rootexport HDFS_DATANODE_USER=rootexport
HDFS_SECONDARYNAMENODE_USER=rootexport YARN_RESOURCEMANAGER_USER=rootexport
YARN_NODEMANAGER_USER=root
core-site.xml
<!--设置默认使用的文件系统Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!--设置Hadoop本地保存数据路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
<!--设置HDFS web UI用户身份-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!--整合hive 用户代理设置-->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!--垃圾桶文件保存时间-->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
hdfs-site.xml
<!--设置SNN进程运行机器位置信息-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
mapred-site.xml
<!--设置MR程序默认运行模式:yarn集群模式local本地模式-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--MR程序历史服务器端地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<!--历史服务器web端地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
yarn-site.xml
<!--设置YARN集群主角色运行机器位置-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--是否将对容器实施物理内存限制-->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否将对容器实施虚拟内存限制。-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!--开启日志聚集-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--设置yarn历史服务器地址-->
</property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!--保存的时间7天-->
</property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
workers
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn
Step6:分发同步安装包
在node1机器上将Hadoop安装包scp同步到其他机器
cd /export/server
scp -r hadoop-3.3.0 root@node2:$PWD
scp -r hadoop-3.3.0 root@node3:$PWD
Step7:配置Hadoop环境变量
在node1上配置Hadoop环境变量 vim /etc/profile export HADOOP_HOME=/export/server/hadoop-3.3.0 export PATH=HADOOP_HOME/bin:$HADOOP_HOME/sbin
将修改后的环境变量同步其他机器 scp /etc/profile root@node2:/etc/ scp /etc/profile root@node3:/etc/
重新加载环境变量验证是否生效(3台机器) source /etc/profile hadoop#验证环境变量是否生效
总结
1.服务器基础环境
2.Hadoop源码编译
3.Hadoop配置文件修改
4.shell文件、4个xml文件、workers文件
5.配置文件集群同步