自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(181)
  • 收藏
  • 关注

原创 用hutool进行RSA编码及解码

首先引入hutool依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.1</version> </dependency>先通过网上随机生成一组密钥对(公钥与私钥),分别定义为PUBL

2021-01-24 10:21:08 9

原创 记录完全分布式开发zookeeper hadoop flume kafka hbase

先写坑:练习都是在自己的用户下(非root用户),一定要随时注意自己的目录的权限,用sftp来上传最终做成的样子|hadoop101datanode namenode kafka flume zookeeper nodemanagerhadoop102datanode resourcemanager kafka zookeeper nodemanagerhadoop103datanode secondarynamenode kafka zookeeper nodemana

2021-01-16 21:16:17 90

原创 记录vmware的bug failed to install hcmon deriver

今天想换一个版本的vmware,先卸载了本机的vmware,但是在安装vmware的时候手贱,安装一半的时候点了个取消,再次安装时就报如上错误failed to install hcmon deriver解决办法:删除hcmon.sys在C盘的windows/system32/drivers下,但是肯定是删除不掉的,现在就需要把电脑进入安全模式删除即可随后下载一个软件:打开后:扫描后:删除所有无效的注册信息即可再次安装成功...

2021-01-16 21:05:37 42

原创 springboot整合postgre和hbase实现互相交互功能

此项目是一个小测试,将postgre中的某些字段读取到hbase中变成某个表的列族,其中postgre和hbase已经在云服务器上建立好,用的docker技术,开放相应端口,并且win上用管道安全连接。此项目用到了JPA技术,实现entity和postgre数据库的交互。首先要加入相应的依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId&

2021-01-08 11:28:55 19

原创 SpringBoot整合HBase将数据写入Docker中的HBase

在之前的项目里,docker容器中已经运行了HBase,现将API操作HBase实现数据的增删改查通过SpringBoot整合Hbase是一个很好的选择首先打开IDEA,创建项目(project)时选择Spring Initializer选择如下三种来创建工程创建完后的pom文件如下(修改了spring-boot-starter-parent版本),并且加入了HBase的客户端依赖<?xml version="1.0" encoding="UTF-8"?><project

2020-12-22 18:31:48 34

原创 记录docker常用的command

(1)查看镜像docker images(2)查看容器docker ps(查看启动的)docker ps -a(查看未启动的)(3)删除容器删除前要先stopdocker stop 容器IDdocker rm 容器ID(4)删除镜像docker rmi 镜像号(5)启动镜像docker run -d(守护模式)–name xx(你想给该容器起的镜像名称)–hostname(hostname名) --net (自己设置的网络名称,不写docker自动分配) -P(已经暴漏的端口号) -

2020-12-17 11:01:32 27

原创 docker中部署hadoop、zookeeper、hbase伪分布式并上传到阿里云远程仓库

(1)首先写好dockerfile文件,然后使用docker build命令进行创建镜像,这时候出来的镜像内部只有centos基础环境与hadoop和jdk的安装包和一些基础的用户组配置(2)以端口映射的形式进入容器并将相关的配置文件进行修改(3)开启hdfs yarn服务...

2020-12-17 10:12:02 63

原创 记录yarn被攻击的解决办法

目前如果在腾讯云服务器上部署hadoop框架开启yarn时可能会被黑客攻击(8088yarn计算端口)。我已经踩雷,出现的结果就是我的用户下的所有文件都被删除而且不能添加任何文件并且一旦添加文件就会被自动删除(.bashrc和.bash_profile核心文件也被删除)。此时linux系统显示如下状态:bash-4.2解决办法:通过top命令查找到木马文件,一个乱码:将其进程PID杀死即可进程被删除后,再将核心文件导入到自己的用户下即可,并且source下但是之前被删除的文件是找不回来了

2020-12-14 13:54:10 31

原创 用java程序完成从kafka队列读取消息到sparkstreaming再从sparkstreaming里把数据导入mysql中

有一段时间没好好写博客了,因为一直在做一个比较小型的工程项目,也常常用在企业里,就是将流式数据处理收集,再将这些流式数据进行一些计算以后再保存在mysql上,这是一套比较完整的流程,并且可以从数据库中的数据再导入到hadoop上,再在hadoop上进行离线较慢的mapreduce计算,这是我后面要进行的项目。项目准备环境(1)zookeeper:(2)spark(3)kafka(4)mysql(5)navicat(6)三台虚拟机(7)jdk(8)intellij IDEA(

2020-11-24 22:39:25 45

原创 用java程序操作hadoop,intellij IDEA和maven的使用

如果用hadoop直接操作,还要学一些专门的hadoop指令,其实也可以用java代码来操作hadoop首先电脑上安装intellig IDEA,notepad++,之前开启的hadoop集群(三台linux虚拟机)首先,在windows下设置hadoop环境:红线的两个是至关重要的文件,否则在执行java_api时会报错接下来设置环境变量:在path里添加路径:接下来安装maven,我这里安装的是最新版本的maven官网如下:http://maven.apache.org/downl

2020-11-21 16:29:12 43

原创 java(8)——&和&&、|和||、!、^及三目运算符

&和&&&和&&都是逻辑与,但是&&会比&高效些,当&前面的内容是false时,后面的内容将不会进行计算|和|||和||都是逻辑或,但是||会更加高效一些,如果前面的内容是true它将不会进行计算后面的内容而直接输出true!!是逻辑非的意思,比如说!true,输出的就是false^^是逻辑异或,当两个都为true时,输出的为false代码实现public class LuoJiTest{ public s

2020-11-11 13:07:04 210 6

原创 java(7)——+=的妙用

+=是各类语言编程里面常用的方法,但是在java这种强语言类型的编程语言中,他还有一个方法就是自动转化数据类型public class AddTest{ public static void main(String[] args){ byte a = 1; int b = 2; a+=b; System.out.println(a); a = a + b; System.out.println(a); }}在如上代码中,a = a + b此行出错,原因是因为a是byte

2020-11-11 09:40:50 148 4

原创 java(6)——+号和++号--号

+加号如果两边有任意一边是字符串,那么加号的作用就是拼接。public class AddTest{ public static void main(String[] args){ int a = +5; System.out.println(a); System.out.println(a+"13"); System.out.println(a+'b'); }}可以见得,当左边或右边为单字符时,加上的是ASCII字符集里面对应的数字,当单独用时,为正号的意思。++++如

2020-11-11 09:13:16 76 2

原创 java(5)——数据类型中的字符型和布尔类型

字符型用单引号括起来,并且里面只能写一个单字符,空格也只能打一个。public class VarTest{ public static void main(String[] args){ char char1 = 'Z' ; System.out.println(char1) ; int char2 = (int)char1 ; System.out.println(char2) ; char char3 = (char)90 ; System.out.printl

2020-11-10 17:59:19 45

原创 java(4)——数据类型中的数值型的浮点数

浮点数分为double和float,大小分别为8字节和4字节。在java里的float要在末尾加F,因为浮点型默认是double类型的数public class VarTest{ public static void main(String[] args){ double num0 = 323E-1 ; System.out.println(num0) ; //double float num1 = 1.221432423423F ; System.out.println(num

2020-11-10 12:46:33 60

原创 java(3)——数据类型中的数值型的整数类型

java的数据类型有两大类:基本数据类型和引用数据类型基本数据类型分为数值型(数值型又分为整数类型(byte、short、int、long)和浮点类型(float、double))、字符型(char)和布尔型(boolean)引用数据类型分为类(class)、接口(interface)和数组整数类型名称占用存储空间byte1字节short2字节int4字节long8字节ps:一字节=8位不同的整数类型的数表也不一样,byte类型的数字范围是-12

2020-11-09 10:51:31 202 8

原创 java(2)——字面常量和变量,变量的作用域,局部变量,成员变量

字面常量java里有两种常量,一种叫字面常量,而使用final修饰的常量为符号常量。字面常量有很多种类型:整型常量1 3 45实型常量2.78293字符常量‘a’ (单引号引起来的单个字母)字符串常量“string”(双引号)逻辑常量true false变量变量在赋值前必须声明变量的类型,比如说下例的num我声明了为int类型:public class VarTest{ public static void main(String[] args

2020-11-09 10:01:19 76 2

原创 zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

zookeeper里的每一个节点叫znode,他们既是目录的功能也有自己的文本信息。下面进行的集群配置并没有实现高可用效果(内存空间有限)此次搭建要准备三台虚拟机,准备必备jar包。虚拟机 ip角色192.168.19.110 node01zookeeper follower192.168.19.111 node02zookeeper follower192.168.19.112 node03zookeeper leader准备工作具体细节:1虚拟机的具

2020-11-08 15:56:41 157

原创 python——装饰器和语法糖效果

装饰器和闭包有很大的相关性,可以这么说,就是当外部函数后面的变量填入的是另一个函数的名称时(并且最多只能有一个),称之为装饰器,也可以说装饰器就是特殊的闭包。可以用如下方法进行分析:def decorator(func): def inner(a): print('this is a new method') func(a) return innerdef add_1(num): res = num + 1 print(res)#

2020-11-05 11:24:05 161

原创 python——闭包与闭包中修改外部变量

在函数嵌套的前提下,内部函数引用了外部函数的变量,并且外部函数返回(return)了内部函数,即外部函数返回了引用了外部函数变量的内部函数,这时我们称内部函数为闭包。比如说如下例子:# 外部函数def func_outer(a): # 内部函数 def func_inner(b): c = a + b return c return func_inner# 创建闭包实例f = func_outer(1)# 执行闭包num1 = f(2)

2020-11-05 10:37:01 948 4

原创 java(1)——用notepad++编译java(javac.exe)

我们都知道,java文件先要经过编译为.class文件,在通过jvm来进行跨平台的运行。首先下载notepad++并添加notepad++进入环境变量,这样就可以直接在cmd窗口下打开notepad++:还要将javac.exe放到环境变量内,这样就可以编译helloworld文件了(java.exe编译.java变成.class):如果是新下载的notepad++,先设置好新建的都为java文件,在设置里有一个首选项,设置好java文件:编写好HelloWorld代码:在文件所在文件夹

2020-11-03 19:27:21 74

原创 ansible(6)——模块命令command、shell详细用法

前面在使用-m command命令时,只用了一些基本的操作,其实可以通过ansible-doc的命令查看command里更加详细的功能:chdircreates如果creates后面的东西存在,则skip略过:<1>先在/tmp目录下建一个test文件夹:<2>实行creates命令:可见已经skip掉。<3>没有test1,所以执行:removes和creates恰恰相反:ps:如果要实行多个命令,可以用;来连接,特殊符号(|&

2020-11-03 17:54:37 136

原创 ansible(5)——使用通配符操作ansible命令

如上是我在主机列表中设置好的各主机组,现在可以通过通配符、交、并、补来操作ansible,用ping来查看效果,我们一般都用单引号来括住这些通配符或特殊字符:<1>通配符<2>并集<3>交集<4>补集...

2020-11-03 17:17:03 127

原创 ansible(4)——配置文件及以对面某个用户来登录

可以在/etc/ansible/目录下的ansible.conf下查看有哪些配置段:在配置文件里的default配置段:登录某个用户在默认文件里,ansible登录别的主机的方式都是以root用户登录,比如做如下测试,我新加一个用户组:[ansible_user_test]并且在192.168.19.138下新设一个用户ansible1:useradd -m ansible1passwd ansible1 #随后输入密码即可上面我们访问正常,但是接下来我们访问该远程主机下的ansi.

2020-11-03 16:56:46 97

原创 ansible(3)——主机列表,ssh,公钥私钥

在/etc/ansible/hosts文件里,我们可以添加主机列表:此时我们可以通过这些ip和组来去实行命令:保错是因为必须加入ssh秘钥内容(本机密码):访问第一个主机组也能成功:再去访问第二个主机组:这里报错是因为我们没有将这两台主机的记录加入到/root/.ssh/known_hosts中:这时候再观察文件发现已经被添加进去。再实行即可成功免密码如果不想输入-k参数,可以在/etc/ansible/hosts中加入参数:也可以:这样就不需要输入-k参数去访问了

2020-11-02 12:55:11 1825 12

原创 ansible(2)——基本命令

可以类比于hadoop命令:-v/-vv/-vvv/-vvvv:随着v的增多,信息也会更详细:切换目录chdir:查看模块:ansible-doc查看帮助信息:查看所有的模块:查看某些模块的简单帮助,此处列举为ping模块(详细帮助不用加-s):测试主机是否存活ping:查看配置:ansible-config查看帮助信息:查看ansible的配置:查看ansible的变量:yaml格式显示的详细配置信息list选项:...

2020-11-02 11:12:42 53

原创 ansible(1)——安装

ansible是一个推方式的配置管理工具,因为是推模式,我们只需要在master主机上安装ansible即可。安装方法如下,首先在centos7上安装阿里云的软件源:wget -O /etc/yum.repos.d/CentOS-Base-ali.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo接

2020-11-02 10:11:47 42

原创 crontab/ntpdate——时间同步

在创建集群时,我们需要统一每一台主机的时间,这就需要用如下方式:首先yum install nptdate -y,安装好时间同步工具接下来:ntpdate time1.aliyun.com使用阿里云的时间服务器再设置定时crontab任务:先crontab -e进入定时设置任务,打算每七分钟做一次时间同步:保存即可,这样就可以实现时间同步任务...

2020-11-02 10:00:22 775

原创 keepalived(9)——sorry_server

前面我们说到如果一台主机出事故就删除一台,要是所有的都出事故呢,就要配置专门的sorry界面,配置方法如下,只需要加一行sorry_server即可:我们在keepalived主机上安装好httpd服务,并:echo “sorry” > /var/www/html/index.html,这时候开启http服务和keepalived服务,在同时关闭192.168.19.137和192.168.19.138上的httpd服务,可以看到keepalived的日志里将127.0.0.1添加到了lvs中:

2020-11-01 13:55:37 47

原创 keepalived(8)——http、tcp检测

要完成该项目,就要先添加HTTP_GET代码配置段:首先开启keepalived进行访问发现keepalived自动将lvs集群配置完毕接下来在192.168.19.137上关闭httpd服务(systemctl stop httpd):发现keepalived尝试3次未果直接将该主机移出lvs集群:再去访问只有一个2的页面再在192.168.19.137上开启httpd服务,发现keepalived检测到后将主机192.168。19.137重新加回lvs集群:再去访问成功轮训:

2020-11-01 13:38:46 49

原创 keepalived(7)——操作脚本

我们可以用脚本来对keepalived进行操作:先写vrrp_script <名字>{}随后在如下配置段进行操作:使用方法为track_script{}我们可以在括号里写脚本语言,进行相关操作,比如说进行主备切换,如果出现某些不应该出现的问题,对权值进行相应修改,当master的权值低于BACKUP权值的时候,进行主备切换等等。实战(1)首先编写脚本文件:mkdir /data/scripts/ -pcd /data/scripts/vim check_keepaliv

2020-10-31 20:57:57 73

原创 keepalived(6)——lvs和arrp集成操作(2)——完成

验证成功后,可以使用ipvsadm -C删除所有规则,进行keepalived的文件配置,其实,keepalived也是靠linux里的ipvs内核来进行操作的,所以可以不用ipvsadm来写,keepalived自己就会写好相应规则,只需要你手动把配置文件写好即可,在(2)博客的基础之上,添加如下字段即可:主keepalived:括号也要写成和上述图片一模一样,否则可能会报错。keepalived的slave的配置文件修改如下:和上面一模一样,仅需要添加虚拟主配置段即可。实践进行好配置后,

2020-10-30 19:15:20 43

原创 keepalived(5)——lvs和arrp集成操作(1)

首先要准备四台主机:(1)RS1 nat网卡 192.168.19.137 装好httpd(yum install httpd -y)(2)RS2 nat网卡 192.168.19.138 装好httpd(3)keepalived主 192.168.19.150(已经装好keepalived)(4)keepalived从 192.168.19.140(已经装好keepalived、ipvsadm)以上四台主机全部关闭防火墙和iptables前面我们已经准备好了(3)和(4)现在先关掉(3)

2020-10-30 18:43:02 45

原创 keepalived(4)——演练故障出现时keepalived的状态

keepalived的主要作用体现在处理单点故障,像前面我们设置的两台主机,就可以进行故障演练,现在的状态是master主机开启着keepalived:接下来关闭master上的keepalived:master上的已经关闭,并且查看ip addr:发现已经移除。反观backup:可以看见把vip端口转移到了slave主机上,查看ip addr看到vip已经设置好:这时候访问vip访问正常。再次开启以后,master恢复服务,slave转成backup模式:...

2020-10-29 13:40:59 46

原创 keepalived(3)——解决无法用vip来访问的问题

开启keepalived后,会出现访问自己主机正常:而访问vip无响应:这是因为在配置文件中的:会让我们的防火墙对vip产生drop:此时只需要删除这一行再重新启动即可。

2020-10-29 12:19:34 201

原创 keepalived(2)——配置文件

keepalived的配置文件在/etc/keepalived/目录下的keepalived.conf里:在修改配置文件前,先将自己的主机名分别修改为master和slave以便区分:接下来进行相关主备配置先备份一个模板:接下来进行修改,在该配置文件里,有全局配置项,vrrp配置项和virtual-serve(虚拟主机)配置项。修改主机master全局配置项和vrrp配置项:第一处的邮箱地址可以随便填,route_id很重要,必须要设置一个唯一项,此处按主机名进行设置,第三处要写你的物理

2020-10-29 12:09:51 35

原创 keepalived(1)——准备

keepalived和之前的lvs不同,它实现了高可用,核心是vrrp协议,即当一个路由器出故障时,可以换一个路由器作为备用,实现路由效果,体现了容错效应,而lvs是实现了高扩展,将一个个的小项目分配到一台台主机上实现一个大项目。首先准备两台主机分别安装keepalived和nginxkeepalived的安装很简单,如果不用最新版,可以直接yum install keepalived -y:完成安装。可以发现各种模块已经加载好,最核心的为红色所示。接下来分别在两台主机上准备好nginx,以便

2020-10-29 10:54:32 75

原创 LVS(15)——tun技术

在两个非同网段ip之间,必须经过路由器进行处理,才能互相通讯数据,但是这样会降低传输的速度,所以提出了隧道技术,即在两个非同一网段的真实主机上设置相关信息,直接进行通信。首先要准备三台虚拟机。(1)路由器 双网卡(2)真实主机1 VMNET1(3)真实主机2 VMNET2首先要进行如下配置:(1)路由器ip1 192.168.88.128ip2 192.168.122.190开启路由转发功能(2)真实主机1设置ip为192.168.88.129设置网关为192.168.88.128

2020-10-28 19:39:45 50

原创 Destination Host Unreachable问题记录

今天在操作虚拟机的时候,一台虚拟机ping另外一台虚拟机的时候,出现了Destination Host Unreachable报错,经过反复尝试,发现可以用:ifconfig 网卡名 down再重启reboot解决此问题。

2020-10-28 19:24:16 40

原创 LVS(14)——DR模型实践、交换机

在lvs主机上操作ipvsadm:这里实现了DR模型,接下来测试在客户端访问该vip:访问成功

2020-10-27 18:29:45 141

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除