hadoop3.3.4集群安装部署

一、环境准备:3台centos7服务器

 

        修改hosts(所有服务器都需要修改)

vim /etc/hosts

10.9.5.114 cdh1
10.9.5.115 cdh2
10.9.5.116 cdh3

 

        修改主机名,cdh1为主机名,根据自己定义

sysctl kernel.hostname=cdh1

        安装远程同步工具rsync,用于服务器间同步配置文件

yum install -y rsync

        设置时间同步,如果时间相差过大启动会报ClockOutOfSyncException异常,默认是30000ms

        安装以下包,否则可能会报No such file or directory

yum install autoconf automake libtool

        配置root用户免密登录(所有服务器执行,因为host配置的是IP,所以本机也需要执行公钥上传)

cd ~/.ssh/
ssh-keygen -t rsa         #生成免密登录公私钥,根据提示按回车或y
ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh1  #将本机的公钥上传至cdh1机器上,实现对cdh1机器免密登录
ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh3

        关闭防火墙,或者放行以下端口:9000、50090、8022、50470、50070、49100、8030、8031、8032、8033、8088、8090

二、下载hadoop3.3.4

        下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

三、安装Hadoop

        1、登录cdh1服务器,将下载的安装包上传至/home/software目录

        进入/home/service目录并解压hadoop

cd /home/servers/
tar -zxvf ../software/hadoop-3.3.1.tar.gz

        2、将Hadoop添加到环境变量vim /etc/profile

vim /etc/profile

export HADOOP_HOME=/home/servers/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

        3、新建目录

mkdir /home/hadoop
mkdir /home/hadoop/tmp
mkdir /home/hadoop/var
mkdir /home/hadoop/dfs
mkdir /home/hadoop/dfs/name
mkdir /home/hadoop/dfs/data

        4、Hadoop集群配置 = HDFS集群配置 + MapReduce集群配置 + Yarn集群配置

        HDFS集群配置

                1. 将JDK路径明确配置给HDFS(修改hadoop-env.sh)

                2. 指定NameNode节点以及数据存储目录(修改core-site.xml)

                3. 指定SecondaryNameNode节点(修改hdfs-site.xml)

                4. 指定DataNode从节点(修改workers文件,每个节点配置信息占一行)         MapReduce集群配置

                1. 将JDK路径明确配置给MapReduce(修改mapred-env.sh)

                2. 指定MapReduce计算框架运行Yarn资源调度框架(修改mapred-site.xml)

        Yarn集群配置

                1. 将JDK路径明确配置给Yarn(修改yarn-env.sh)

                2. 指定ResourceManager老大节点所在计算机节点(修改yarn-site.xml)

                3. 指定NodeManager节点(会通过workers文件内容确定)

         修改hadoop-env.sh,放开注释改成jdk安装的路径

cd /home/servers/hadoop-3.3.1/etc/hadoop
vim hadoop-env.sh

        修改core-site.xml,在文件的configrue标签内加入以下内容

<property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/tmp</value>
     <description>Abase for other temporary directories.</description>
 </property>

 <property>
     <name>fs.default.name</name>
     <value>hdfs://cdh1:9000</value>
 </property>

         修改hdfs-site.xml文件,在文件的configrue标签内加入以下内容

<property>
   <name>dfs.name.dir</name>
   <value>/home/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>

<property>
   <name>dfs.data.dir</name>
   <value>/home/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>cdh3:50090</value>
</property>

  <property>
    <name>dfs.namenode.servicerpc-address</name>
    <value>cdh1:8022</value>
  </property>
  <property>
    <name>dfs.https.address</name>
    <value>cdh1:50470</value>
  </property>
  <property>
    <name>dfs.https.port</name>
    <value>50470</value>
  </property>
<!-- 配置namenode的web界面-->
<property>
   <name>dfs.namenode.http-address</name>
   <value>cdh1:50070</value>
</property>
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>

        修改workers文件加入节点信息,每个节点占一行

cdh1
cdh2
cdh3

        修改mapred-env.sh文件,在文件末尾添加JDK路径

export JAVA_HOME=/usr/local/jdk1.8.0_291

         修改mapred-site.xml文件,在文件的configrue标签内加入以下内容

<property>
    <name>mapred.job.tracker</name>
    <value>cdh1:49001</value>
</property>

<property>
      <name>mapred.local.dir</name>
       <value>/home/hadoop/var</value>
</property>

<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

        修改yarn-env.sh,,在文件末尾添加JDK路径

export JAVA_HOME=/usr/local/jdk1.8.0_291

        修改yarn-site.xml,在文件的configrue标签内加入以下内容

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>cdh1</value>
   </property>

   <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>

   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>

   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>

   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>

   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>

   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>

   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>

   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1024</value>
        <discription>每个节点可用内存,单位MB,默认8182MB</discription>
   </property>

   <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
   </property>

   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1024</value>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
   </property>

        修改start-dfs.sh,stop-dfs.sh文件,在文件头部添加以下配置

cd /home/servers/hadoop-3.3.1/sbin/
vim start-dfs.sh 和 vim stop-dfs.sh

HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

         修改start-yarn.sh,stop-yarn.sh文件,在文件头部添加以下配置

vim start-yarn.sh 和 vim stop-yarn.sh

RN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
YARN_RESOURCEMANAGER_USER=root

四、分发配置,

        4.1、使用rsync分发配置到其他服务器

cd /home
rsync hadoop root@cdh2:/home/
rsync hadoop root@cdh3:/home/
cd /home/service
rsync hadoop-3.3.1 root@cdh2:/home/servers/
rsync hadoop-3.3.1 root@cdh3:/home/servers/
rsync /etc/profile root@cdh2:/etc/profile
rsync /etc/profile root@cdh3:/etc/profile

        4.2、所有服务器执行以下命令,使环境变量生效

source /etc/profile

五、启动服务

        5.1、hadoop初始化(只需在主服务器执行即可(NameNode节点))

cd /home/servers/hadoop-3.3.4/bin
./hadoop  namenode  -format

有提示以下这行,说明格式化成功

common.Storage: Storage directory /home/hadoop/dfs/name has been successfully formatted

        5.2、启动hadoop

cd /home/servers/hadoop-3.3.1/sbin/
./start-all.sh

启动没报错即可

         5.3使用jps查看服务

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340