为了学习Hadoop生态的部署和调优技术,在笔记本上的3台虚拟机部署Hadoop集群环境,要求保证HA,即主要服务没有单点故障,能够执行最基本功能,完成小内存模式的参数调整。

1.    准备环境

1.1. 规划

  • 克隆3台服务器,主机名和IP如下

主机名

IP

软件

hadoop

192.168.154.128

原始虚拟机用于克隆

hadoop1

192.168.154.3

Zookeeper,journalnode Namenode, zkfc, Resourcemanager

hadoop2

192.168.154.4

Zookeeper,journalnode Namenode, zkfc, Resourcemanager, DataNode,NodeManager

hadoop3

192.168.154.5

Zookeeper,journalnode DataNode,NodeManager

  • 设置每台服务器的域名解析
vi /etc/hosts
127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.154.3 hadoop1[]
192.168.154.4 hadoop2
192.168.154.5 hadoop3

1.2. 准备软件包

名称

描述

ssh_auth

设置互信的工具包

C3

集群管理效率工具,在集群范围执行shell命令

hadoop-2.7.3.tar.gz

hadoop安装包

zookeeper-3.4.9.tar.gz

zookeeper安装包

1.3. 设置互信

采用设置互信的工具,解压文件到目录

vi ./host
hadoop1
hadoop2
hadoop3

执行命令

./ssh_auth.sh hadoop hadoop ./host

验证:在hadoop1,hadoop2,hadoop3上分别登录三台机器,如果无需密码进入则正常

ssh hadoop1
exit ssh hadoop2
exit ssh hadoop3
exit

为了操作简单,也设置root用户的互信

./ssh_auth.sh root xxxxxx ./host

xxxxxx为root用户的密码

1.4. 安装C3

C3是Cluster Command & Control (C3) Tool Suite,是集群管理的效率工具,用于在集群服务器上通过ssh并行或者串行执行相同的命令。在Centos7上安装报告与filesystem-3.2-20.el7.x86_64冲突,所以需要强行安装,命令如下:

rpm -i c3-5.1.-0.1.noarch.rpm --nodeps --force

安装完成后,在使用C3的节点创建/etc/c3.conf文件。内容如下:

cluster cloud {
hadoop1:127.0.0.1 #head node
dead remove-index-
hadoop1
hadoop2
hadoop3
}

验证:切换回hadoop用户,执行cexec date

************************* cloud *************************
--------- hadoop1---------
××××××××××
--------- hadoop2---------
××××××××××
--------- hadoop3---------
××××××××××

1.5. 创建目标目录

切换到root用户 (用su -,使得root的环境变量起作用)

cexec mkdir -p /opt/cloud
cexec chown hadoop:hadoop /opt/cloud

切换到hadoop用户

#软件包的安装(解压缩的目标)目录
cexec mkdir -p /opt/cloud/packages #执行目录,是与安装包目录的软连接
cexec mkdir -p /opt/cloud/bin #配置文件目录,是与安装包目录中配置文件目录的软连接
cexec mkdir -p /opt/cloud/etc #数据目录
cexec mkdir -p /opt/cloud/data #日志目录
cexec mkdir -p /opt/cloud/logs

1.6. 配置Java环境

vi ~/.bashrc

增加

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

即刻生效

source ~/.bashrc

复制到另外两台服务器

scp ~/.bashrc hadoop2:/home/hadoop
scp ~/.bashrc hadoop3:/home/hadoop

[1] 增加 hadoop1
hadoop2的ip映射

安装高可用Hadoop生态 (一 ) 准备环境的更多相关文章

  1. 安装高可用Hadoop生态 (三) 安装Hadoop

    3.    安装Hadoop 3.1. 解压程序 ※ 3台服务器分别执行 .tar.gz -C/opt/cloud/packages /opt/cloud/bin/hadoop /etc/hadoop ...

  2. 安装高可用Hadoop生态 (四) 安装Spark

    4.    安装Spark 4.1. 准备目录 -bin-without-hadoop.tgz -C /opt/cloud/packages/ -bin-without-hadoop /opt/clo ...

  3. 安装高可用Hadoop生态 (二) 安装Zookeeper

    2.    安装Zookeeper 2.1. 解压程序 ※ 3台服务器分别执行 .tar.gz -C/opt/cloud/packages /opt/cloud/bin/zookeeper /conf ...

  4. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  5. 高可用Hadoop平台-Flume NG实战图解篇

    1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...

  6. 高可用Hadoop平台-Hue In Hadoop

    1.概述 前面一篇博客<高可用Hadoop平台-Ganglia安装部署>,为大家介绍了Ganglia在Hadoop中的集成,今天为大家介绍另一款工具——Hue,该工具功能比较丰富,下面是今 ...

  7. 高可用Hadoop平台-实战尾声篇

    1.概述 今天这篇博客就是<高可用Hadoop平台>的尾声篇了,从搭建安装到入门运行 Hadoop 版的 HelloWorld(WordCount 可以称的上是 Hadoop 版的 Hel ...

  8. 高可用Hadoop平台-集成Hive HAProxy

    1.概述 这篇博客是接着<高可用Hadoop平台>系列讲,本篇博客是为后面用 Hive 来做数据统计做准备的,介绍如何在 Hadoop HA 平台下集成高可用的 Hive 工具,下面我打算 ...

  9. 高可用Hadoop平台-启航

    1.概述 在上篇博客中,我们搭建了<配置高可用Hadoop平台>,接下来我们就可以驾着Hadoop这艘巨轮在大数据的海洋中遨游了.工欲善其事,必先利其器.是的,没错:我们开发需要有开发工具 ...

随机推荐

  1. Python网络爬虫实战(一)快速入门

    本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...

  2. 正则表达式(RegExp)

    前言:先来了解一下基础知识.再细说正则表达式~ 转义字符  ----   \ 转义字符会将与之相邻的字符转换含义. 例如说,希望在一个字符串中输出 “ 号,那么就可以使用在双引号前加入 \ ,这样就能 ...

  3. springboot postman 对象里传时间格式问题

    主要问题是系列化的问题,在定义时间变量处使用如下的注解即可.导包注意了······ 如果springmvc使用的是com.fasterxml.jackson 的jar包则直接使用一下注解即可 impo ...

  4. sys模块理解补充

    首先,我们利用import语句输入sys模块.基本上这句话告诉python,我们想要这个模块.sys模块包含了与python解释器和它的环境有关的函数. 当python执行import sys语句的时 ...

  5. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  6. 工厂/Builder,桥接/策略

    1.工厂 vs 抽象工厂 工厂方法模式: 用来加工.生产对象的类.比如说我想要一个汽车类,但是我总不能现场给你造个车出来对吧?于是我找到工厂类,然后工厂帮我把发动机型号选好,轮胎装好,油漆喷好,然后把 ...

  7. FEDay会后-Serverless与云开发,可能是前端的下一站

    进化本身是生物体与环境之间持续不断的信息交换的具体表现. -- 摘自<信息简史> 很荣幸在9月21号成都举办的第五届FEDay上作为讲师为大家分享腾讯云在近两年推出的云开发相关的技术和知识 ...

  8. 浅谈Task的用法

    Task是用来实现多线程的类,在以前当版本中已经有了Thread及ThreadPool,为什么还要提出Task类呢,这是因为直接操作Thread及ThreadPool,向线程中传递参数,获取线程的返回 ...

  9. 【linux】【ELK】搭建Elasticsearch+Logstash+Kibana+Filebeat日志收集系统

    前言 ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是 ...

  10. axios使用post方式请求出现400

    在vue中如果直接使用与ajax的参数传递方式类型是不正确的,需要转化,方式有两种 1:使用 new URLSearchParams()构造参数 let params = new URLSearchP ...