大数据平台系列文章:
1、大数据基础平台搭建-(一)基础环境准备
2、大数据基础平台搭建-(二)Hadoop集群搭建
3、大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建
4、大数据基础平台搭建-(四)HBase集群HA+Zookeeper搭建
5、大数据基础平台搭建-(五)Hive搭建
大数据平台是基于Apache Hadoop_3.3.4搭建的;
HBase集群部署采用HA高可用+完全分布式集群方式搭建
序号 | 服务节点 | NameNode节点 | Zookeeper节点 | HMaster节点 | HRegionServer节点 |
---|---|---|---|---|---|
1 | hNode1 | √ (主) | √ | √ (主) | - |
2 | hNode2 | √ (备) | √ | √ (备) | - |
3 | hNode3 | - | √ | - | √ |
4 | hNode4 | - | - | - | √ |
5 | hNode5 | - | - | - | √ |
参见大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建
参见大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建中的**【三、搭建Zookeeper集群】**部分
序号 | 软件名称 | 版本 | 说明 |
---|---|---|---|
1 | JDK | 1.8 | |
2 | Hadoop | 3.3.4 | |
3 | HBase | 3.8.0 | 列式数据库 |
4 | Zookeeper | 2.4.15 |
[root@hnode1 ~]# cd /opt/hadoop
[root@hnode1 hadoop]# tar -xzvf ./hbase-2.4.15-bin.tar.gz
[root@hnode1 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode1 hadoop]# source /etc/profile
[root@hnode1 hadoop]# cd /opt/hadoop/hbase-2.4.15/conf
[root@hnode1 conf]# vim hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_271
#true表示用自带的zookeeper,false表示用外部Zookeeper服务
export HBASE_MANAGES_ZK=false
export HBASE_CLASSPATH=/opt/hadoop/hbase-2.4.15/conf
[root@hnode1 hadoop]# vim /opt/hadoop/hbase-2.4.15/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/hadoop/data/hbase</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://cluster/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hnode1:2181,hnode2:2181,hnode3:2181</value>
</property>
</configuration>
[root@hnode1 hadoop]# vim /opt/hadoop/hbase-2.4.15/conf/regionservers
hnode3
hnode4
hnode5
需要将hadoop下的core-site.xml、hdfs-site.xml配置文件复制到hbase服务的conf目录下,否则通过hdfs://cluster/hbase连接hdfs服务时会报无法解析cluster主机
[root@hnode1 hadoop]# cd /opt/hadoop/hbase-2.4.15/conf/
[root@hnode1 conf]# cp /opt/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml ./
[root@hnode1 conf]# cp /opt/hadoop/hadoop-3.3.4/etc/hadoop/hdfs-site.xml ./
[root@hnode2 ~]# cd /opt/hadoop
[root@hnode2 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./
[root@hnode2 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode2 hadoop]# source /etc/profile
[root@hnode3 ~]# cd /opt/hadoop
[root@hnode3 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./
[root@hnode3 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode3 hadoop]# source /etc/profile
[root@hnode4 ~]# cd /opt/hadoop
[root@hnode4 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./
[root@hnode4 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode4 hadoop]# source /etc/profile
[root@hnode5 ~]# cd /opt/hadoop
[root@hnode5 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./
[root@hnode5 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode5 hadoop]# source /etc/profile
在/opt/hadoop/hbase-2.4.15/conf目录下新增文件backup-masters,在文件中添加hnode2为备机
[root@hnode1 conf]# vim backup-masters
backup-masters配置文件中的内容
hnode2
前提是已正常Zookeeper集群和Hadoop集群
[root@hnode1 hadoop]# start-hbase.sh
通过在每个节点服务器上运行jps命令,在hnode1和hnode2上启动了HMaster服务,hnode3、hnode4、hnode5是HRegionServer服务则说明HBase集群启动成功
hnode1->HMaster (主)
hnode2->HMaster (备)
hnode3->HRegionServer
hnode4->HRegionServer
hnode5->HRegionServer
[root@hnode1 hadoop]# vim hadoop.sh
#!/bin/bash
if [ $# -lt 1 ]
then
echo "缺少参数..."
exit ;
fi
case $1 in
"start")
echo " ===================| 启动 Hadoop集群 | ==================="
echo " -------------------| 启动 Zookeeper集群 | ---------------"
ssh hnode1 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"
ssh hnode2 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"
ssh hnode3 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"
echo " -------------------| 启动 HDFS | ---------------"
ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/start-dfs.sh"
echo " -------------------| 启动 YARN | ---------------"
ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/start-yarn.sh"
echo " -------------------| 启动 HistoryServer |---------------"
ssh hnode2 "/opt/hadoop/hadoop-3.3.4/bin/mapred --daemon start historyserver"
echo " -------------------| 启动 HBase集群 |---------------"
ssh hnode1 "/opt/hadoop/hbase-2.4.15/bin/start-hbase.sh"
;;
"stop")
echo " ===================| 关闭 Hadoop集群 |==================="
echo " -------------------| 关闭 HBase集群 |---------------"
ssh hnode1 "/opt/hadoop/hbase-2.4.15/bin/hbase-daemon.sh stop master"
ssh hnode2 "/opt/hadoop/hbase-2.4.15/bin/hbase-daemon.sh stop master"
ssh hnode1 "/opt/hadoop/hbase-2.4.15/bin/stop-hbase.sh"
echo " -------------------| 关闭 HistoryServer |---------------"
ssh hnode2 "/opt/hadoop/hadoop-3.3.4/bin/mapred --daemon stop historyserver"
echo " -------------------| 关闭 YARN | ---------------"
ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/stop-yarn.sh"
echo " -------------------| 关闭 HDFS | ---------------"
ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/stop-dfs.sh"
echo " -------------------| 关闭 Zookeeper集群 | ---------------"
ssh hnode1 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"
ssh hnode2 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"
ssh hnode3 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"
;;
*)
echo "输入的参数错误..."
;;
esac
# 启动集群
[root@hnode1 hadoop]# ./hadoop.sh start
# 停止集群
[root@hnode1 hadoop]# ./hadoop.sh stop
http://hnode1:16010和 http://hnode2:16010
HMaster(主)的状态信息
HMaster(备)的状态信息
文章浏览阅读6k次。项目原来在spring boot1.5.9版本时候使用@EnableMongoAuditing用同样的方法注入并没有报错,当切换到2.0版本是莫名其妙的出问题了,搞的我一脸懵逼,花了好久都没解决,后来偶然看到我们公司一个大佬的自定义注入的的方式,瞬间感觉到了王者和青铜的差距。 下面是配置代码@Configuration@EnableMongoAuditing@PropertySourc..._springboot2.0+mongotemplate
文章浏览阅读1.4k次,点赞2次,收藏7次。最近准备写一个前端桌面应用,了解到了一个新的框架——Electron,它是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。接下来,我们就来搭建一个基于vue的electron应用吧。_electron-vue文档
文章浏览阅读100次。saymoney for mac这款软件是您的个人理财的管理和评估的一种创新解答。这款软件支持对您的费用、收入和预算的评估,交易,类别,帐户的管理以及收据的管理等功能,对于财务管理人员来说再合适不过了!SayMoney for Mac安装教程安装包下载完成后,双击.pkg文件,按提示即可完成安装。SayMoney for Mac功能介绍操作简单直观管理和评估您的费用和收入交易,类别,账户和转账的管理经常性支出和收入的管理数据过滤,排序,分组和聚合通过PIN保护5种app设计颜色语音输入
文章浏览阅读1k次。第一次接触AXI 4 总线是在使用xilinx zynq的时候,当时用的时候一团雾水,现在雾水少了些,但还是有很多地方没有接触到。本文作为自己的总结,有任何问题,欢迎批评指正。什么是AXI总线?AXI 作为 ARM AMBA 微控制器总线的一部分,第一次出现在AMBA 3.0中。后面AMBA 4.0发布,AXI4出现了。AXI 4总线和别的总线一样,都用来传输bits信息..._axi4 memory
文章浏览阅读2.3k次。Tickrate Enabler 服务器速率解除配置方法网站访问Windows安装方法Linux安装 方法网站访问下载地址:Tickrate EnablerWindows安装方法Linux安装 方法###1.指令查看plugins_print 查看插件plugin_printLoaded plugins:---------------------0: "Tickrate_Enabler 1.4-dev, ProdigySim"1: "Metamod:Source_tickrate_enabler
文章浏览阅读6.2k次,点赞9次,收藏3次。在TensorFlow2.x中执行TensorFlow1.x代码的静态图执行模式改为图执行模式TensorFlow2虽然和TensorFlow1.x有较大差异,不能直接兼容。但实际上还是提供了对TensorFlow1.x的API支持TensorFlow 2中执行或开发TensorFlow1.x代码,可以做如下处理:导入TensorFlow时使用import tensorflow.compat.v1 as tf禁用即时执行模式tf.disable_eager_execution()_tensorflow2 静态图运行
文章浏览阅读1.3k次,点赞3次,收藏3次。1、方案选择kube-prometheus,全家桶。分别安装prometheus和grafana我也不想选择第二种,但是我就一台普通的PC,安装kube-prometheus直接给我报错CPU不够用了,我~~2、先尝试第一种,如果成功了就别瞎折腾了,心累~先看下对应关系,最新的直接在github上看,旧的可能不好找。git clone https://github.com/prometheus-operator/kube-prometheus.gitgit checkout releas_minikube 部署grafana
文章浏览阅读4.7k次。Description定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。_广度优先 数据结构
文章浏览阅读4.8k次。package utils;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.font.FontRenderContext;import java.awt.geom.AffineTransform;import java.awt.geom.Rectangle2D;impo_java 文字转图片 高度自适应
文章浏览阅读167次。Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。SSM + mybatis + Maven + JSP 等等组成,B/S模式 + Maven管理等等。1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;其他版本理论上也可以。2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;_svhw
文章浏览阅读230次。info.plist文件主要描述的是一些工程的配置。3、若使用flutter_down插件。AppDelegate相当于程序的入口。手动添加消息推送功能。_flutter 配置ios
文章浏览阅读5.4w次,点赞17次,收藏128次。(解读)什么是渗透测试(Penetration Testing)? 渗透测试(Penetration Testing),也称为Pen Testing,是测试计算机系统、网络或Web应用程序以发现攻击者可能利用的安全漏洞的实践。渗透测试可以通过软件应用自动化或手动执行。无论哪种方式,该过程都包括在测试之前收集关于目标的信息,识别可能的入口点,试图闯入(虚拟的或真实的)并报告结果。 让我们..._penetration test