今非昔比场景下 MySQL 的迁徙方案

4.1 场景一 一主一从结构迁移从库

依照从易到难的思路,大家从简单的协会动手。A
项目,原本是一主一从结构。101 是主节点,102 是从节点。因作业需要,把 102
从节点迁移至 103,架构图如图一。102 从节点的多寡容量过大,无法采取mysqldump 的花样备份。和研发互换后,形成相同的方案。

澳门美高梅手机网站 1
图一 一主一从结构迁移从库架构图

具体做法是如此:

  • 研发将 102 的读业务切到主库;
  • 肯定 102 MySQL 状态(首要看 PROCESS
    LIST),观察机器流量,确认无误后,截止 102 从节点的劳动;
  • 103 新建 MySQL 实例,建成之后,截止 MySQL 服务,并且将一切数据目录
    mv 到任何地方做备份;
  • 将 102 的总体 mysql 数据目录使用 rsync 拷贝到 103;
  • 拷贝的还要,在 101 授权,使 103 有拉取 binlog 的权杖(REPLICATION
    SLAVE, REPLICATION CLIENT);
  • 待拷贝完成,修改 103 配置文件中的 server_id,注意不要和 102
    上的如出一辙;
  • 在 103 启动 MySQL
    实例,注意安排文件中的数据文件路径以及数据目录的权能;
  • 进入 103 MySQL 实例,使用 SHOW SLAVE STATUS 检查从库状态,可以看来
    Seconds_Behind_Master 在递减;
  • Seconds_Behind_Master 变为 0 后,表示同步完成,此时可以用
    pt-table-checksum 检查 101 和 103
    的数目一致,但相比较耗时,而且对主节点有影响,可以和支付一起展开数据一致性的表明;
  • 和研发交换,除了做多少一致性验证外,还需要表明账号权限,以防业务迁回后访问出错;
  • 做完上述手续,可以和研发协调,把 101 的局部读业务切到
    103,观看业务意况;
  • 一经事情并未问题,评释迁移成功。

3,修改配置文件

4.5 场景五 双主结构跨机房迁移

接下去看看双主结构跨机房迁移如何是好。某项目由于容灾考虑,使用了跨机房,采纳了双主结构,双边均可以写。因为磁盘空间问题,需要对
A 地的机器举行替换。打算将主节点 1.101 和从节点 1.102 同时迁移至新的机械
1.103 和 1.104,1.103 充当主节点,1.104 充当从节点。B 地的 2.101 和
2.102 保持不变,但搬迁完成后,1.103 和 2.101
互为双主。架构图如图五。因为是双主结构,两边同时写,假诺要替换主节点,单方必须有节点截至服务。

澳门美高梅手机网站 2
图五 双主结构跨机房迁移架构图

具体的做法如下:

  • 1.103 和 1.104
    新建实例,搭建主从涉嫌,此时的主节点和从节点处于空载;
  • 肯定 1.102 MySQL 状态(紧要看 PROCESS LIST),注意观望 MASTER STATUS
    不再变化。观看机器流量,确认无误后,截至 1.102 从节点的劳务;
  • 1.103 新建 MySQL 实例,建成之后,结束 MySQL 服务,并且将全方位数据目录
    mv 到此外地方做备份;
  • 将 1.102 的所有 mysql 数据目录使用 rsync 拷贝到 1.103;
  • 拷贝的还要,在 1.101 授权,使 1.103 有拉取 binlog
    的权位(REPLICATION SLAVE, REPLICATION CLIENT);
  • 待拷贝完成,修改 1.103 配置文件中的 server_id,注意不要和 1.102
    上的同等;
  • 在 1.103 启动 MySQL
    实例,注意安排文件中的数据文件路径以及数额目录的权限;
  • 进入 1.103 MySQL 实例,使用 SHOW SLAVE STATUS 检查从库状态,可以看出
    Seconds_Behind_Master 在递减;
  • Seconds_Behind_Master 变为 0 后,表示同步完成,此时得以用
    pt-table-checksum 检查 1.101 和 1.103
    的数量一致,但相比耗时,而且对主节点有震慑,可以和开发一起开展数据一致性的注解;
  • 俺们运用同样的法门,使 1.104 变成 1.103 的从库;
  • 和研发沟通,除了做多少一致性验证外,还索要验证账号权限,以防业务迁走后走访出错;
  • 这儿,大家要做的就是将 1.103 变成 2.101
    的从库,具体的做法可以参考场景四;
  • 亟需注意的是,1.103 的单双号配置需要和 1.101 一致;
  • 做完上述手续,可以和研发协调,把 1.101 的读写作业切到 1.103,把
    1.102 的读业务切到 1.104。观看业务情状;
  • 假定事情并未问题,阐明迁移成功。

六、HBase的条件布置

4.2 场景二 一主一从结构迁移指定库

大家通晓一主一从只迁移从库如何做之后,接下去看看如何同时迁移主从节点。因不同工作同时做客同一服务器,导致单个库压力过大,还不便管理。于是,打算将主节点
101 和从节点 102 同时迁移至新的机器 103 和 104,103 充当主节点,104
充当从节点,架构图如图二。此次迁移只需要迁移指定库,这么些库容量不是太大,并且可以保证数据不是实时的。

澳门美高梅手机网站 3
图二 一主一从结构迁移指定库架构图

实际的做法如下:

  • 103 和 104 新建实例,搭建主从涉嫌,此时的主节点和从节点处于空载;
  • 102
    导出多少,正确的做法是安排定时任务,在工作低峰做导出操作,此处采取的是
    mysqldump;
  • 102 收集指定库需要的账号以及权限;
  • 102 导出多少截至,使用 rsync 传输到 103,必要时做缩减操作;
  • 103 导入数据,此时数据会自动同步到 104,监控服务器状态以及 MySQL
    状态;
  • 103 导入完成,104 同步到位,103 依照 102
    收集的账号授权,完成后,公告研发检查数据以及账户权限;
  • 上述成功后,可研发协作,将 101 和 102 的事务迁移到 103 和
    104,寓目业务情状;
  • 设若工作没有问题,声明迁移成功。

2,ssh免登录

安装ssh免密码登录是为了操作方便
扭转秘钥文件
在每台机械上都推行一回
率先输入:

ssh-keygen -t rsa -P ''

变动秘钥之后,然后将每台机器/root/.ssh
都存入内容千篇一律的公文,文件名称叫authorized_keys,文件内容是大家刚刚为3台机器生成的公钥。可以在一台机械上转移,然后复制到其余的机器上。

新建authorized_keys文件
输入 :

 touch  /root/.ssh/authorized_keys

编辑 authorized_keys 并将此外机器上的秘钥拷贝过来

cat /root/.ssh/id_rsa.pub
vim /root/.ssh/authorized_keys

将其余机器上的 id_rsa.pub 的始末拷贝到 authorized_keys这么些文件中。
第一个机械:
澳门美高梅手机网站 4

第二个机器:
澳门美高梅手机网站 5

其两个机械:
澳门美高梅手机网站 6

最终authorized_keys文件的始末
澳门美高梅手机网站 7

将以此最终的authorized_keys文件copy到另外机器的 /root/.ssh
目录下。使用scp或者ftp都可以。
scp命令示例:

scp -r /root/.ssh/authorized_keys root@192.169.0.24:/root/.ssh

测试免密码登录
输入:

ssh slave1
ssh slave2

输入 exit 退出
澳门美高梅手机网站 8

一 目录


目录

[TOC]

三 MySQL 迁移方案概览


MySQL
迁移无非是环绕着数量做工作,再持续延长,无非就是在承保工作稳定持续地运作的前提下做备份復苏。这问题就在怎么连忙安全地拓展备份苏醒。

一方面,备份。针对各种主节点的从节点依然备节点,都有备份。那多少个备份可能是全备,可能是增量备份。在线备份的法子,可能是拔取mysqldump,可能是 xtrabackup,还可能是 mydumper。针对小容量(10GB
以下)数据库的备份,我们可以运用 mysqldump。但针对大容量数据库(数百GB
或者 TB 级别),我们无法接纳 mysqldump
备份,一方面,会时有暴发锁;另一方面,耗时太长。这种景观,可以挑选
xtrabackup
或者直接拷贝数据目录。间接拷贝数据目录方法,不同机器传输可以利用
rsync,耗时跟网络有关。使用
xtrabackup,耗时重中之重在备份和网络传输。假使有全备或者指定库的备份文件,这是获取备份的最好措施。如若备库可以容许停止服务,直接拷贝数据目录是最快的办法。倘使备库不容许截至服务,我们得以采用xtrabackup(不会锁定 InnoDB 表),这是成功备份的最佳折中艺术。

一面,恢复。针对小容量(10GB
以下)数据库的备份文件,我们得以一贯导入。针对大容量数据库(数百GB 或者
TB
级别)的復苏,得到备份文件到本机将来,恢复生机不算困难。具体的还原措施可以参见第四节。

3.2.2 环境布置

编辑 /etc/profile 文件
输入:

vim /etc/profile

添加:

export HADOOP_HOME=/opt/hadoop/hadoop2.8 
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

七 总结


正文从为啥要动迁讲起,接下去讲了迁移方案,然后讲解了不同景色下的迁徙实战,最后交给了注意事项以及实战技能。归咎起来,也就以下几点:

先是,迁移的目标是让工作稳定持续地运作;
第二,迁移的着力是怎么延续主从同步,我们需要在不同服务器和不同工作之间找到方案;
其三,业务切换需要考虑不同 MySQL
服务器之间的权力问题;需要考虑不同机器读写分离的各样以及主从关系;需要考虑跨机房调用对事情的影响。

读者在进行迁移的经过中,可以参照此文提供的思绪。但怎么着保证每个操作无误无误地运作,还亟需三思而后行。

 

原文:http://dbarobin.com/2015/09/15/migration-of-mysql-on-different-scenes/\#section-1

1,JDK配置

说明:
一般CentOS自带了openjdk,可是hadoop集群使用的是oracle官方的jdk,所以先行卸载CentOS的jdk,然后再设置在oracle下载好的JDK。
第一输入 java -version
查阅是否安装了JDK,假使设置了,但版本不相符的话,就卸载
澳门美高梅手机网站 9

输入
rpm -qa | grep java
翻看音讯
澳门美高梅手机网站 10
然后输入:
rpm -e –nodeps “你要卸载JDK的信息”
如: rpm -e –nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
澳门美高梅手机网站 11

肯定没有了之后,解压下载下来的JDK

tar  -xvf   jdk-8u144-linux-x64.tar.gz

运动到opt/java文件夹中,没有就新建,然后将文件夹重命名为jdk1.8。

mv  jdk1.8.0_144 /opt/java
mv  jdk1.8.0_144  jdk1.8

接下来编辑 profile 文件,添加如下配置
输入:

vim /etc/profile

添加:

export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

增长成功未来,输入

source /etc/profile
java  -version 

翻看是否安排成功

四 MySQL 迁移实战


俺们搞了然怎么要做动迁,以及搬迁如何做以后,接下去看看生产环境是何许操作的。不同的应用场景,有例外的缓解方案。

翻阅具体的实战此前,尽管和读者有如下约定:

  1. 为了保障隐私,本文中的服务器 IP 等音信经过处理;
  2. 假诺服务器在同一机房,用服务器 IP 的 D 段代替服务器,具体的 IP
    请参考架构图;
  3. 假如服务器在不同机房,用服务器 IP 的 C 段 和 D 段代替服务器,具体的
    IP 请参考架构图;
  4. 各个现象给出方法,但不会详细地付诸每一步执行什么样命令,因为一方面,这会导致作品过长;另一方面,我以为假若通晓方法,具体的做法就会迎面扑来的,只在于驾驭文化的水平和获取音信的力量;
  5. 实战进程中的注意事项请参考第五节。

3,hadoop启动

:启动hadoop往日确保防火墙关闭,各样机器时间通过,ssh免登录都没问题。
初始化hadoop
切换来/opt/hadoop/hadoop2.8/bin目录下输入

./hdfs  namenode  -format

澳门美高梅手机网站,开头化成功以后,切换来/opt/hadoop/hadoop2.8/sbin
启动hadoop 的hdfs和yarn
输入:

start-dfs.sh
start-yarn.sh

率先次登录会询问是不是连接,输入yes ,然后输入密码就足以了
启动成功未来,可以行使jps命令在逐一机器上查看是否成功
可以在浏览器输入: ip+50070 和8088端口查看
澳门美高梅手机网站 12

澳门美高梅手机网站 13

若如图显示,则启动成功。
若退步,检查jps是否中标启动,防火墙是否都关门。都认同没问题以后,仍然不可以开拓界面,请查看日志,再来找原因。

4.3 场景三 一主一从结构双边迁移指定库

接下去看看一主一从结构双边迁移指定库如何是好。同样是因为作业共用,导致服务器压力大,管理混乱。于是,打算将主节点
101 和从节点 102 同时迁移至新的机械 103、104、105、106,103 充当 104
的主节点,104 充当 103 的从节点,105 充当 106 的主节点,106 充当 105
的从节点,架构图如图三。此次迁移只需要迁移指定库,这个库容量不是太大,并且可以保证数据不是实时的。我们得以看出,此次迁移和情状二很相近,无非做了一次迁移。

澳门美高梅手机网站 14
图三 一主一从结构双边迁移指定库架构图

具体的做法如下:

  • 103 和 104 新建实例,搭建主从涉嫌,此时的主节点和从节点处于空载;
  • 102 导出 103
    需要的指定库数据,正确的做法是布局定时任务,在业务低峰做导出操作,此处采纳的是
    mysqldump;
  • 102 收集 103 需要的指定库需要的账号以及权限;
  • 102 导出103 需要的指定库数据结束,使用 rsync 传输到
    103,必要时做缩减操作;
  • 103 导入数据,此时数据会自动同步到 104,监控服务器状态以及 MySQL
    状态;
  • 103 导入完成,104 同步完成,103 遵照 102
    收集的账号授权,完成后,布告研发检查数据以及账户权限;
  • 上述成功后,和研发协作,将 101 和 102 的事情迁移到 103 和
    104,观察业务意况;
  • 105 和 106 新建实例,搭建主从涉嫌,此时的主节点和从节点处于空载;
  • 102 导出 105
    需要的指定库数据,正确的做法是布置定时任务,在事情低峰做导出操作,此处采纳的是
    mysqldump;
  • 102 收集 105 需要的指定库需要的账号以及权限;
  • 102 导出 105 需要的指定库数据停止,使用 rsync 传输到
    105,必要时做缩减操作;
  • 105 导入数据,此时数据会自动同步到 106,监控服务器状态以及 MySQL
    状态;
  • 105 导入完成,106 同步到位,105 按照 102
    收集的账号授权,完成后,公告研发检查数据以及账户权限;
  • 上述成功后,和研发协作,将 101 和 102 的作业迁移到 105 和
    106,观看业务意况;
  • 万一具有事情并未问题,注脚迁移成功。

4.1.1 文件准备

将下载好的Scala文件解压
输入

tar -xvf scala-2.12.2.tgz

接下来移动到/opt/scala 里面
并且重命名为scala2.1
输入

mv  scala-2.12.2  /opt/scala
mv scala-2.12.2 scala2.12

4.4 场景四 一主一从结构全体迁移主从

接下去看看一主一从结构全部迁移主从肿么办。和情景二类似,但是这里是迁移所有库。因
101 主节点 IO 出现瓶颈,打算将主节点 101 和从节点 102 同时迁移至新的机器
103 和 104,103 充当主节点,104
充当从节点。迁移完成后,在此以前的主节点和从节点吐弃,架构图如图四。此次迁移是全库迁移,容量大,并且需要确保实时。这一次的迁移相比杰出,因为使用的策略是先替换新的从库,再交替新的主库。所以做法有点复杂些。

澳门美高梅手机网站 15
图四 一主一从结构总体迁移主从架构图

切实的做法是这般:

  • 研发将 102 的读业务切到主库;
  • 确认 102 MySQL 状态(紧要看 PROCESS LIST,MASTER
    STATUS),阅览机器流量,确认无误后,截至 102 从节点的服务;
  • 104 新建 MySQL 实例,建成以后,截止 MySQL 服务,并且将全体数据目录
    mv 到此外地方做备份,注意,此处操作的是 104,也就是鹏程的从库;
  • 将 102 的全方位 mysql 数据目录使用 rsync 拷贝到 104;
  • 拷贝的同时,在 101 授权,使 104 有拉取 binlog 的权柄(REPLICATION
    SLAVE, REPLICATION CLIENT);
  • 待拷贝完成,修改 104 配置文件中的 server_id,注意不要和 102
    上的一致;
  • 在 104 启动 MySQL
    实例,注意安排文件中的数据文件路径以及数额目录的权位;
  • 进去 104 MySQL 实例,使用 SHOW SLAVE STATUS 检查从库状态,可以看来
    Seconds_Behind_Master 在递减;
  • Seconds_Behind_Master 变为 0 后,表示同步到位,此时得以用
    pt-table-checksum 检查 101 和 104
    的数码一致,但相比较耗时,而且对主节点有震慑,可以和付出一起举行数量一致性的验证;
  • 除却做多少一致性验证外,还需要证实账号权限,以防业务迁走后走访出错;
  • 和研发协作,将事先 102 从节点的读业务切到 104;
  • 利用 102 的数据,将 103 变为 101 的从节点,方法同上;
  • 接下去到了重要的地方了,我们需要把 104 变成 103 的从库;
    • 104 STOP SLAVE;
    • 103 STOP SLAVE IO_THREAD;
    • 103 STOP SLAVE SQL_THREAD,记住 MASTER_LOG_FILE 和
      MASTER_LOG_POS;
    • 104 START SLAVE UNTIL 到上述 MASTER_LOG_FILE 和
      MASTER_LOG_POS;
    • 104 再次 STOP SLAVE;
    • 104 RESET SLAVE ALL 清除从库配置信息;
    • 103 SHOW MASTER STATUS,记住 MASTER_LOG_FILE 和
      MASTER_LOG_POS;
    • 103 授权给 104 访问 binlog 的权限;
    • 104 CHANGE MASTER TO 103;
    • 104 重启 MySQL,因为 RESET SLAVE ALL 后,查看 SLAVE
      STATUS,Master_Server_Id 仍然为 101,而不是 103;
    • 104 MySQL 重启后,SLAVE 回机关重启,此时翻开 IO_THREAD 和
      SQL_THREAD 是否为 YES;
    • 103 START SLAVE;
    • 这时候查看 103 和 104 的动静,可以发现,从前 104 是 101
      的从节点,目前变成 103 的从节点了。
  • 政工迁移在此以前,断掉 103 和 101 的一块儿关系;
  • 做完上述手续,能够和研发协调,把 101 的读写作业切回 102,读业务切到
    104。需要留意的是,此时 101 和 103 均可以写,需要保证 101
    在没有写入的场地下切到 103,可以接纳 FLUSH TABLES WITH READ LOCK
    锁住 101,然后工作切到 103。注意,一定要工作低峰执行,切记;
  • 切换完成后,观望业务状况;
  • 一经工作没有问题,阐明迁移成功。

4,时间部署

集群上的机器时间要同步,因为我这边的是虚拟机,所以就绝不了。
设置集群时间共同可以利用NTP服务。
切实可以参考: http://blog.csdn.net/to_baidu/article/details/52562574

二 为何要迁移


MySQL 迁移是 DBA
平时维护中的一个做事。搬迁,究其本义,无非是把实际存在的实体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,六个天真的小不点儿,把一堆沙子挪向其他地方,铸就内心向往的城建。

生产条件中,有以下情状需要做动迁工作,如下:

  • 磁盘空间不够。诸如一些老项目,接纳的机型并不一定适用于数据库。随着时光的延迟,硬盘很有可能现身短缺;
  • 作业现身瓶颈。诸如项目中动用单机承担所有的读写作业,业务压力增大,不堪重负。倘使IO 压力在可接受的限量,会接纳读写分离方案;
  • 机械出现瓶颈。机械出现瓶颈紧要在磁盘 IO
    能力、内存、CPU,此时除了针对瓶颈做一些优化以外,选用迁移是无可非议的方案;
  • 项目改造。少数类型的数据库存在跨机房的气象,可能会在不同机房中加进节点,或者把机器从一个机房迁移到另一个机房。再例如,不同工作共用同样台服务器,为了缓解服务器压力以及福利维护,也会做动迁。

一句话,迁移工作是不得已而为之。实施迁移工作,目标是让工作稳定持续地运作。

3,防火墙关闭

说明:其实可以不闭馆防火墙,举办权力设置,不过为了便利访问,于是便关闭了防火墙。每个机器都做!!!

关闭防火墙的命令
截止防火墙:
service iptables stop
启航防火墙:
service iptables start
重启防火墙:
service iptables restart
世世代代关闭防火墙:
chkconfig iptables off

4.6 场景六 多实例跨机房迁移

接下去大家看看多实例跨机房迁移讲明做。每台机械的实例关系,我们得以参考图六。此次迁移的目标是为了做多少修复。在
2.117 上成立 7938 和 7939
实例,替换往日数据异常的实例。因为事情的缘由,某些库只在 A
地写,某些库只在 B 地写,所以存在共同过滤的状态。

澳门美高梅手机网站 16
图六 多实例跨机房迁移架构图

切切实实的做法如下:

  • 1.113 针对 7936 实例使用 innobackupex
    做数据备份,注意需要指定数据库,并且增长 slave-info 参数;
  • 备份完成后,将压缩文件拷贝到 2.117;
  • 2.117 创制数量目录以及配置文件涉及的连带目录;
  • 2.117 使用 innobackupex 恢复生机日志;
  • 2.117 使用 innobackupex 拷贝数据;
  • 2.117
    修改配置文件,注意如下参数:replicate-ignore-db、innodb_file_per_table
    = 1、read_only = 1、 server_id;
  • 2.117 更改数据目录权限;
  • 1.112 授权,使 2.117 有拉取 binlog 的权限(REPLICATION SLAVE,
    REPLICATION CLIENT);
  • 2.117 CHANGE MASTE TO 1.112,LOG FILE 和 LOG POS 参考
    xtrabackup_slave_info;
  • 2.117 START SLAVE,查看从库状态;
  • 2.117 上成立 7939 的不二法门类似,但是配置文件需要指定
    replicate-wild-do-table;
  • 和付出一起展开数据一致性的辨证和验证账号权限,以防业务迁走后走访出错;
  • 做完上述手续,可以和研发协调,把相应工作迁移到 2.117 的 7938 实例和
    7939 实例。观望业务情状;
  • 假使事情并未问题,表明迁移成功。
3.5.2.4 修改mapred-site.xml

履行mapreduce的运转框架配置。ps:感觉这些布局没啥用,可能自己没用mr吧。
倘诺没有 mapred-site.xml
该文件,就复制mapred-site.xml.template文件一碗水端平命名为mapred-site.xml。
修改这么些新建的mapred-site.xml文件,在<configuration>节点内插足配置:

<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

六 技巧


在 MySQL 迁移实战中,有如下技术可以采取:

  • 另外迁移 LOG FILE 以 relay_master_log_file(正在联合 master 上的
    binlog 日志名)为准,LOG POS 以 exec_master_log_pos(正在共同当前
    binlog 日志的 POS 点)为准;
  • 运用 rsync 拷贝数据,可以整合 expect、nohup 使用,相对是可以组合;
  • 在采用 innobackupex 备份数据的同时能够使用 gzip 举办压缩;
  • 在利用 innobackupex 备份数据,可以加上 –slave-info
    参数,方便做从库;
  • 在动用 innobackupex 备份数据,可以添加 –throttle 参数,限制
    IO,收缩对工作的影响。还足以加上 –parallel=n
    参数,加快备份,但需要小心的是,使用 tar 流压缩,–parallel
    参数无效;
  • 做多少的备份与还原,可以把待办事项列个清单,画个流程,然后把需要实践的下令提前准备好;
  • 本土急忙拷贝文件夹,有个不利的办法,使用 rsync,加上如下参数:-avhW
    –no-compress –progress;
  • 不等分区之间迅速拷贝数据,可以应用
    dd。或者用一个更靠谱的艺术,备份到硬盘,然后嵌入服务器上。异地还有更绝的,直接快递硬盘。

5.3.1 创制文件和目录

在集群的服务器上都创建这些目录

mkdir   /opt/zookeeper/data  
mkdir   /opt/zookeeper/dataLog

而且在/opt/zookeeper/data目录下创立myid文件
输入:

touch  myid

创立成功之后,更改myid文件。
自家这边为了便于,将master、slave1、slave2的myid文件内容改为1,2,3
澳门美高梅手机网站 17

五 注意事项


介绍完不同情形的动迁方案,需要专注如下几点:

  • 数据库迁移,假若涉嫌事件,记住主节点打开 event_scheduler 参数;
  • 任由如何情状下的迁徙,都要随时关心服务器状态,比如磁盘空间,网络抖动;其余,对事情的随地监控也是少不了的;
  • CHANGE MASTER TO 的 LOG FILE 和 LOG POS
    切记不要找错,假诺指定错了,带来的结果就是数据不相同或者搭建主从涉嫌败北;
  • 推行脚本不要在 $HOME 目录,记住在多少目录;
  • 搬迁工作可以拔取脚本做到自动化,但并非弄巧成拙,任何脚本都要通过测试;
  • 每执行一条命令都要三思和后行,每个命令的参数含义都要搞精通;
  • 多实例环境下,关闭 MySQL 选取 mysqladmin
    的样式,不要把正在利用的实例关闭了;
  • 从库记得把 read_only = 1 抬高,这会避免过多问题;
  • 每台机器的 server_id 必须确保不相同,否则会现出一道异常的场地;
  • 科学配置 replicate-ignore-db 和 replicate-wild-do-table;
  • 新建的实例记得把 innodb_file_per_table 设置为
    1,上述中的部分场景,因为前边的实例此参数为 0,导致 ibdata1
    过大,备份和传导都消耗了成百上千时刻;
  • 运用 gzip 压缩数量时,注意压缩完成后,gzip 会把源文件删除;
  • 负有的操作务必在从节点依旧备节点操作,如果在主节点操作,主节点很可能会宕机;
  • xtrabackup 备份不会锁定 InnoDB 表,但会锁定 MyISAM
    表。所以,操作在此之前记得检查下当前数据库的表是否有利用 MyISAM
    存储引擎的,假如有,要么单独处理,要么更改表的 Engine。

1,主机名更改以及主机和IP做连锁映射

2.做主机和IP的关联映射

修改hosts文件,做涉嫌映射
表达:这几个每台机械都做这个布局,具体ip和主机名称以投机的为准。
输入:

vim /etc/hosts

添加

192.169.0.23 master
192.169.0.24 slave1
192.169.0.25 slave2

澳门美高梅手机网站 18
说明:可以在一台机械添加了随后方可行使scp
命令或利用ftp将这多少个文件copy到 其他机器中。
scp命令示例:

scp -r /etc/hosts root@192.169.0.24:/etc
4.2.3.2 修改slaves

slaves 分布式文件
在conf目录下,修改slaves文件,倘使没有 slaves 该文件,就复制slaves
.template文件同等看待命名为slaves 。
修改那一个新建的slaves 文件,插足配置:

slave1 
slave2

在一台机械上(最好是master)做完那么些安排之后,我们利用scp命令将这么些部署传输到任何机器上。
输入:
scala环境传输

scp -r /opt/scala root@slave1:/opt
scp -r /opt/scala root@slave2:/opt

spark环境传输

scp -r /opt/spark root@slave1:/opt
scp -r /opt/spark root@slave2:/opt

传输之后,便在主节点启动集群。

3,spark启动

注脚:要先启动Hadoop
切换到Spark目录下
输入:

cd /opt/spark/spark2.2/sbin

接下来启动斯帕克(Spark)(Spark)
输入:

 start-all.sh

启动成功未来,可以运用jps命令在挨家挨户机器上查看是否中标。
能够在浏览器输入: ip+8080 端口查看

澳门美高梅手机网站 19
若成功显示这一个界面,则代表Spark成功启动。

4.2.1,文件准备

将下载好的Spark文件解压
输入

tar -xvf spark-1.6.3-bin-hadoop2.4-without-hive.tgz

接下来移动到/opt/spark 里面,同等看待命名
输入

mv  spark-1.6.3-bin-hadoop2.4-without-hive  /opt/spark
mv  spark-1.6.3-bin-hadoop2.4-without-hive  spark1.6-hadoop2.4-hive

二、Hadoop的环境搭建

先行表明,这多少个安排可以在一台机械上配备,然后复制到其他机器上就行了。复制之后注意使那么些配置文件生效。

6.3.3 修改regionservers

点名hbase的基本,和hadoop的slaves文件配置一样
将文件修改为

slave1 
slave2

澳门美高梅手机网站 20
:上边的为集群的主机名称

在一台机器上(最好是master)做完那一个配置之后,大家应用scp命令将那多少个安排传输到另外机器上。
输入:
hbase环境传输

scp -r /opt/hbaseroot@slave1:/opt
scp -r /opt/hbase root@slave2:/opt

传输之后,便在主节点启动集群。

3.5.2.6 修改slaves

设置基本的布置。尽管不安装这一个,集群就不能获悉主从了。假使是单机形式,就没必要配置了。
修改/opt/hadoop/hadoop2.8/etc/hadoop/slaves文件
更改为

slave1 
slave2

这一个安排参考Hadoop官方文档。
Hadoop官方配置文件具体表达: http://hadoop.apache.org/docs/r2.8.3/

在一台机器上(最好是master)做完这些安排之后,大家接纳scp命令将那么些部署传输到此外机器上。
输入:
jdk环境传输

scp -r /opt/java root@slave1:/opt
scp -r /opt/java root@slave2:/opt

hadoop环境传输

scp -r /opt/hadoop root@slave1:/opt
scp -r /opt/hadoop root@slave2:/opt

传输之后,便在主节点启动集群。
在开行hadoop从前,需要开端化,这多少个只需要在master上起先化就可以了。

1,文件准备

将下载下来的HBase的安排文件举办解压
在linux上输入:

 tar  -xvf   hbase-1.2.6-bin.tar.gz

接下来移动到/opt/hbase 文件夹里面,同等看待命名为 hbase1.2
输入

mv  hbase-1.2.6  /opt/hbase
mv  hbase1.2  /opt/hbase

4.2.2,环境布置

编辑 /etc/profile 文件
输入:

export  SPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive 
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

1,文件准备

将下载下来的Zookeeper 的布局文件举办解压
在linux上输入:

 tar  -xvf   zookeeper-3.4.10.tar.gz

然后移动到/opt/zookeeper里面,没有就新建,然后将文件夹重命名为zookeeper3.4
输入

mv  zookeeper-3.4.10  /opt/zookeeper
mv  zookeeper-3.4.10  zookeeper3.4

2,环境布置

编辑 /etc/profile 文件
输入:

export  ZK_HOME=/opt/zookeeper/zookeeper3.4 
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${ZK_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

3.2.3 修改配置文件

修改 core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml
等这一个部署文件
在linux输入进去该目录的一声令下:

cd /opt/hadoop/hadoop2.8/etc/hadoop
3.2.3.1 修改 core-site.xml

hadoop的寄放路径可以自行转移。初叶我觉着这么些文件夹需要手动创设,后来施行了,假如不手动创立,会活动成立的,所以就去掉了手动创立目录的步调。
输入:

vim core-site.xml

<configuration>节点内投入配置:

 <configuration>
<property>
    <name>hadoop.temp.dir</name>
    <value>file:/root/hadoop/tmp</value>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
<!-- eclipse连接hive 的配置-->
<property>
  <name>hadoop.proxyuser.root.hosts</name>
  <value>*</value>
 </property>
 <property>
  <name>hadoop.proxyuser.root.groups</name>
  <value>*</value>
</property>
</configuration>

澳门美高梅手机网站 21

说明: fs.defaultFS 是缺省文件的称呼, 最早采纳的是
fs.default.name,后来在新型官方文档中查到该格局已经弃用了。于是边改成这一个了。ps:感觉也没啥区别。

4.2.3,更改配置文件

切换目录
输入:

cd /opt/spark/spark1.6-hadoop2.4-hive/conf

5,急迅键设置(可选)

阐明:因为要时常切换各类目录以内,所以为了偷懒,就设置别名了。只需要在linux输入别名,就足以推行别名前面的吩咐,十分的方便。
例如:我们常用的ll就是 ls -l 的别名。关于别名这块各位可以自动检索。
输入:

vim ~/.bashrc

加上底下的内容

# Some more ailases
alias chd='cd /opt/hadoop/hadoop2.8'
alias chb='cd /opt/hbase/hbase1.2'
alias chi='cd /opt/hive/hive2.1'
alias czk='cd /opt/zookeeper/zookeeper3.4'
alias csp='cd /opt/spark/spark2.0-hadoop2.4-hive'

alias fhadoop='/opt/hadoop/hadoop2.8/bin/hdfs namenode -format'
alias starthadoop='/opt/hadoop/hadoop2.8/sbin/start-all.sh'
alias stophadoop='/opt/hadoop/hadoop2.8/sbin/stop-all.sh'

alias starthbase='/opt/hbase/hbase1.2/bin/start-hbase.sh'
alias stophbase='/opt/hbase/hbase1.2/bin/stop-hbase.sh'

alias startzk='/opt/zookeeper/zookeeper3.4/bin/zkServer.sh start'
alias stopzk='/opt/zookeeper/zookeeper3.4/bin/zkServer.sh stop'
alias statuszk='/opt/zookeeper/zookeeper3.4/bin/zkServer.sh status'

alias startsp='/opt/spark/spark1.6-hadoop2.4-hive/sbin/start-all.sh'
alias stopsp='/opt/spark/spark1.6-hadoop2.4-hive/sbin/stop-all.sh'

澳门美高梅手机网站 22

事业有成添加之后输入

source ~/.bashrc

下一场输入设置的别名就可以举办你所设置的始最终。别名的安装不必然非要按照地点的,假诺有更好办法就请使用

5.3.2 新建zoo.cfg

切换到/opt/zookeeper/zookeeper3.4/conf 目录下
若果没有 zoo.cfg 该文件,就复制zoo_sample.cfg文件不偏不倚命名为zoo.cfg。
修改这些新建的zoo.cfg文件

dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/dataLog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

澳门美高梅手机网站 23

说明:client
port,顾名思义,就是客户端连接zookeeper服务的端口。这是一个TCP
port。dataLogDir里是放置的顺序日志(WAL)。而dataDir里放的是内存数据结构的snapshot,便于连忙还原。为了达成性能最大化,一般指出把dataDir和dataLogDir分到不同的磁盘上,这样就可以丰富利用磁盘顺序写的特征。dataDir和dataLogDir需要协调创办,目录可以自己创设,对应即可。server.1中的这些1急需和master这么些机器上的dataDir目录中的myid文件中的数值对应。server.2中的这个2需要和slave1这一个机器上的dataDir目录中的myid文件中的数值对应。server.3中的这一个3亟需和slave2这么些机器上的dataDir目录中的myid文件中的数值对应。当然,数值你可以任由用,只要对应即可。2888和3888的端口号也得以任由用,因为在不同机器上,用成一样也无所谓。
1.tickTime:CS通信心跳数
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是各类tick提姆(Tim)e 时间就会发送一个心跳。tick提姆e以飞秒为单位。
tickTime=2000
2.initLimit:LF初步通信时限
集群中的follower服务器(F)与leader服务器(L)之间起首连接时能耐受的最多心跳数(tick提姆e的多少)。
initLimit=10
3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和回复之间能容忍的最多心跳数(tick提姆(Tim)e的数额)。
syncLimit=5

一如既往将zookeeper传输到其他的机械上,记得更改 /opt/zookeeper/data
下的myid,那多少个不可能同一。
输入:

scp -r /opt/zookeeper root@slave1:/opt
scp -r /opt/zookeeper root@slave2:/opt

2,配置表明

  • JDK :Hadoop和斯帕克(Spark)(Spark) 看重的配置,官方提议JDK版本在1.7之上!!!
  • Scala:Spark(Spark)依赖的部署,提出版本不小于spark的本子。
  • Hadoop: 是一个分布式系统基础架构。
  • Spark(Spark): 分布式存储的大数量举行拍卖的工具。
  • zookeeper:分布式应用程序协调服务,HBase集群需要。
  • HBase: 一个结构化数据的分布式存储系统。
  • Hive: 基于Hadoop的一个数据仓库工具,目前的默认元数据库是mysql。

四、Spark的环境布置

说明:其实spark的相干安排,我在大数量学习系列之六 —–
Hadoop+斯帕克(Spark)环境搭建

http://www.panchengming.com/2017/12/19/pancm63/
应该早就说的很详细了,即使是单机环境。其实集群也就大增个slave配置,其他的暂时好像没什么了。所以就概括的贴下配置。

4.2.3.1 修改 spark-env.sh

在conf目录下,修改spark-env.sh文件,假如没有 spark-env.sh
该公文,就复制spark-env.sh.template文件并重命名为spark-env.sh。
修改这么些新建的spark-env.sh文件,出席配置:

export SCALA_HOME=/opt/scala/scala2.1    
export JAVA_HOME=/opt/java/jdk1.8
export HADOOP_HOME=/opt/hadoop/hadoop2.8    
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop  
export SPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive
export SPARK_MASTER_IP=master    
export SPARK_EXECUTOR_MEMORY=4G

:下面的路线以自己的为准,SPARK_MASTER_IP为主机,SPARK_EXECUTOR_MEMORY为设置的周转内存。

3.5.2.5 修改yarn-site.xml文件

yarn 资源调度的配置,集群的话这么些布局是必须的。
修改/opt/hadoop/hadoop2.8/etc/hadoop/yarn-site.xml文件,
<configuration>节点内投入配置

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
   </property>
   <property>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>
   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>
   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>
   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>
   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>8182</value>
        <discription>每个节点可用内存,单位MB,默认8182MB</discription>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
</property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>

澳门美高梅手机网站 24

表明:yarn.nodemanager.vmem-check-enabled这些的意趣是忽视虚拟内存的自我批评,假若您是安装在虚拟机上,这一个布局很有用,配上去之后持续操作不便于出问题。假假如实体机上,并且内存够多,可以将那多少个布局去掉。

七、Hive的条件设置配备

因为hive安装使用不需要集群,只需在一台机器上安装使用就足以了,从前在自家的
大数据学习体系之四 —–
Hadoop+Hive环境搭建图文详解(单机)

http://www.panchengming.com/2017/12/16/pancm61/
里面已经讲解的很详细,所以本文就不在描述了。

二、集群的连带安排

3,下载地址

法定地址:
Hadoop:
http://www.apache.org/dyn/closer.cgi/hadoop/common

Spark:
http://spark.apache.org/downloads.html

Spark Sql on Hive
http://mirror.bit.edu.cn/apache/spark

Scala:
http://www.scala-lang.org/download

JDK:
http://www.oracle.com/technetwork/java/javase/downloads

HBase
http://mirror.bit.edu.cn/apache/hbase/

Zookeeper
http://mirror.bit.edu.cn/apache/zookeeper/

Hive
http://mirror.bit.edu.cn/apache/hive/

百度云:
链接:https://pan.baidu.com/s/1kUYfDaf 密码:o1ov

6.3.2 修改 hbase-site.xml

编辑hbase-site.xml 文件,在<configuration>丰硕如下配置

<property>
 <name>hbase.rootdir</name>
 <value>hdfs://master:9000/hbase</value>
 <description>The directory shared byregion servers.</description>
</property>
 <!-- hbase端口 -->
<property>
 <name>hbase.zookeeper.property.clientPort</name>
 <value>2181</value>
</property>
<!-- 超时时间 -->
<property>
 <name>zookeeper.session.timeout</name>
 <value>120000</value>
</property>
<!--防止服务器时间不同步出错 -->
<property>
<name>hbase.master.maxclockskew</name>
<value>150000</value>
</property>
<!-- 集群主机配置 -->
<property>
 <name>hbase.zookeeper.quorum</name>
 <value>master,slave1,slave2</value>
</property>
<!--   路径存放 -->
<property>
 <name>hbase.tmp.dir</name>
 <value>/root/hbase/tmp</value>
</property>
<!-- true表示分布式 -->
<property>
 <name>hbase.cluster.distributed</name>
 <value>true</value>
</property>
  <!-- 指定master -->
  <property>
    <name>hbase.master</name>
    <value>master:60000</value>
  </property>

</configuration>

澳门美高梅手机网站 25
说明:hbase.rootdir:这些目录是region
server的共享目录,用来持久化Hbase 。hbase.cluster.distributed
:Hbase的周转情势。false是单机格局,true是分布式情势。若为false,Hbase和Zookeeper会运行在同一个JVM里面。

2,Spark配置

八、其他

环境搭建参考:
http://blog.csdn.net/pucao_cug/article/details/72773564
条件布置参考的官方文档。

到此,本课程就终止了,谢谢阅读!

版权注解:
作者:虚无境
和讯出处:http://www.cnblogs.com/xuwujing
CSDN出处:http://blog.csdn.net/qazwsxpcm    
个人博客出处:http://www.panchengming.com
原创不易,转载请标明出处,谢谢!

一、环境采取

6.3.1 修改hbase-env.sh

编排 hbase-env.sh 文件,添加以下配置

export JAVA_HOME=/opt/java/jdk1.8
export HADOOP_HOME=/opt/hadoop/hadoop2.8
export HBASE_HOME=/opt/hbase/hbase1.2
export HBASE_CLASSPATH=/opt/hadoop/hadoop2.8/etc/hadoop
export HBASE_PID_DIR=/root/hbase/pids
export HBASE_MANAGES_ZK=false

澳门美高梅手机网站 26
说明:配置的不二法门以祥和的为准。HBASE_MANAGES_ZK=false
是不启用HBase自带的Zookeeper集群。

4,启动hbase

在功成名就启动Hadoop、zookeeper之后
切换到HBase目录下

cd /opt/hbase/hbase1.2/bin

输入:

start-hbase.sh

起步成功未来,可以运用jps命令在依次机器上查看是否成功
可以在浏览器输入: ip+16010 端口查看
澳门美高梅手机网站 27

若成功体现该界面,则启动成功。

1,Scala配置

和JDK配置几乎一致

五、Zookeeper的环境布置

因为HBase做集群,所以就需要zookeeper了。
zookeeper
在许多条件搭建上,都会有他的身形,如kafka、storm等,这里就不多说了。

3.2.2.3 修改 hdfs-site.xml

下面的hdfs的寄放路径,可以依据自己机器更改。
<configuration>节点内进入配置:

 <property>
    <name>dfs:replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/root/hadoop/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/root/hadoop/data</value>
  </property>    

澳门美高梅手机网站 28

2,hadoop配置

1. 更改主机名

说明:更改主机名是为着便于集群管理,不然每个机器的称呼都叫localhost也不太好吧!
集群所有的机械都要做这些操作。

输入

 vim /etc/sysconfig/network 

将localhost.localdomain修改为你要更改的名号,每台名称都不均等
例如:

HOSTNAME=master

注: 名称更改了之后输入reboot重启才会生效。

6,全部环境变量设置

在 /etc/profile
这几个布局文件要加上很多的环境布置,这里就先将总体的条件布置列举出来,各位在配置环境变量的以温馨的为准!!!
可以先配备好环境变量之后,在传输到任何机器上去。
自身那里先将这个部署都传输到任何的机械上了,并且都source了,所以下文中这些布局文件的操作实际是没做的。具体意况以温馨的为准。

#Java Config
export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
# Scala Config
export SCALA_HOME=/opt/scala/scala2.12
# Spark Config
export  SPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive
# Zookeeper Config
export ZK_HOME=/opt/zookeeper/zookeeper3.4
# HBase Config
export HBASE_HOME=/opt/hbase/hbase1.2
# Hadoop Config 
export HADOOP_HOME=/opt/hadoop/hadoop2.8
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
# Hive Config
export HIVE_HOME=/opt/hive/hive2.1
export HIVE_CONF_DIR=${HIVE_HOME}/conf

export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZK_HOME}/bin:${HBASE_HOME}/bin:${HIVE_HOME}/bin:$PATH
3.2.3.2 修改 hadoop-env.sh

本条要做,不了解为啥相对路径不识别,于是就利用相对路径。

export   JAVA_HOME=${JAVA_HOME}

修改为:

export   JAVA_HOME=/opt/java/jdk1.8

注:修改为友好JDK的门径
澳门美高梅手机网站 29

3,修改配置文件

切换到 /opt/hbase/hbase-1.2.6/conf 下

1,集群机器安装图

本次因为是集群搭建,所以在条件布置方面,我动用一张表格来大概讲述。集群使用了3台机器,分别是master、slave1、slave2,通过名称命名就可以知道主从涉嫌了。使用的操作系统是CentOS6.8,具体各种机器安装的配置如下表格:
澳门美高梅手机网站 30

实际每个机器的安排就如上图了。需要补给的是,spark这块我一直不动用官方自带的spark,而是选用的早已编译好的spark和hive的本子。因为后边在使用hive查询的时候,不想利用hive默认的mr,在hive2.x之后,官方也不提出了。因为使用mr功能实在太低,所以在后头我会将hive的引擎换成spark,而自己又不想再一次编译spark
,所以就用这么些本子了。要是各位想自行编译,或者出现更高的版本,就没必要一定按照地点的来。还有存放路径这块,没必要肯定要动用方面的,可以先在机械上选拔df -h 查六柱预测应的磁盘空间,再来举行部署。

引言

    在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试。其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式。至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了。。。 
    整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多。在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来。于是就有了本篇博文。
    其实我在搭建的时候,并不是按部就班的搭建,中间或多或少都更改过不少,试验出来了目前没啥问题的集群搭建。在写本文的时候,开始准备将环境在一台机器上搭建,然后全部传输到其他机器上。但是想了想,这样或许在搭建环境的时候快速,但是对于阅读者来说,不太友好。于是便拆分出来了,单独搭建一个也是可以的。好了,废话就少说了,教程如下。

2,环境布置

编辑 /etc/profile 文件
输入:

export HBASE_HOME=/opt/hbase/hbase1.2
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效
输入
hbase version
翻开版本
澳门美高梅手机网站 31

4.1.2 环境布置

编辑 /etc/profile 文件
输入:

export SCALA_HOME=/opt/scala/scala2.12
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效
输入 scala -version 查看是否安装成功

4,启动zookeeper

因为zookeeper是选举制,它的主从关系并不是像hadoop这样指定的,具体可以看官方的文档表明。
打响安排zookeeper之后,在每台机械上启动zookeeper。
切换到zookeeper目录下

cd /opt/zookeeper/zookeeper3.4/bin

输入:

zkServer.sh start

马到成功启动之后
翻开状况输入:

 zkServer.sh status

可以查看各个机器上zookeeper的leader和follower
澳门美高梅手机网站 32

3.2.1 文件准备

将下载下来的Hadoop的配置文件举办解压
在linux上输入:

 tar  -xvf   hadoop-2.8.2.tar.gz

然后将解压之后的文本夹移动到opt/hadoop文件夹下,没有该文件夹就新建,然后将文件夹重命名为hadoop2.8。
在linux上输入移动文件夹命令:

mv  hadoop-2.8.2 /opt/hadoop
mv  hadoop-2.8.2 hadoop2.8

发表评论

电子邮件地址不会被公开。 必填项已用*标注