hadoop 搭建

hadoop搭建

自动化部署工具

  • ansible做自动部署
  • 大数据监控及管理平台:Cloudera manager(CDH是Cloudera的100%开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建)、Ambari等,直接添加节点,选择组件就可以通过浏览器界面完成搭建,并且后期可以很方便的监控集群的运行状态
  • 自己开发工具:使用shell配合python把重复性的工作自动化
  • 容器化平台:比如Kubernetes来编排Docker,不过有些组件如果Docker Hub没有镜像,可能得自己制作镜像或者找第三方的镜像

自己手动布置(少量节点或者入门练习)

  • 安装hadoop和Java环境
    hadoop:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz

java:

wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz

自建目录 将hadoop和jdk解压到 目录下/root/hadoop_test
jdk改个名字

	mv jdk-19.0.2 jdk

添加环境变量

	vi /etc/profile

在这里插入图片描述

	source /etc/profile

查看是否配置成功
java --version
hadoop version

  • hadoop及 网络配置

  • 服务器之间ssh 免密登录

  • Java环境
    cd /root/hadoop_test/hadoop-2.10.2/etc/hadoop/
    vi hadoop-env.sh

    export JAVA_HOME=/root/hadoop_test/jdk
    

    source hadoop-env.sh

  • core-site.xml

    vi core-site.xml
    分布式:

    <configuration>
        <!--用于设置Hadoop的文件系统,由URI指定-->
        <property>
            <name>fs.defaultFS</name>
            <!--用于指定namenode地址在hadoop01机器上-->
            <value>hdfs://hadoop01:9000</value>
        </property>
        <!--配置Hadoop的临时目录,默认/tem/hadoop-${user.name}-->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/export/servers/hadoop-2.7.4/tmp</value>
        </property>
    </configuration>
    
    

    伪分布式:

    <configuration>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/usr/local/hadoop/tmp</value>
            <description>Abase for other temporary directories.</description>
        </property>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
    </configuration>
    
  • hdfs-site.xml

    vi hdfs-site.xml
    分布式:

    <configuration>
        <!--指定HDFS的数量-->
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <!--secondary namenode 所在主机的IP和端口-->
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>hadoop02:50090</value>
        </property>
    </configuration>
    

    伪分布式:

    <configuration>
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
            <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>file:/root/hadoop_test/hadoop-2.10.2/tmp/dfs/name</value>
            </property>
            <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>file:/root/hadoop_test/hadoop-2.10.2/tmp/dfs/data</value>
            </property>
    </configuration>
    
  • mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml**
    vi mapred-site.xml
    分布式:

    <configuration>
        <!--指定MapReduce运行时的框架,这里指定在YARN上,默认在local-->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
  • yarn-site.xml
    vi yarn-site.xml
    分布式:

    
    	<configuration>
    	    <!--指定YARN集群的管理者(ResourceManager)的地址-->
    	    <property>
    	        <name>yarn.resourcemanager.hostname</name>
    	        <value>hadoop01</value>
    	    </property>
    	    <property>
    	        <name>yarn.nodemanager.aux-services</name>
    	        <value>mapreduce_shuffle</value>
    	    </property>
    	</configuration>
    
  • slaves
    #tip:将文件中的localhost删除,添加主节点和子节点的主机名称
    #tip:如主节点hadoop01,子节点hadoop02和hadoop03
    vi slaves

  1. 验证及启动
    NameNode的格式化(格式化成功后轻易不要再次格式化)
    hdfs namenode -format
    启动
    start-all.sh
    查看
    jps

分布式
出现下图6个即成功
在这里插入图片描述
伪分布式
出现 NameNode DataNode SeconderyNameNode 即可

云服务器:华为云HECS 2核4G
系统: Ubuntu20.04

### 搭建Hadoop集群所需步骤 #### 准备工作环境 为了构建稳定可靠的Hadoop集群,需先准备好运行环境。使用VMware创建两个虚拟机作为节点来部署Hadoop集群是一个常见做法[^1]。建议选用Ubuntu操作系统版本,如Ubuntu 16.04 LTS。 #### 配置网络与主机名 确保各台机器能够通过私有IP地址互相通信,并设置好每台服务器的固定主机名称。编辑`/etc/hosts`文件,在所有节点上添加其他节点的映射关系。 #### 关闭防火墙服务 为简化配置过程并减少潜在冲突,可以暂时关闭各个节点上的防火墙服务。对于Ubuntu系统而言,可通过命令`sudo ufw disable`实现此操作。 #### 安装Java环境 由于Hadoop基于Java开发,因此需要预先安装JDK。推荐采用官方提供的OpenJDK或者Oracle JDK版本。可以通过包管理器apt-get轻松完成安装: ```bash sudo apt update && sudo apt install openjdk-8-jdk -y ``` #### 下载并解压Hadoop软件包 前往Apache官方网站下载最新稳定版Hadoop压缩包,上传至任意一台主控节点后进行解压处理。通常会将其放置于`/usr/local/hadoop`目录下以便管理和维护。 #### 修改核心配置文件 进入解压后的Hadoop目录下的`etc/hadoop`子目录中找到几个重要的XML格式配置文档,按照实际需求调整参数设定。主要涉及以下几个方面: - `core-site.xml`: 设置HDFS默认存储路径以及RPC连接端口等基本信息; - `hdfs-site.xml`: 规定NameNode和DataNodes之间交互细节,比如副本数量、临时数据保存位置等等; - `mapred-site.xml`: 明确MapReduce框架执行模式,默认情况下应指向YARN资源调度平台; - `yarn-site.xml`: 描述ResourceManager及其辅助组件的工作方式,包括内存分配策略等内容; #### 初始化分布式文件系统(HDFS) 当上述准备工作完成后,则可以在主控节点上启动初始化命令以建立初始状态的命名空间结构: ```bash $HADOOP_HOME/bin/hdfs namenode -format ``` #### 启动整个集群服务 最后一步就是依次开启各类守护进程了。借助脚本工具可一次性激活所有必要的后台程序: ```bash start-dfs.sh # 开启HDFS相关服务 start-yarn.sh # 启用YARN计算框架 mr-jobhistory-daemon.sh start historyserver # 如果需要支持MRV2的话还需单独打开历史记录服务器 ``` 此时便成功组建了一个简易但功能完备的小型Hadoop集群环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值