hadoopsparkhbase集群 动态缩容扩容

hadoopsparkhbase集群 动态缩容扩容,第1张

卸载节点一般不建议直接停掉,需要先将其排除在集群之外,在主节点上编辑配置文件:${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

在datanode-deny.list中加入要卸载的节点名称,如:slave3

[图片上传失败...(image-268887-1589181513073)]

卸载节点后,刷新节点信息:

./bin/hdfs dfsdmin -refreshNodes会看到节点变成Dead和Decommissioned状态,如下图:

该命令执行后,同时会强制重新加载配置 ,在后台进行Block块的移动

[图片上传失败...(image-71d33c-1589181513074)]

卸载成功后,再停止节点:

./sbin/hadoop-daemon.sh stop datanode

./sbin/yarn-daemon.sh stop nodemanager

如果希望下次自动启动,修改集群中所有节点的slaves配置文件,具体目录 ${HADOOP_HOME}/etc/hadoop/slaves

首先准备一台hadoop节点,参考 hadoop、spark install

在hadoop子节点上,HADOOP_HOME目录下启动hdfs: ./sbin/hadoop-daemon.sh --config /usr/hadoop/hadoop-2.7.7/etc/hadoop/ start datanode

启动nodeManage(这个命令会确定其他子节点的nodeManage,可以把该节点的slaves文件中其他节点去掉): ./yarn-daemons.sh --config /usr/hadoop/hadoop-2.7.7/etc/hadoop/ start nodemanager

在主节点上刷新节点信息: ./bin/hdfs dfsadmin -refreshNodes;使用命令可以均衡数据:./sbin/start-balancer.sh

如下图,节点又重新加入了集群

[图片上传失败...(image-a892c6-1589181513074)]

如果希望下次自动启动,修改集群里机器的所有slaves配置文件,具体目录 ${HADOOP_HOME}/etc/hadoop/slaves

在想要去掉的节点上,SPARK_HOME 目录下执行 ./sbin/stop-slave.sh 即可去掉spark节点。这样 *** 作可以临时去掉spark节点,如果想永久去掉节点,需要在主节点的SPARK_HOME/conf/slaves 文件中去掉子节点

如图,原有三个spark节点

[图片上传失败...(image-50e48c-1589181513074)]

执行./sbin/stop-slave.sh 后,一台节点的状态变成了DEAD

[图片上传失败...(image-c12af8-1589181513074)]

如果希望下次自动启动,修改集群里机器的所有slaves配置文件,具体目录 ${SPARK_HOME}/conf/slaves

首先准备一台spark节点,参考 hadoop、spark install

在spark子节点上,SPARK_HOME 目录下执行 ./sbin/ start-slave.sh spark://<master>:7077,该子节点即可加入mster集群。

如图,扩容后,集群增加了子节点

[图片上传失败...(image-35bb79-1589181513074)]

如果希望下次自动启动,修改集群里机器的所有slaves配置文件,具体目录 ${SPARK_HOME}/conf/slaves

在要卸载的子节点上,HBASE_HOME/bin目录下,执行 ./graceful_stop.sh 子节点的hostname,即可卸载子节点。

该命令会自动关闭Load Balancer,然后Assigned Region,之后会将该节点关闭。除此之外,你还可以查看remove的过程,已经assigned了多少个Region,还剩多少个Region,每个Region 的Assigned耗时。

最终要在hbase shell 中关闭balance_switch :balance_switch false,然后再开启:balance_switch true

首先准备一台hbase节点,参考 hbase(2.0.0) install

在新的子节点 HBASE_HOME 目录下,执行 ./bin/hbase-daemon.sh start regionserver 启动节点

在主节点上编辑HBASE_HOME/conf/regionservers文件,增加新的子节点

在新的子节点上,打开hbase shell,执行 balance_switch true 开启集群自动balance.

hbase 本来有两个节点,如下图:

[图片上传失败...(image-182c39-1589181513074)]

增加新节点后变成了三个:

[图片上传失败...(image-991e21-1589181513074)]

参考:

https://blog.51cto.com/6738767/1943228?utm_source=oschina-app

https://blog.csdn.net/xgjianstart/article/details/78437374

http://www.023dns.com/server_ECS/4225.html

HBase架构是一个Master与多个RegionServer,Master负责维护Region等一些工作,但是客户端访问Hbase并不需要通过Master。ZK通过监控选举Master来保证集群始终有一个可用的Master,即访问Master需要通过ZK,当ZK发现Master挂掉之后,会从其他机器中进行选举产出新的Master提供服务。

Zookeeper作用

通过选举,保证任何时候,集群中只有一个master,Master与RegionServers 启动时会向ZooKeeper注册

存贮所有Region的寻址入口

实时监控Region server的上线和下线信息。并实时通知给Master

存储HBase的schema和table元数据

默认情况下,HBase 管理ZooKeeper 实例,比如, 启动或者停止ZooKeeper

Zookeeper的引入使得Master不再是单点故障

*** 作系统集群配置

搭建3节点完全分布式集群,即1个nameNode,2个dataNode,分别如下:

1、创建虚拟机CentOS7并安装配置JDK,克隆两台

2、修改主机名:master、slave1、slave2

3、设置静态:10.221.101.1、10.221.101.2、10.221.101.3

4、关闭防火墙

5、免密设置

每台节点生成公钥:

master中将公钥id_dsa.pub添加进keys,实现master免密:

将master中公钥分别添加到slave1及slave2的keys中,实现master对slave1及slave2节点免密:

master执行 如下命令,进行验证

6、组件所用版本

安装路径:mkdir /usr/local/hadoop/hadoop-2.7.3/bin/

1、解压hadoop

2、 执行命令检查hadoop是否可用

查看是否显示hadoop版本信息Hadoop 2.7.3 显示即正常

3、创建所需目录

4、设置hadoop环境变量

任意目录输入 hado,然后按Tab,如果自动补全为hadoop,则说明环境变量配正确

同步到其他节点上

5、修改hadoop配置文件

—hadoop-env.sh

—core-site.xml

—hdfs-site.xml

—mapred-site.xml

—yarn-env.sh

—yarn-site.xml

— slaves

将localhost删掉,加入如下内容,即dataNode节点的hostname

6、 以上配置同步到slave1,slave2中

7、启动hadoop

— 首次启动需要先在 master 节点进行 NameNode 的格式化:

— 在master机器上,进入hadoop的sbin目录

8、查看是否启动成功

—jps 查看当前java的进程

输入jps 查看当前java的进程,列出当前java进程的PID和Java主类名,nameNode节点除了JPS,有3个进程

在slave1和slave2节点上分别输入 jps 查看进程如下,说明配置成功

— 查看运行状况

在浏览器访问nameNode节点的8088端口和50070端口可以查看hadoop的运行状况

192.168.1.110:50070

192.168.1.110:8088

zookeeper集群搭建要至少3个节点(master,slave1, slave2),所以三台服务器都要部署zookeeper

1、解压到安装目录

2、添加环境变量

同步到其他节点上

3、 修改配置文件

/usr/local/hadoop/zookeeper-3.4.10/conf

删除原有内容

4 、根据以上配置 创建zookeeper的数据文件和日志存放目录

同步到其它节点

5 、在三台zookeeper的/usr/local/storage/zookeeper/data目录下分别创建并编辑myid

—创建

—编辑

6 、将以上配置同步到其他hadoop节点

7、启动zookeeper

如果zookeeper集群还没有启动的话, 首先把各个zookeeper起来。最好三个节点上同时启动

(1个leader,2个follower)

输入jps,会显示启动进程:QuorumPeerMain

前提安装mysql

1、解压到安装目录

2、 添加环境变量

同步到其他节点上

3 、配置文件修改

—hive-env.sh

—hive-site.xml

4、 hive lib中添加所需jar包

—添加mysql驱动

【以下可不配置】

—从hbase/lib下复制必要jar包

—同步hive和hadoop的jline版本

查看版本

若有低版本则删除

例如:jline 0.9 rm jline-0.9.94.jar

—复制jdk的tools.jar

5 、在配置的mysql中创建hive库

【需外界可连接上】

6 、hdfs创建存储数据的目录

7、 启动hive

hive 远程服务 (端口号10000) 启动方式[metastore和hiveserver2在同一台上启动即可]

hive 命令行模式

或者输入

查看进程为:2个RunJar

注意:可以在任意一台服务器上启动hive,都可以。

8 、查看启动进程

通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode进程

Master上:

在 Slave 节点可以看到 DataNode 和 NodeManager 进程

Slave上:

程序启动成功后可以在任意一台启动hive

可以在启动MR-JobHistory服务,

Hadoop2 MR-JobHistory服务介绍

1)MR-JobHistory服务目标

主要是向用户提供历史的mapred Job 查询

详细解释:

a)在运行MR Job时,MR 的 ApplicationMaster会根据mapred-site.xml配置文件中的配置,将MR Job的job history信息保存到指定的hdfs路径(首先保存到临时目录,然后mv到最终目录)

b)如果在yarn-site.xml中,没有配置nodemanage的LogAggregation功能,则historyserver无法提供mr日志明细查询的功能(在提交mr job时,yarn和mapred的配置都是必须的)

c)historyserver向外提供两个接口,web接口可以提供jobhistory和明细日志查询的功能,而restApi只提供jobhistory查询的功能

1、 解压到安装目录

2、添加环境变量

同步到其他节点上

3、配置文件修改

/usr/local/hadoop/hbase-1.3.1/conf

—regionservers 文件

—hbase-env.sh

—hbase-site.xml

4、创建hbase-site.xml配置文件中的hbase目录

同步软件到其他节点

5、同步上述配置到其他节点

6、启动Hbase

—启动

—验证安装成功

—查看进程为:HMaster,HRegionServer

主节点:HMaster,HRegionServer

从节点:HRegionServer

—通过web UI访问hbase状态

http://192.168.1.110:16010/master-status


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11560482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存