为了学习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】230#二叉搜索树中第K小的元素

    题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数. 示例 1: 输入: ro ...

  2. 005 Python开发环境配置

    目录 一.概述 二.Python语言概述 2.1 Python语言的诞生 2.2 Monty Python组合 三.Python语言系统开发环境配置 四.Python程序编写与运行 4.1 Pytho ...

  3. WebGL简易教程(四):颜色

    目录 1. 概述 2. 示例:绘制三角形 1) 数据的组织 2) varying变量 3. 结果 4. 理解 1) 图形装配和光栅化 2) 内插过程 5. 参考 1. 概述 在上一篇教程<Web ...

  4. 基础知识:Mysql基本操作命令

    启动mysql :  mysql -hlocalhost -uroot -p 创建数据库:create database 数据库名字; 指定要操作的数据库:use 数据库名字; 查看数据表建表语句:s ...

  5. shell中sh, exec, source, fork, ./的区别

    shell中sh, exec, source, fork, ./的区别 1,sh sh test.sh ​ sh是通过创建子进程(subshell)去执行脚本,父进程无法使用子进程中的变量,而子进程对 ...

  6. HBase WAL原理学习

    1.概述 客户端往RegionServer端提交数据的时候,会写WAL日志,只有当WAL日志写成功以后,客户端才会被告诉提交数据成功,如果写WAL失败会告知客户端提交失败,换句话说这其实是一个数据落地 ...

  7. Vue路由(vue-router)详细讲解指南

    中文文档:https://router.vuejs.org/zh/ Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌.路由实际 ...

  8. 006:CSS高级技巧

    目录 前言 理论 CSS高级技巧 一:元素的显示与隐藏 在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是 display visibility 和 overflow. 他们的主要目的 ...

  9. [Linux] Linux下undefined reference to ‘pthread_create’问题解决

    问题的原因:pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中函数的入口地址,于是链接会失败. 解决:在gcc编译的时候,附加要加 -lpthread参数即可解决.

  10. Unity-遇到的问题小总结

    1. event trigger后面显示不了对应的方法 原因:我是直接把脚本拖拽进去的,这是没有实例化的,拖拽进去的应该是挂载这个脚本的GameObject就可以了 2.制作prefeb 将场景中的单 ...