IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hadoop高可用集群搭建 -> 正文阅读

[大数据]Hadoop高可用集群搭建

Hadoop集群配置

hadoop-01hadoop-02hadoop-03
ResourceManagerResourceManager
NodeManagerNodeManagerNodeManager
NameNodeNameNode
DataNodeDataNodeDataNode
DFSZKFailoverControllerDFSZKFailoverController
JournalNodeJournalNodeJournalNode
QuorumPeerMainQuorumPeerMainQuorumPeerMain

1. 配置主机名以及解析(3台)

????????新建三台虚拟机:hadoop1、hadoop2、hadoop3

????????配置host映射:

vi /etc/hosts
ip hadoop1
ip hadoop2
ip hadoop3

????????配置完成后可以使用ping +主机名

2.ssh免密操作

????????????生成密钥对(默认在/root/.ssh/目录下)

ssh-keygen

????????????????拷贝密钥到其他节点

ssh-copy-id hadoop-01
ssh-copy-id hadoop-02
ssh-copy-id hadoop-03

3. 安装hadoop

????????3.1 修改配置文件

????????(1)将hadoop安装包解压,重命名为hadoop,拷贝到/export/software/下

? ? ? ? (2)修改各配置文件,所有的配置文件在/export/software/hadoop/etc/hadoop目录下

????????????????修改core-site.xml,内容如下:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://cluster:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/export/software/hadoop-2.4.1/tmp</value>
        </property>
        <property>
                <name>hadoop.native.lib</name>
                <value>false</value>
        </property>
        <property>
                <name>ha.zookeeper.quorum</name>
                <value>master:2181,slave1:2181,slave2:2181</value>
        </property>
</configuration>

修改hdfs-site.xml,内容如下:

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.nameservices</name>
                <value>cluster</value>
        </property>
        <property>
                <name>dfs.ha.namenodes.cluster</name>
                <value>nn01,nn02</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.cluster.nn01</name>
                <value>master:9000</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.cluster.nn01</name>
                <value>master:50070</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.cluster.nn02</name>
                <value>slave1:9000</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.cluster.nn02</name>
                <value>slave1:50070</value>
        </property>
        <property>
                <name>dfs.namenode.shared.edits.dir</name>
                <value>qjournal://master:8485;slave1:8485;slave2:8485/cluster</value>
        </property>
        <property>
                <name>dfs.journalnode.edits.dir</name>
                <value>/export/data/hadoop/journaldata</value>
        </property>
        <property>
                <name>dfs.ha.automatic-failover.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>dfs.client.failover.proxy.provider.cluster</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
                  <name>dfs.ha.fencing.methods</name>
                  <value>sshfence
                        shell(/bin/true)
                  </value>
        </property>
        <property>
                <name>dfs.ha.fencing.ssh.private-key-files</name>
                <value>/root/.ssh/id_rsa</value>
        </property>
        <property>
                <name>dfs.ha.fencing.ssh.connect-timeout</name>
                <value>30000</value>
        </property>
        <property>
                <name>dfs.name.dir</name>
                <value>/export/software/hadoop-2.4.1/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/export/software/hadoop-2.4.1/tmp/dfs/data</value>
        </property>
</configuration>

修改yarn-site.xml,内容如下:

        <property>
                <name>yarn.resourcemanager.ha.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.cluster-id</name>
                <value>yrc</value>
        </property>
        <property>
                <name>yarn.resourcemanager.ha.rm-ids</name>
                <value>rm1,rm2</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname.rm1</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname.rm2</name>
                <value>slave1</value>
        </property>
        <property>
                <name>yarn.resourcemanager.zk-address</name>
                <value>master:2181,slave1:2181,slave2:2181</value>
        </property>
</configuration>

修改mapred-site.xml(该文件不存在,需要手动创建),cp mapred-site.xml.template mapred-site.xml,内容如下:

<configuration>
	<!-- 采用yarn作为mapreduce的资源调度框架 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

修改slaves文件,内容如下:

hadoop-01
hadoop-02
hadoop-03

修改hadoop-env.sh文件,指定jdk的地址

# The java implementation to use.
export JAVA_HOME=/export/software/jdk1.8.0_131

配置hadoop环境变量,vi /etc/profile内容如下

vi /etc/profile
export HADOOP_HOME=/export/software/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
:wq
source /etc/profile

3.2 拷贝复制到其它机器

????????

scp -r /export/software/hadoop hadoop2:/export/software
scp -r /export/software/hadoop hadoop3:/export/software

3.3 启动hadoop

? ? ? ? 格式化命令

hadoop namenode -format
hdfs zkfc -formatZK

? ? ? ?格式完之后将hadoop1得tmp文件传给hadoop2

scp -r /export/software/hadoop/tmp hadoop2:/export/software/hadoop/

? ? ? ? 启动命令

hadoop-daemon.sh start journalnode //需手动启动
zkServer.sh start  //启动Zookeeper
start-all.sh

? ? ? ? 附加自己手动启动(系统没启动时可指定启动)

hadoop-daemon.sh start datanode
yarn-daemon.sh start resourcemanager?

3.4?启动hadoop后查看进程? ?jps

????????

????????

?????????

?3.5测试namenode高可用


(1)在hadoop-01上kill掉namenode进程,然后通过浏览器查看hadoop-02的状态,发现状态变为active,说明高可用测试成功
(2)重新启动hadoop-01的namenode进程,sh start-dfs.sh,浏览器访问hadoop-01,此时hadoop-01的状态为standby

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:25:10  更:2021-08-05 17:26:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 17:18:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码