Hadoop的安装与配置

本文详述了在Linux环境下安装配置Hadoop集群的全过程,包括系统环境准备、JDK安装、Hadoop集群角色分配、SSH免密登陆、防火墙设置、Hadoop安装与配置等步骤,以及启动和检查Hadoop集群的详细操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统环境与软件准备

系统:VMware Workstation下安装Scent OS 6.8
JDK:官网下载jdk-8u201-linux-i586.rpm
Hadoop:官网下载hadoop-2.9.2.tar
SecureCRT安装方法:参考:Windows下SecureCRT安装和破解详细过程

一、Hadoop集群角色分配

Hadoop-1Hadoop-2Hadoop-3
Name NodeData NodeData Node
Data NodeNode ManagerNode Manager
Resource ManagerSecondary Name Node

Hadoop-1作为主机,之后的所有配置都将在这台机器上进行,之后在下发到其他机器。

二、同步集群时间

  1. 手动配置(每次集群时间不对都要配置,较麻烦)
    #date -s “2019-03-20 03:03:03"
  1. 网络自动同步时间(需提前安装ntpdate)
    #yum install ntpdate
    #ntpdate cn.pool.ntp.org

三、修改主机名

修改每一台机器的/etc/sysconfig/network 文件,分别重命名为Hadoop-1,Hadoop-2,Hadoop-3。
重启后生效

    #vim /etc/sysconfig/network

在这里插入图片描述
重启后输入hostname查看主机名是否被更改

    #hostname

注:每台机器上都需要重命名

四、配置主机名与IP地址的映射关系

修改每台机器下的/etc/hosts文件

添加映射如下:(IP地址为自己机器的IP地址,主机名也是自己设置的主机名)

192.168.21.130 Hadoop-1
192.168.21.131 Hadoop-2
192.168.21.132 Hadoop-3
    #vim /etc/hosts

注:每台机器上都需修改hosts文件

五、配置ssh免密登陆

(从主节点依次到从节点配置)

    #ssh-keygen -t rsa   (后:四个回车)
    #ssh-copy-id Hadoop-1
    #ssh-copy-id Hadoop-2
    #ssh-copy-id Hadoop-3

四个回车后会产生一个公匙、一个私匙,再配置id

查看是否可以ssh免密登陆Hadoop-2 (exit命令退出)

#ssh Hadoop-2

在这里插入图片描述

六、防火墙设置

  • 查看当前防火墙设置
    #service iptables status
  • 关闭防火墙
    #service iptables stop
  • 查看当前防火墙设置
    #chkconfig iptables --list
  • 查看当前防火墙设置
    #chkconfig iptables off

本此实验直接关闭了防火墙,当然也可以打开防火墙,并允许Hadoop端口通过。Hadoop相关联常用端口号如下:

Zookeeper的常用端口:2181、2888、3888

Hadoop的常用端口:8019、8020、8030、8031、8032、8033、8040、8041、8042、8088、8480、8485、9000、10020、19888、50010、50020、50070、50075、50470、50475

HBase的常用端口:2181、2888、3888、60000、60010、60020、60030

HBase的常用端口和Zookeeper有重复是因为HBase自带Zookeeper组件,使用独立Zookeeper时这些端口不会被启用,也就不会造成端口冲突。

Hive的常用端口:9083、10000

MySQL Cluster的常用端口:1186、2202、3306

七、安装并配置JDK

官网下载需要的JDK版本,并上传到Linux服务器(最好新建一个/usr/java目录)

rpm安装1.8…版本后无需配置环境变量也可以使用java -version 命令!!!

配置/etc/profile文件:

export JAVA_HOME=/usr/java/jdk1.8.0_201-i586
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

刷新配置

    #source /etc/profile 

rpm包安装后查找JDK安装路径:

  1. 先查找当前系统用rpm方式安装的jdk包名有那些, 执行命令
    #rpm -qa | grep jdk
  1. 复制刚安装的jdk包名,粘贴并执行如下命令
  #rpm -ql jdk包名 | grep bin
  1. 之后即可查看JDK安装路径

八、安装并配置Hadoop

1. 安装Hadoop

官网下载hadoop压缩包,并上传到自己的服务器。在根目录下新建文件夹/hdservice,将Hadoop压缩包上传至该目录

解压安装包:

    #tar zxvf hadoop-2.9.2.tar 

此处出现问题!!!如下图:
在这里插入图片描述
!!原因:该压缩包并不是使用gzip格式压缩,解压缩时不能使用z选项

更改解压命令,去除z选项:

    #tar xvf hadoop-2.9.2.tar 

.

2. 配置hadoop-env.sh文件

该文件时一个shell脚本文件,需要指定JDK目录

    #vim Hadoop-env.sh

添加如下配置:

   export JAVA_HOME=/usr/java/jdk1.8.0_201-i586

在这里插入图片描述

!!问题:发现/hpservice/hadoop-2.9.2目录下没有hadoop-env.sh文件。

解决方面:直接从根目录出发,查找hadoop-env.sh文件。命令:

    #find / -name hadoop-env.sh

查询结果:
在这里插入图片描述
找到文件/hpservice/hadoop-2.9.2/etc/hadoop/hadoop-env.sh

##发现该版本Hadoop的配置文件全在/hpservice/hadoop-2.9.2/etc/hadoop/目录下。

3. 配置core-site.xml

该文件下指定Hadoop所使用的文件系统,HDFS的namenode的地址,以及Hadoop运行时产生的文件存储位置

<property>
       <name>fs.defaultFS</name>
       <value>hdfs://Hadoop-1:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>//hpservice/hadoop-2.9.2/data</value>
</property>

在这里插入图片描述

4. 配置hdfs-site.xml

该文件指定HDFS备份副本数量(默认3份),指定secondarynamenode主机地址

<property>
       <name>dfs.replication</name>
       <value>2</value>
</property>
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>Hadoop-2:50090</value>

5. 配置mapred-site.xml

注:配置文件目录下无mapred-site.xml,但是有mapred-site.xml.template。
mapred-site.xml.template此文件为配置文件的模板(复制一份,或者直接重命名即可)

命令:

    #cp mapred-site.xml.template mapred-site.xml

或者

    #mv mapred-site.xml.template mapred-site.xml

配置内容:

<!--指定mr运行时的框架,默认local,此处指定为yarn -->
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

6. 配置yarn-site.xml

<!--指定yarn的指定为Hadoop-1-->
<property>
       <name>yarn.resourcemanager.hostsmane</name>
       <value>Hadoop-1</value>
</property>
<!—nodemanager上的附属服务-->
<property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
</property>

7. 修改Slaves文件

文件内容写从节点到所在主机名

    #vim slaves

文件内容如下:(每行写一个主机名)
在这里插入图片描述

8. 在环境变量文件(/etc/profile)中导入Hadoop路径

export HADOOP_HOME=/hpservice/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述
刷新环境变量,使其立即生效:

    #source /etc/profile

9. 远程拷贝scp命令

将Hadoop-1上的/hpservice/hadoop-2.9.2/文件夹递归发送到Hadoop-2上:

    #scp -r /hpservice/hadoop-2.9.2/ root@Hadoop-2:/hpservice/hadoop-2.9.2

将Hadoop-1上的/hpservice/hadoop-2.9.2/文件夹递归发送到Hadoop-3上:

    #scp -r /hpservice/hadoop-2.9.2/ root@Hadoop-3:/hpservice/hadoop-2.9.2

远程发布环境变量:

    #scp -r /etc/profile root@Hadoop-2:/etc/ 

刷新环境变量:

    #source /etc/profile

九、启动Hadoop集群

初次启动需要格式化,对文件系统进行初始化操作

格式化只能在初始时进行一次,之后不能再次格式化

原因:每次格式化会生成一个唯一clusterID,多次格式化会导致配置文件 clusterID变化,无法启动

格式化在主节点(namenode)上进行,命令:

    #hdfs namenode -format

或者

     #hodoop namenode -format

Hadop启动脚本一般放在sbin目录下,可依此启动,也可利用start-all.sh脚本一键启动
在这里插入图片描述
查看启动情况

    #jps

在这里插入图片描述

Web界面查看并管理Hadoop集群

http://Hadoop-1:50070(发现并不能访问,浏览器会自动将H小写成h)
解决方法:使用Name Node的IP地址

http://192.168.21.130:50070 (可以访问)

在这里插入图片描述

http://192.168.21.130:8088 (访问ResourcesManager的Wed界面)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值