hadoop集群搭建之HA模式

本文详细描述了在Hadoop环境中进行环境变量配置、Zookeeper安装以及HDFS和NameNode配置的过程,包括Java路径、HadoopHome、HDFS地址、ZooKeeper集群设置等,确保了分布式系统的正常运行。

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

1.Hadoop环境变量相关配置

    1.在node01上创建hadoop安装路径:
     mkdir /opt/bigdata

     2.解压hadoop软件包
    tar xf hadoop-2.6.5.tar.gz
    mv hadoop-2.6.5  /opt/bigdata/
    3.配置hadoop环境便令
    vi /etc/profile    
     export  JAVA_HOME=/usr/java/default
     export HADOOP_HOME=/opt/bigdata/hadoop-2.6.5
     export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    4.使配置生效
     source /etc/profile

      5.检测

       在任意目录输入hd按Tab建看是否能联想出hdfs命令,有侧安装配置成功

     6.从node01分发到其他节点(node02,node03,node04)

            cd /opt
            scp -r ./bigdata/  node02:`pwd`
            scp -r ./bigdata/  node03:`pwd`
            scp -r ./bigdata/  node04:`pwd`

        2.安装zookeeper(node02,node03,node04)

node02:
            tar xf zook....tar.gz
            mv zoo...    /opt/bigdata
            cd /opt/bigdata/zoo....
            cd conf
            cp zoo_sample.cfg  zoo.cfg
            vi zoo.cfg
                datadir=/var/bigdata/hadoop/zk
                server.1=node02:2888:3888
                server.2=node03:2888:3888
                server.3=node04:2888:3888
            mkdir /var/bigdata/hadoop/zk
            echo 1 >  /var/bigdata/hadoop/zk/myid 
            vi /etc/profile
                export ZOOKEEPER_HOME=/opt/bigdata/zookeeper-3.4.6
                export                 PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
            . /etc/profile
            cd /opt/bigdata
            scp -r ./zookeeper-3.4.6  node03:`pwd`
            scp -r ./zookeeper-3.4.6  node04:`pwd`
        node03:
            mkdir /var/bigdata/hadoop/zk
            echo 2 >  /var/bigdata/hadoop/zk/myid
            *环境变量
            . /etc/profile
        node04:
            mkdir /var/bigdata/hadoop/zk
            echo 3 >  /var/bigdata/hadoop/zk/myid
            *环境变量
            . /etc/profile

        node02~node04:
            zkServer.sh start

   3.hadoop文件相关配置

       1.修改hadoop-env.sh

        vi hadoop-env.sh
        export JAVA_HOME=/usr/java/default

         2.修改core-site.xml

            vi  core-site.xml

<property>
    <name>fs.defaultFS</name>
	<value>hdfs://mycluster</value>
</property>

<property>
	<name>ha.zookeeper.quorum</name>
	<value>node02:2181,node03:2181,node04:2181</value>
</property>

      3.修改hdfs-site.xml

        vi hdfs-site.xml

<property>
		  <name>dfs.nameservices</name>
		  <value>mycluster</value>
		</property>
		<property>
		  <name>dfs.ha.namenodes.mycluster</name>
		  <value>nn1,nn2</value>
		</property>
		<property>
		  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
		  <value>node01:8020</value>
		</property>
		<property>
		  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
		  <value>node02:8020</value>
		</property>
		<property>
		  <name>dfs.namenode.http-address.mycluster.nn1</name>
		  <value>node01:50070</value>
		</property>
		<property>
		  <name>dfs.namenode.http-address.mycluster.nn2</name>
		  <value>node02:50070</value>
		</property>

		#以下是JN在哪里启动,数据存那个磁盘
		<property>
		  <name>dfs.namenode.shared.edits.dir</name>
		  <value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
		</property>
		<property>
		  <name>dfs.journalnode.edits.dir</name>
		  <value>/var/bigdata/hadoop/ha/dfs/jn</value>
		</property>
		
		#HA角色切换的代理类和实现方法,我们用的ssh免密
		<property>
		  <name>dfs.client.failover.proxy.provider.mycluster</name>
		  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
		</property>
		<property>
		  <name>dfs.ha.fencing.methods</name>
		  <value>sshfence</value>
		</property>
		<property>
		  <name>dfs.ha.fencing.ssh.private-key-files</name>
		  <value>/root/.ssh/id_dsa</value>
		</property>
		
		#开启自动化: 启动zkfc
		 <property>
		   <name>dfs.ha.automatic-failover.enabled</name>
		   <value>true</value>
		 </property>

        4.修改vi slaves

        vi slaves

node02
node03
node04

### 如何搭建Hadoop集群 #### 准备工作 为了成功搭建Hadoop集群,需准备如下组件: - 虚拟化软件:如虚拟机VMware用于创建多个虚拟环境来模拟分布式计算节点[^2]。 - 操作系统:可选用Ubuntu或CentOS作为基础操作系统,在此环境中部署Hadoop服务[^1]。 - 远程管理工具:Xshell可用于远程连接并操作各台虚拟机上的命令行界面。 #### 安装Java开发包(JDK) 由于Hadoop基于Java编写,因此需要先安装JDK。对于特定版本的要求,请参照官方文档说明。下载对应平台的压缩包`jdk-8u162-linux-x64.tar.gz`后解压至指定目录,并配置环境变量使得全局可用。 #### 下载与配置Hadoop 获取稳定版Hadoop发行包`hadoop-3.1.3.tar.gz`,将其放置于目标路径下完成解压过程。通过执行`cd /usr/local/hadoop && ./bin/hadoop version`可以验证安装是否正确以及查看当前使用的具体版本号。 #### 编辑核心配置文件 进入Hadoop安装目录下的etc子文件夹内编辑必要的XML格式配置文件,主要包括但不限于core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等。这些设置决定了整个框架的行为模式及其参数调整。 #### 初始化NameNode 首次启动之前应当初始化HDFS文件系统的命名空间(NameNode),这一步骤可通过运行`sbin/hdfs namenode -format`指令实现。该命令会清除任何已存在的元数据信息并建立新的文件结构以便后续正常使用。 #### 启动集群服务 依次开启各个守护进程以确保所有节点间能够正常通信协作。通常情况下按照以下顺序进行: ```bash sbin/start-dfs.sh # 启动DataNodes 和 NameNode sbin/start-yarn.sh # 启动ResourceManager 及 NodeManagers mr-jobhistory-daemon.sh start historyserver # (可选) 开启MapReduce作业历史记录服务器 ``` 以上即为构建简易Hadoop集群所需经历的主要环节概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新鲜氧气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值