栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

基础数据仓库环境搭建(二) Hadoop的环境搭建

基础数据仓库环境搭建(二) Hadoop的环境搭建

Apache Hadoop -分布式处理框架。集成了MapReduce(并行计算)、YARN(作业调度)和HDFS(分布式文件系统)。

1. 前期准备

1.准备3个虚拟机节点
2.Linux链接工具Xshell或者MobaXterm
3.三台节点配置了免密登录

2. Hadoop下载

链接:

https://pan.baidu.com/s/1iaKxgeQHE66OJaOs0gUKYQ 

提取码:8520

3.配置说明

主要是在虚拟机上搭建模拟生产环境的伪分布模式

伪分布模式(Pseudo-Distributed Mode)

Hadoop的守护进程运行在本机机器,模拟一个小规模的集群。

在一台主机模拟一个小规模的集群,在这种模式下Hadoop使用的是分布式文件系统,一般用于程序调试与测试。也可以说 伪分布式 是 完全分布式 的一个特例。

在这种模式下,Hadoop使用的是分布式文件系统。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及守护进程交互。Hadoop启动NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager,这些守护进程都在同一台机器上运行,是相互独立的Java进程。

需要修改配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。

格式化文件系统

4.集群规划
集群节点分配	
主机名	主机IP
node01	192.168.100.101
node02	192.168.100.102
node03	192.168.100.103
软件名称	版本号
Java	1.8.0_291
CentOS	CentOS-7-x64-2009
Hadoop	3.2.2
各软件安装路径	
Hadoop	/opt/apps/hadoop-3.2.2
Java	/opt/apps/jdk1.8.0_291
节点进程	
node01	NameNode,DataNode,NodeManager
node02	ResourceManager,DataNode,NodeManager
node03	SecondaryNameNode,DataNode,NodeManager
5.基本工具安装

安装同步时间工具–每台节点都需要执行此操作

yum -y install ntp ntpdate

设置与网络时间同步

ntpdate cn.pool.ntp.org

#!系统时间写入硬件时间【将硬件时钟调整为与目前的系统时钟一致】

hwclock --systohc

每台节点安装 vim 编辑器

每台节点均安装 vim 编辑器,不使用默认的vi编辑器

 yum -y install vim

文件上传(rz)下载(sz)工具

可以在Xshell工具中通过rz调出上传文件的窗口进行文件上传,也可以通过sz文件名下载某一个文件,上传文件时可以通过拖拽文件到Shell面板直接上传。【在 node01 上安装即可】

yum -y install lrzsz

安装网络下载工具 wget其中一台安装即可【在node01上安装即可】

 yum -y install wget
关闭防火墙

每台节点均需要执行关闭防火墙和禁止开机启动防火墙的操作

查看防火墙开启状态

systemctl status firewalld

关闭防火墙

 systemctl stop firewalld

禁止开机启动防火墙

 systemctl disable firewalld
6.修改hosts文件
vim /etc/hosts
#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.101 node01
192.168.100.102 node02
192.168.100.103 node03
7.配置SSH免密码登录

配置免密码登录的目的是为了能够让主机之间相互信任,不需要密码即可访问

#! 每台节点先使用ssh执行以下,以在主目录产生一个.ssh 文件夹
[root@node01 ~]# ssh 192.168.100.101
#! 然后输入no即可
The authenticity of host '192.168.100.101 (192.168.100.101)' can't be established.
ECDSA key fingerprint is SHA256:PamSi9sKideQkXQWm9stSYkf85oydA+TUbwiBtXkf4E.
ECDSA key fingerprint is MD5:5b:17:f8:7c:ae:49:27:f8:2a:24:30:65:a6:f3:4a:49.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
#! 每台机器均进入~/.ssh 目录进行操作
[root@node01 ~]# cd ~/.ssh
#! 输入以下命令,一路回车,用以产生公钥和秘钥
[root@node01 .ssh]# ssh-keygen -t rsa -P ''
#! 出现以下信息说明生成成功
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:KU0Z/kXpvREFPvkq6wBwog8NLjZ6fSQDyM+747BtUsA root@node01
The key's randomart image is:
+---[RSA 2048]----+
|        .   ...o.|
|..     . o ..... |
|o.. . o =  ...+. |
| Eoo + * o .. oo |
|  =o* + S .    o.|
| o =.* . .    .. |
|..o.. o   . . .  |
| o+o..     . o   |
| .++.      .o    |
+----[SHA256]-----+
#! 将所有的id_rsa.pub文件进行合并(最简单的方法是将所有节点的文件内容追加到node01主机上)
[root@node01 .ssh]# cat ~/.ssh/id_rsa.pub | ssh root@node01 'cat >> ~/.ssh/authorized_keys'
[root@node02 .ssh]# cat ~/.ssh/id_rsa.pub | ssh root@node01 'cat >> ~/.ssh/authorized_keys'
[root@node03 .ssh]# cat ~/.ssh/id_rsa.pub | ssh root@node01 'cat >> ~/.ssh/authorized_keys'
#! 查看node01上的authorized_keys文件内容,类似如下即可
[root@node01 .ssh]# more authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqJi/Q061hGWv91WkRl+fpvoiQ6OyqLSc4lu5KR0FLmWmRxu/Bp1AeuBzf1V8YyjK+UNapYQMgX2/0RPjDWdCKfchrfhvQz9rOX7w8bqmcYGS44EFvy0kxBxPRUd0q/X/cm6J9tvOHsgKJEXIzTG1HD+arjUBmgbP6MOr1mH3UgjJqkhRS5SYP+RcbrRDnTVH+9IE2bKBBHadxK2r8GlP6DL/CtjjYAQSms9x9b9YR9rk/hDUmRO6piq+upy2Gmp4br1EnRTk3LLgIe5sJZQiBQOaoULL7tj6J7D2LXbC0z+a9p8s/PfE/G/7jhxBAoYpzB30JV5BPZmz702JOQjRn root@node01
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLeDS5mF/PwxExo++I99A3BfK8gyaLUYC8mZGLT4q0H8Skb/7jN1qIjb8MfwubluoIKiHWrA2h/4iEkb2rBzEfUy/JxP+5a+zpi5NIOcVCX1PcNb7mPmWm1X42Zp6/hOZVXnAHfQv4ZuEZRZrp49GmOnZR8g5mz8Gpr0rl9hk0c1m50qpfY6I8EYjQ200suo/9vkd941Qquk3aX4A+6huAZq1Lu8B1EyTTDoV6cWS1eN4AbEdN4nedYN1NqfN5KxYs9ujCfCNfmF41l7HS8vgPc4Yu0aI4LmZnmFhLei0FdK6HSE03nptm7YJ45oDux5iehxXT8M0nvwC2JcK26aoD root@node02
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTpPnqphGbBH3vqFFdI0oxq1EmI0zWbrl/52qIy6ysvJ+cqib34XzFHs4N61P4pyXwzL7tgMaYrAw0YfVMbZwmK3AAlpxlLTpfWLii/dBTazGcXaHhR0J3s6qKIwu3ZEaeAUGWyGO4KU1uMWM9foLWeAQthTJhYj4HmE2YNmHV5M39uw+F0j2JXMiWZBLEaklu/IpuWY0IgYVvj/uACowmeFUHHWsYezH0GbxcHPpLnenSfcWxUAXNNaVYURKV6WnXqmsxV/9k8rWQ49Apk5AjHsAKpdWRXEzGVr0FBBydoGkCCNvgrr1ORAAiUnFOp0ZEx/Pq9T8cQVdCjk0pILwv root@node03
#! 将node01上的authorized_keys文件分发到其他主机上
[root@node01 .ssh]# scp ~/.ssh/authorized_keys root@node02:~/.ssh/
[root@node01 .ssh]# scp ~/.ssh/authorized_keys root@node03:~/.ssh/
#! 每台机器之间进行ssh免密码登录操作,包括自己与自己
[root@node01 ~]# ssh node01
[root@node01 ~]# ssh node02
[root@node02 ~]# ssh node01
[root@node01 ~]# ssh node03
[root@node03 ~]# ssh node01
[root@node01 ~]# ssh node02
[root@node02 ~]# ssh node02
[root@node02 ~]# ssh node03
[root@node03 ~]# ssh node02
[root@node02 ~]# ssh node03
[root@node03 ~]# ssh node03

SSH 免密码配置结束后建议创建快照。

8.下载Java

Hadoop 的运行需要Java环境,因此必须在所有节点上安装Java,并且对Java版本有如下要求:

Hadoop 3.3 以上支持Java 8 and Java 11,但是编译时只支持Java 8 Hadoop 3.0 — 3.2 只支持Java 8 Hadoop 2.7.x — 2.x 支持Java 7 and Java 8

#! 在node01主节点上创建指定目录
[root@node01 ~]# mkdir -p /opt/apps
#! 进入到apps目录
[root@node01 ~]# cd /opt/apps/
#! 使用rz命令从Windows主机上传jdk压缩包到node01节点,也可以直接拖拽至xshell命令窗口
[root@node01 apps]# rz
#! 解压到当前目录
[root@node01 apps]# tar -zxvf jdk-8u281-linux-x64.tar.gz
[root@node01 apps]# vim /etc/profile
#! 在该文件后面追加一下内容
export JAVA_HOME=/opt/apps/jdk1.8.0_291
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
#! 使刚才的设置生效
[root@node01 apps]# source /etc/profile
#! 检测是否配置成功
[root@node01 apps]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
9.下载 Hadoop 安装包

下载完成后上传至node01节点,其他节点可以先不配置,最后统一远程拷贝即可。
#上传
[root@node01 ~]# cd /opt/apps
[root@node01 apps]# rz
解压

tar -zxvf hadoop-3.2.2.tar.gz
10.修改配置文件

hadoop-env.sh

此配置文件是Hadoop一些核心脚本的配置文件,要指定JAVA_HOME。

[root@node01 apps]# cd hadoop-3.2.2/
[root@node01 hadoop-3.2.2]# vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/apps/jdk1.8.0_291

core-site.xml

此配置文件是Hadoop核心的配置文件,对应于Common模块在此配置文件中配置文件系统的访问端口和访问权限等。

[root@node01 hadoop-3.2.2]# vim etc/hadoop/core-site.xml


    fs.defaultFS
    hdfs://node01:9000


    hadoop.tmp.dir
    file:/opt/apps/hadoop-3.2.2/tmp


    io.file.buffer.size
    131702


    hadoop.http.staticuser.user
    root



    hadoop.proxyuser.root.hosts
    *


    hadoop.proxyuser.root.groups
    *

hdfs-site.xml

此配置文件是HDFS核心的配置文件,对应于HDFS模块,在此配置文件中配置文件系统数据存储路径和SecondaryNameNode地址等。

[root@node01 hadoop-3.2.2]# vim etc/hadoop/hdfs-site.xml


    dfs.namenode.name.dir
    file:/opt/apps/hadoop-3.2.2/dfs/name


    dfs.datanode.data.dir
    file:/opt/apps/hadoop-3.2.2/dfs/data


    dfs.replication
    2


    dfs.namenode.checkpoint.dir
    file:/opt/apps/hadoop-3.2.2/dfs/namesecondary


    dfs.namenode.secondary.http-address
    node03:9868


    dfs.namenode.secondary.https-address
    node03:9869

yarn-site.xml

此配置文件是Yarn核心的配置文件,对应于Yarn模块,在此配置文件中配置ResourceManager主机名和NodeManager内存大小等。

[root@node01 hadoop-3.2.2]# vim etc/hadoop/yarn-site.xml


    
    yarn.nodemanager.aux-services
    mapreduce_shuffle


    
    yarn.nodemanager.aux-services.mapreduce_shuffle.class
    org.apache.hadoop.mapred.ShuffleHandler


    
    yarn.resourcemanager.hostname
    node02


    
    yarn.nodemanager.resource.memory-mb
    2048


    
    yarn.nodemanager.resource.detect-hardware-capabilities
    true



    yarn.log-aggregation-enable
    true



    yarn.log-aggregation.retain-seconds
    604800


        yarn.nodemanager.env-whitelist
 JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

mapred-site.xml

此配置文件是MapReduce核心的配置文件,对应于MapReduce模块,

[root@node01 hadoop-3.2.2]# vim etc/hadoop/mapred-site.xml

mapreduce.framework.name MapReduce程序运行的框架,默认为local,集群模式配置为yarn



    mapreduce.framework.name
    yarn



    mapreduce.jobhistory.address
    node01:10020



    mapreduce.jobhistory.webapp.address
    node01:19888

workers

该文件中配置所有DataNode节点的主机名

[root@node01 hadoop-3.2.2]# vim etc/hadoop/workers
#添加以下内容:这里添加的是所有的数据节点,注意删除原来的localhost【必须配置】
node01
node02
node03
11.文件分发

将node01节点上的apps目录远程拷贝到其他节点

 scp -r /opt/apps root@node02:/opt/
 scp -r /opt/apps root@node03:/opt/
12 设置环境变量
#! 所有各节点均编辑/etc/profile文件
[root@node01 hadoop-3.2.2]# vi /etc/profile
#! 添加以下内容
##Hadoop
export HADOOP_HOME=/opt/apps/hadoop-3.2.2
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
##Hadoop User
export HADOOP_USERNAME=root
export HDFS_NAMENODE_USER=$HADOOP_USERNAME
export HDFS_DATANODE_USER=$HADOOP_USERNAME
export HDFS_SECONDARYNAMENODE_USER=$HADOOP_USERNAME
export YARN_RESOURCEMANAGER_USER=$HADOOP_USERNAME
export YARN_NODEMANAGER_USER=$HADOOP_USERNAME
#! 使设置立即生效
[root@node01 hadoop-3.2.2]# source /etc/profile
13.格式化Hadoop
hdfs namenode -format 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673721.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号