环境
node1:192.168.73.129
node2:192.168.73.128
node3:192.168.73.127
1.基础环境(三台都要做)
1.修改主机名
vi /etc/hostname
node1 node2 node3 依次写入台之际的hostname文件然后 reboot重启
2.配置dns映射关系
192.168.73.127 node3 node3.xx.com
192.168.73.128 node2 node2.xx.com
192.168.73.129 node1 node1.xx.com
3.配置时间同步(用的阿里ntp)
yum install ntpdate -y
ntpdate ntp4.aliyun.com
4.关闭SElinux和防火墙
setenforce 0 临时关闭
vim /etc/selinux/config 永久关闭
SELINUX=disable 修改为disable
systemctl stop firewalld 防火墙
2.分发ssh免密登录(在node1执行)
ssh-keygen
ssh-copy-id node1.xx.com
ssh-copy-id node2.xx.com
ssh-copy-id node3.xx.com
3.在各节点安装jdk11
yum install java-11-openjdk-devel
vi /etc/profile.d/java.sh (配置环境变量)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile.d/java.sh 生效环境变量
4.安装hadop
1创建统一工作目录
mkdir -p /hadop/server
mkdir -p /hadop/data
mkdir -p /hadop/softwares
2.上传解压tar包到server
rz
tar xzf hadoop-3.3.6.tar.gz
目录说明:
bin Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。
etc Hadoop配置文件所在的目录
include 对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。
libe 该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。
libexec 各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。
sbin Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动关闭脚本。
share Hadoop各个模块编译后的jar包所在的目录,官方自带示例。
3.编辑配置文件
1.hadop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
# 设置用户以执行对应角色 shell 命令
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
2.1core-site.xml
说明:
hadoop 的核心配置文件,有默认的配置项 core-default.xml。core-default.xml 与 core-site.xml 的功能是一样的,如果在 core-site.xml 里没有配置的属性,则会自动会获取 core-default.xml 里的相同属性的值。
vim core-site.xml
<configuration>
<!-- 默认文件系统的名称。通过 URI 中 schema 区分不同文件系统。-->
<!-- file:///本地文件系统 hdfs:// hadoop分布式文件系统 gfs://。-->
<!-- hdfs 文件系统访问地址:http://nn_host:8020。-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- hadoop 本地数据存储目录 format 时自动生成 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/data/hadop</value>
</property>
<!-- 在 Web UI 访问 HDFS 使用的用户名。-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
</configuration>
3.hdfs-site.xml
说明:
HDFS 的核心配置文件,主要配置 HDFS 相关参数,有默认的配置项 hdfs-default.xml。hdfs-default.xml 与 hdfs-site.xml 的功能是一样的,如果在 hdfs-site.xml 里没有配置的属性,则会自动会获取 hdfs-default.xml 里的相同属性的值。
<!-- 设定 SNN 运行主机和端口 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
4.mapred-site.xml
说明:
MapReduce 的核心配置文件,Hadoop 默认只有个模板文件 mapred-site.xml.template,需要使用该文件复制出来一份 mapred-site.xml 文件。
<configuration>
<!-- mr 程序默认运行方式。yarn 集群模式 local 本地模式-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- jobhistory 服务配置 注意 19888 是 web ui 访问端口 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
<!-- MR App Master 环境变量。-->
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR MapTask 环境变量。-->
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR ReduceTask 环境变量。-->
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
5.yarn-site.xml
说明:
YARN 的核心配置文件
<!-- yarn 集群主角色 RM 运行机器。-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<!-- NodeManager 上运行的附属服务。需配置成 mapreduce_shuffle,才可运行 MR 程序。-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 每个容器请求的最小内存资源(以MB为单位)。-->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<!-- 每个容器请求的最大内存资源(以MB为单位)。-->
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<!-- 容器虚拟内存与物理内存之间的比率。-->
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>4</value>
</property>
<!-- 开启 yarn 日志聚集功能,收集每个容器的日志集中存储在一个地方 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置为一天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop01:19888/jobhistory/logs</value>
</property>
6.workers
说明:
workers 文件里面记录的是集群主机名
node1.xx.com
node2.xx.com
node3.xx.com
5.分发安装包
scp -r hadoop-3.3.6/ root@node2.xx.com:/hadop/server/
6.三个节点同时配置hadop环境变量
vim /etc/profile
export HADOOP_HOME=/hadop/server/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
然后可以敲hadop验证一下
7.NameNode format(格式化操作)
说明:
1.首次启动 HDFS 时,必须对其进行格式化操作。format 本质上是初始化工作,进行 HDFS 清理和准备工作。
2.注意前面的配置文件是否有格式问题等。
root@node1 data]# ll /hadoop/data/hadop/dfs/name/current
total 16
-rw-r--r--. 1 root root 399 Sep 25 14:44 fsimage_0000000000000000000
-rw-r--r--. 1 root root 62 Sep 25 14:44 fsimage_0000000000000000000.md5
-rw-r--r--. 1 root root 2 Sep 25 14:44 seen_txid
-rw-r--r--. 1 root root 218 Sep 25 14:44 VERSION
说明:
fsimage_0000000000000000000:这是文件系统镜像(File System Image),包含了HDFS的整个文件系统结构(如目录和文件元数据)的一个快照。
fsimage_0000000000000000000.md5:这是与fsimage文件对应的MD5校验和,用于验证文件完整性。
seen_txid:这个文件保存了NameNode最后一次启动后见到(即处理过)的最大事务ID。
VERSION:这个文件包含了与NameNode相关的各种版本和配置信息,比如Hadoop的版本号,布局版本等。
8.hadop集群启动和关闭
1.手动逐个进程启停(不常用)
HDFS:
hdfs --daemon start namenode|datanode|secondarynamenode
hdfs --daemon stop namenode|datanode|secondarynamenode
YARN:
yarn --daemon start resourcemanager|nodemanager
yarn --daemon stop resourcemanager|nodemanager
2.shell脚本启动停止
在主节点上使用官方自带shell脚本操作
HDFS:
start-dfs.sh
stop-dfs.sh
YARN:
start-yarn.sh
stop-yarn.sh
HADOP:
start-all.sh
stop-all.sh
启动后可以用jps看看进程信息查看是否启动成功
node1
[root@node1 ~]# jps
4613 Jps
4310 ResourceManager
3721 NameNode
4444 NodeManager
3853 DataNode
node2
[root@node2 ~]# jps
1185 Bootstrap
3819 NodeManager
3614 DataNode
3950 Jps
node3
2808 NodeManager
2908 Jps
2703 DataNode
9.添加dns映射,访问web界面
还有一个保存和提供完成的 MapReduce 作业的历史信息的服务。
#启动
mapred --daemon start historyserver
10.注意事项:
1.java版本要注意适配。
2.主机名 dns映射关系要注意配置完好。
3.hadop配置文件比较多,每个配置文件要检查仔细。
4.防火墙最好先关闭,搭建好后访问无误再开启把相应的端口放行。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.pengvip.cn/87.html
共有 0 条评论