为了学习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. 【LeetCode】162-寻找峰值

    题目描述 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返回任何一个 ...

  2. Java并发笔记——单例与双重检测

    单例模式可以使得一个类只有一个对象实例,能够减少频繁创建对象的时间和空间开销.单线程模式下一个典型的单例模式代码如下: ① class Singleton{ private static Single ...

  3. 《clean code》讲述代码中的道,而不是术

    Clean code 看<clean code>一书,学习高手写出的代码,简单高效的代 1.目标 Bjarne Stroustrup:优雅且高效:直截了当:减少依赖:只做好一件事 Grad ...

  4. 会用python把linux命令写一遍的人,进大厂有多容易?

    看过这篇<2000字谏言,给那些想学Python的人,建议收藏后细看!>的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令. 文章中我就提到如何提升自己的 ...

  5. aclocal-1.14: 未找到命令

    WARNING: 'aclocal-1.14' is missing on your system. 一条命令解决 autoreconf -ivf

  6. [Leetcode] 第306题 累加数

    一.题目描述 累加数是一个字符串,组成它的数字可以形成累加序列. 一个有效的累加序列必须至少包含 3 个数.除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和. 给定一个只包含数字 ' ...

  7. Centos利用脚本自动安装jdk

        在工作中还有自己的学习中,无论是使用tar包安装jdk,还是使用rpm安装,如果单台机器还能够接受,但是如果多台机器,就很困扰.所以,在自己配置环境的时候,根据网上各位前辈,沉淀了这样子一个脚 ...

  8. SpringCloud之Turbine

    [前面的话]书接上文,本文的某些知识依赖我的上一篇SpringCLoud的文章:SpringCloud之Feign,如果没有看过可以先移步去看一下.前文提到了hystrix的应用,以及hystrix的 ...

  9. c# 9.0 特性提案 简化空参数验证代码

    简而言之就是将已存在的特性null参数验证,使用一个简单的语义标注进一步简化. 对于如下这段代码 // Before void Insert(string s) { if (s is null) { ...

  10. linux 配置多个tomcat

    一.安装tomcat 1.下载链接:https://tomcat.apache.org/download-70.cgi,选择需要的版本下载(.tar.gz文件后缀) 2.通过Xshell.Xftp上传 ...