hadoop 3.3大数据集群搭建系列1-安装hadoop

一. 软硬件配置

1.1 主机配置及规划

hostname hp5 hp6 hp7
ip 10.31.1.119 10.31.1.120 10.31.1.121
内存 8G 8G 8G
username root root root
IP 主机名 功能
10.31.1.119 hp5 NameNode DataNode ResourceManager NodeManager
10.31.1.120 hp6 DataNode NodeManager
10.31.1.121 hp7 SecondryNameNode DataNode NodeManager

1.2 软件配置

软件 版本
CentOS 7.8
Java JDK 8
Hadoop 3.3.2

最开始使用open jdk11,后面安装hive和hudi的时候出了问题,改回JDK8版本后,问题解决。

1.3 安装常用的工具

yum install -y epel-release
yum install -y net-tools 
yum install -y vim

二. 安装前准备

2.1 设置主机名

hostname hadoop01 #设置临时主机名
vi /etc/hostname #设置永久主机名

2.2 设置hosts

10.31.1.119     hp5
10.31.1.120     hp6
10.31.1.121     hp7

2.3 关闭防火墙

systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁用防火墙

2.4 ssh免密登陆

#在每个节点上执行(所有节点)
ssh-keygen -t rsa #输入内容直接回车
#将生成的公钥添加到免密登陆keys中(主节点)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#将公钥复制到2台从节点上(主节点)
scp ~/.ssh/id_rsa.pub root@hp6:~/
scp ~/.ssh/id_rsa.pub root@hp7:~/
#在从节点上将主节点的公钥添加到免密登陆keys中(非主节点)
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

2.5 ntpdate时间同步

yum -y install ntpdate
#同步时间
ntpdate -u ntp.sjtu.edu.cn
#定时同步,每小时整点执行一次
vi /etc/crontab
0 */1 * * * root ntpdate -u ntp.sjtu.edu.cn

三. 安装

3.1 安装hadoop

3.1.1 下载hadoop并解压

cd /home/software
#下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz --no-check-certificate
#解压
tar -zxvf hadoop-3.3.2.tar.gz -C /home

3.1.2 配置hadoop_home环境变量

vi /etc/profile

export HADOOP_HOME=/home/hadoop-3.3.2

source /etc/profile

3.1.3 编辑etc/hadoop/hadoop-env.sh

cd /home/hadoop-3.3.2/etc/hadoop/
vi hadoop-env.sh
#添加如下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export HADOOP_HOME=/home/hadoop-3.3.2
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
export HADOOP_PID_DIR=${HADOOP_HOME}/pid

3.1.4 编辑etc/hadoop/core-site.xml


    
        fs.defaultFS
        hdfs://hp5:8020
    
    
        hadoop.tmp.dir
        /home/hadoop_repo
   

3.1.5 编辑etc/hadoop/hdfs-site.xml


  
          dfs.namenode.secondary.http-address
          hp5:50090
  
  
          dfs.replication
          3
  
  
          dfs.namenode.name.dir
          file:/home/hadoop-3.3.2/tmp/dfs/name
  
  
          dfs.datanode.data.dir
          file:/home/hadoop-3.3.2/tmp/dfs/data
  


3.1.6 编辑etc/hadoop/mapred-site.xml



  
          mapreduce.framework.name
          yarn
  
  
          mapreduce.jobhistory.address
          hp5:10020
  
  
          mapreduce.jobhistory.webapp.address
          hp5:19888
  
  
          yarn.app.mapreduce.am.env
          HADOOP_MAPRED_HOME=/home/hadoop-3.3.2
  
  
          mapreduce.map.env
          HADOOP_MAPRED_HOME=/home/hadoop-3.3.2
  
  
          mapreduce.reduce.env
          HADOOP_MAPRED_HOME=/home/hadoop-3.3.2
  


3.1.7 编辑etc/hadoop/yarn-site.xml


    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.env-whitelist
        JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
    
    
        yarn.resourcemanager.hostname
        hp5
    
        
        yarn.log-aggregation-enable
        true
    
    
        yarn.log.server.url
        http://hp5:19888/jobhistory/logs/
    
    
        yarn.nodemanager.resource.memory-mb
        8192
    
    
        yarn.nodemanager.resource.cpu-vcores
        8
    
    #分配给每个Container(容器)的最小执行内存
    
        yarn.scheduler.minimum-allocation-mb
        128
    

3.1.8 编辑etc/hadoop/workers

hp5
hp6
hp7

3.1.9 编辑启动脚本

cd sbin
# 都加在脚本最前面
vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

3.1.10 格式化HDFS

#将hadoop拷贝到其它节点
#格式化namenode节点
cd /home/hadoop-3.3.2/bin
bash hdfs namenode -format
#出现如下信息说明格式化成功
common.Storage: Storage directory /home/hadoop_repo/dfs/name has been successfully formatted.
image.png

3.1.11 启动集群

cd /home/hadoop-3.3.2/sbin
./start-all.sh #启动集群
./stop-all.sh #停止集群

cd /home/hadoop-3.3.2/bin/
./mapred --daemon start historyserver#每个节点启动

3.1.12 验证

#主节点jps
NameNode
SecondaryNameNode
ResourceManager
#从节点jps
DataNode
NodeManager
image.png

image.png

image.png

3.1.13 查看集群信息

#资源信息查看
http://10.31.1.119:8088/
#存储节点信息查看
http://10.31.1.119:9870/

3.1.14 命令查看日志

#资源信息查看
cd /home/hadoop-3.3.2/bin/
./yarn logs -applicationId application_1639553331593_0001

参考:

  1. https://blog.csdn.net/xiamu17/article/details/123760030
  2. https://blog.csdn.net/weixin_41083358/article/details/121775005
  3. https://zhuanlan.zhihu.com/p/534729570
  4. https://blog.csdn.net/u011109589/article/details/124852278

你可能感兴趣的:(hadoop 3.3大数据集群搭建系列1-安装hadoop)