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

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hp5:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop_repo</value>
   </property>
</configuration>

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

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

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

<!--修改为如下内容:-->
<configuration>
  <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>hp5:10020</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>hp5:19888</value>
  </property>
  <property>
          <name>yarn.app.mapreduce.am.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hadoop-3.3.2</value>
  </property>
  <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hadoop-3.3.2</value>
  </property>
  <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hadoop-3.3.2</value>
  </property>
</configuration>

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

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</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>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hp5</value>
    </property>
        <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log.server.url</name>
        <value>http://hp5:19888/jobhistory/logs/</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>8192</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>8</value>
    </property>
    #分配给每个Container(容器)的最小执行内存
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>128</value>
    </property>
</configuration>

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.

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


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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章