Fork me on GitHub

Flume的使用:扇出-单source多channel多sink监控:监控文件并采集到hdfs与本地

0.图解过程:

image.png
image.png

1.修改多配置文件,flumejob_1.conf,flumejob_2.conf,flumejob_3.conf

(1)flumejob_1.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
a1.sources = r1
a1.sinks = k1 k2
a1.channels = c1 c2
# 将数据流复制给多个channel
a1.sources.r1.selector.type = replicating

# 2.source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /opt/plus
a1.sources.r1.shell = /bin/bash -c

# 3.sink1
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop3
a1.sinks.k1.port = 4141

# sink2
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = hadoop4
a1.sinks.k2.port = 4141

# 4.channel—1
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# 4.channel—2
a1.channels.c2.type = memory
a1.channels.c2.capacity = 1000
a1.channels.c2.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1 c2
a1.sinks.k1.channel = c1
a1.sinks.k2.channel = c2
(2)flumejob_2.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 1 agent
a2.sources = r1
a2.sinks = k1
a2.channels = c1

# 2 source
a2.sources.r1.type = avro
a2.sources.r1.bind = hadoop3
a2.sources.r1.port = 4141

# 3 sink
a2.sinks.k1.type = hdfs
a2.sinks.k1.hdfs.path = hdfs://hadoop2:9000/flume2/%H
#上传文件的前缀
a2.sinks.k1.hdfs.filePrefix = flume2-
#是否按照时间滚动文件夹
a2.sinks.k1.hdfs.round = true
#多少时间单位创建一个新的文件夹
a2.sinks.k1.hdfs.roundValue = 1
#重新定义时间单位
a2.sinks.k1.hdfs.roundUnit = hour
#是否使用本地时间戳
a2.sinks.k1.hdfs.useLocalTimeStamp = true
#积攒多少个Event才flush到HDFS一次
a2.sinks.k1.hdfs.batchSize = 100
#设置文件类型,可支持压缩
a2.sinks.k1.hdfs.fileType = DataStream
#多久生成一个新的文件
a2.sinks.k1.hdfs.rollInterval = 600
#设置每个文件的滚动大小大概是128M
a2.sinks.k1.hdfs.rollSize = 134217700
#文件的滚动与Event数量无关
a2.sinks.k1.hdfs.rollCount = 0
#最小副本数
a2.sinks.k1.hdfs.minBlockReplicas = 1


# 4 channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100

#5 Bind
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1
(3)flumejob_3.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#1 agent
a3.sources = r1
a3.sinks = k1
a3.channels = c1

# 2 source
a3.sources.r1.type = avro
a3.sources.r1.bind = hadoop4
a3.sources.r1.port = 4141

#3 sink
a3.sinks.k1.type = file_roll
#备注:此处的文件夹需要先创建好
a3.sinks.k1.sink.directory = /opt/flume3

# 4 channel
a3.channels.c1.type = memory
a3.channels.c1.capacity = 1000
a3.channels.c1.transactionCapacity = 100

# 5 Bind
a3.sources.r1.channels = c1
a3.sinks.k1.channel = c1

2.启动:先启动1,再启动2,3

由于flumejob_3.conf是采集到本地,故本地linux必须存在/root/flume2目录

1
2
3
4
5
bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flumejob_1.conf

bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flumejob_2.conf

bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flumejob_3.conf

3.验证:

修改文件,进行操作,并在本地/root/flume2或hdfs下/flume2目录下查看

Flume的使用:监听端口

1.新建配置文件flumejob_telnet.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#smple.conf: A single-node Flume configuration

# Name the components on this agent 定义变量方便调用 加s可以有多个此角色
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source 描述source角色 进行内容定制
# 此配置属于tcp source 必须是netcat类型
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444

# Describe the sink 输出日志文件
a1.sinks.k1.type = logger

# Use a channel which buffers events in memory(file) 使用内存 总大小1000 每次传输100
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel 一个source可以绑定多个channel
# 一个sinks可以只能绑定一个channel 使用的是图二的模型
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

2.上传到/opt/module/flume/conf

3.启动命令:

1
2
3
4
5
6
7
bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flumejob_telnet.conf -Dflume.root.logger=INFO,console

bin/flume-ng agent //使用ng启动agent
--conf conf/ //指定配置所在文件夹
--name a1 //指定agent别买
--conf-file conf/flumejob_telnet.conf //指定配置文件
-Dflume.root.logger=INFO,console //指定日志级别

image.png

4.测试

(1).下载telnet:往端口内发送数据(netcat也可以)
1
2
3
4
5
yum install nc 

yum search telnet

yum install telnet.x86_64

image.png

(2).开启telnet工具,输入信息
1
2
3
4
5
6
telnet localhost 444444   //开启

11
22
33
are you ok //输入信息

image.png

(3).查看监控

image.png

Flume的使用:监听文件夹

1.新建配置文件flumejob_dir.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 定义别名
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = spooldir
# 监控的文件夹
a1.sources.r1.spoolDir = /opt/testdir
# 上传成功后显示后缀名
a1.sources.r1.fileSuffix = .COMPLETED
# 如论如何 加绝对路径的文件名 默认false
a1.sources.r1.fileHeader = true
#忽略所有以.tmp 结尾的文件(正在被写入),不上传
# ^以任何开头 出现无限次 以.tmp结尾的
a1.sources.r1.ignorePattern = ([^ ]*\.tmp)

# Describe the sink 下沉到hdfs
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://hadoop2:9000/flume/testdir/%Y%m%d/%H
#上传文件的前缀
a1.sinks.k1.hdfs.filePrefix = testdir-
#是否按照时间滚动文件夹
a1.sinks.k1.hdfs.round = true
#多少时间单位创建一个新的文件夹
a1.sinks.k1.hdfs.roundValue = 1
#重新定义时间单位
a1.sinks.k1.hdfs.roundUnit = hour
#是否使用本地时间戳
a1.sinks.k1.hdfs.useLocalTimeStamp = true
#积攒多少个 Event 才 flush 到 HDFS 一次
a1.sinks.k1.hdfs.batchSize = 100
#设置文件类型,可支持压缩
a1.sinks.k1.hdfs.fileType = DataStream
#多久生成一个新的文件
a1.sinks.k1.hdfs.rollInterval = 600
#设置每个文件的滚动大小大概是 128M
a1.sinks.k1.hdfs.rollSize = 134217700
#文件的滚动与 Event 数量无关
a1.sinks.k1.hdfs.rollCount = 0
#最小副本数
a1.sinks.k1.hdfs.minBlockReplicas = 1

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

2.启动

1
2
3
cd /opt/module/flume  

bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flumejob_dir.conf

3.在文件夹内进行操作,比如新建文件,修改文件,之后文件会有后缀名.COMPLETED

  • 注意:所监控的文件夹内不允许有子文件夹

image.png

Flume的使用:监听本地linux文件并采集到hdfs

1.新建配置文件flumejob_hdfs.conf,然后上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Name the components on this agent agent别名设置
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source 设置数据源监听本地文件配置
# exec 执行一个命令的方式去查看文件 tail -F 实时查看
a1.sources.r1.type = exec
# 要执行的脚本command tail -F 默认10行 man tail 查看帮助
a1.sources.r1.command = tail -F /opt/movle
# 执行这个command使用的是哪个脚本 -c 指定使用什么命令
# whereis bash
# bash: /usr/bin/bash /usr/man/man1/bash.1.gz
a1.sources.r1.shell = /bin/bash -c

# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://hadoop2:9000/flume/%Y%m%d/%H
#上传文件的前缀
a1.sinks.k1.hdfs.filePrefix = logs-
#是否按照时间滚动文件夹
a1.sinks.k1.hdfs.round = true
#多少时间单位创建一个新的文件夹 秒 (默认30s)
a1.sinks.k1.hdfs.roundValue = 1
#重新定义时间单位(每小时滚动一个文件夹)
a1.sinks.k1.hdfs.roundUnit = hour
#是否使用本地时间戳
a1.sinks.k1.hdfs.useLocalTimeStamp = true
#积攒多少个 Event 才 flush 到 HDFS 一次
a1.sinks.k1.hdfs.batchSize = 1000
#设置文件类型,可支持压缩
a1.sinks.k1.hdfs.fileType = DataStream
#多久生成一个新的文件 秒
a1.sinks.k1.hdfs.rollInterval = 600
#设置每个文件的滚动大小 字节(最好128M)
a1.sinks.k1.hdfs.rollSize = 134217700
#文件的滚动与 Event 数量无关
a1.sinks.k1.hdfs.rollCount = 0
#最小冗余数(备份数 生成滚动功能则生效roll hadoop本身有此功能 无需配置) 1份 不冗余
a1.sinks.k1.hdfs.minBlockReplicas = 1

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 1000

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

2.启动

1
bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flumejob_hdfs.conf

3.验证

Flume拦截器

0.拦截器图解

拦截器
拦截器

1.常用拦截器

(1)时间戳拦截器
(2)主机名拦截器
(3)UUID拦截器&查询替换拦截器
(4)正则拦截器

2.自定义拦截器

(1)写自定义拦截器程序,即成flume的拦截器包
(2)打包
(3)上传到linux
(4)修改flume.conf文件
(5)运行

Flume安装配置

1.下载压缩包

2.上传到linux:/opt/software

3.解压

1
2
3
cd /opt/software

tar -zxvf apache-flume-1.6.0-bin.tar.gz -C /opt/moudule

4.重命名

1
2
3
cd /opt/module/flume/conf

mv flume-env.sh.template flume-env.sh

5.修改配置

1
vi flume-env.sh

修改内容如下:

1
export JAVA_HOME=/opt/module/jdk1.8.0_144

flume-env.sh

Flume概览

一.flume概览

1.概述:

    Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的架构。它具有可靠的可靠性机制和许多故障 转移和恢复机制,具有强大的容错性。它使用简单的可扩展数据模型,允许在线分析应用程序。

2.大数据架构

  • 数据采集(爬虫\日志数据\flume)
  • 数据存储(hdfs/hive/hbase(nosql))
  • 数据计算(mapreduce/hive/sparkSQL/sparkStreaming/flink)
  • 数据可视化

3.Flume基于流式架构,容错性强,也很灵活简单。

4.Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。

二.flume角色

1.source

  • 数据源,用户采集数据,source产生数据流,同时会把产生的数据流传输到channel。

2.channel

  • 传输通道,用于桥接source和sink

3.sink

  • 下沉,用于收集channel传输的数据,将数据源传递到目标源

4.event

  • 在flume中使用事件作为传输的基本单元

Flume角色

5.Flume常用的Type

(1)source
名称 含义 注意点
avro avro协议的数据源 主要用于agent to agent之间的连接
exec unix命令 可以命令监控文件 tail -F
spooldir 监控一个文件夹 不能含有子文件夹,不监控windows文件夹,处理完文件不能再写数据到文件 ,文件名不能冲突
TAILDIR 既可以监控文件也可以监控文件夹 支持断点续传功能, 重点使用这个
netcat 监听某个端口
kafka 监控卡夫卡数据
(2)sink
名称 含义 注意点
kafka 写到kafka中
HDFS 将数据写到HDFS中
logger 输出到控制台
avro avro协议 配合avro source使用
(3)channel:
名称 含义 注意点
memory 存在内存中
kafka 将数据存到kafka中
file 存在本地磁盘文件中

6.flume的启动参数

(1)命令
参数 描述
help 打印帮助信息
agent 运行一个Flume Agent
avro-client 运行一个Avro Flume 客户端
version 显示Flume版本。
(2)全局选项
参数 描述
–conf,-c 目录使用配置文件。指定配置文件放在什么目录
–classpath,-C 追加一个classpath
–dryrun,-d 不真正运行Agent,而只是打印命令一些信息。
–plugins-path 插件目录列表。默认:$FLUME_HOME/plugins.d
-Dproperty=value 设置一个JAVA系统属性值。
-Xproperty=value 设置一个JAVA -X的选项。
(3)Agent选项
参数 描述
–conf-file ,-f <file> 指定配置文件,这个配置文件必须在全局选项的–conf参数定义的目录下。(必填)
–name,-n <name> Agent的名称(必填)
–help,-h 帮助

日志相关:

  • -Dflume.root.logger=INFO,console

该参数将会把flume的日志输出到console,为了将其输出到日志文件(默认在FLUME_HOME/logs),可以将console改为LOGFILE形式,具体的配置可以修改$FLUME_HOME/conf/log4j.properties

  • -Dflume.log.file=./wchatAgent.logs

该参数直接输出日志到目标文件

(4)Avro客户端选项
参数 描述
–rpcProps,-P 连接参数的配置文件。
–host,-H Event所要发送到的Hostname。
–port,-p Avro Source的端口。
–dirname Avro Source流到达的目录。
–filename,-F Avro Source流到达的文件名。
–headerFile,-R 设置一个JAVA -X的选项。

启动Avro客户端要么指定–rpcProps,要么指定–host和–port

三.Flume传输过程:

    source监控某个文件或数据流,数据源产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出,sink去channel队列中拉取数据,然后写入到HDFS中。

碎碎念

2021/01/11

1.看完spring boot入门视频
2.终于可以搞业务代码了
3.打算跟着做一个spring boot的博客系统,锻炼自己的代码能力

2020/11/17

1.mind your own business

2020/11/16

1.who am I
2.到底是什么,定义了一个人
3.Time to stop,Time to Moving On,Time to Be Brave
4.读书,编程,生活

2020/11/07

1.I Dont KNOW WHAT TO DO
2.焦虑

2020/10/30

1.读完《为什么有的人特别招蚊子》
2.Shell脚本语言学习中
3.面试题Anki准备90%

2020/10/28

1.读完《5秒法则》
2.原来隔着自己与成功的做某事是自己的感受
3.尝试用5秒法则
4.做了可乐鸡腿

2020/10/27

1.无从下手
2.焦虑
3.我该如何是好

2020/10/26

1.今天做了红烧排骨,味道不错

2020/10/25

1.今天啥都没做

2020/10/19

1.昨晚11点睡,今天4点醒,精神还不错,早睡早起真的很棒,需要改进的一点就是虽然早上起得早,但是并没有学习,而是刷Youtube刷了一段时间,并不是很有效率,明天尝试学点别的,但因为是和别人合租,所以不想弄出大的响动,毕竟才凌晨四点,让我更加强烈想要拥有一个自己的私人空间
2.碎碎念今天还是早上写的,因为比较有精神,也不会忘记
3.到最后阶段了,加油,努力
4.又买了一顶帽子,自从发际线越来越高,我发现以后可能要长久带帽子了,唉
5.这里的网络经常抽风······
6.越来越发现读书是真的很有好处的,它会潜移默化的影响自己,改变自己的认知和思考方式

2020/10/18

1.这几天睡的都比较早,晚上10点就睡了,然后第二天早上4,5点就会醒,并且一天的精神很不错,早睡早起nice
2.我觉得前期积累是很重要的,所以我认为现在开始,每天练习写分镜脚本,从学习别人的视频里开始是一个不错的开头
3.学习的时候把手机关机是一个很好的策略,因为反正又没人找我,而自己还老是喜欢滑手机
4.视频方向倒是有那么几个了,继续研究积累吧,至少在重要的事情之前不要去做,先积累
5.我觉得这种碎碎念在早上开始记录比较好,因为晚上容易忘,而且这种形式类似于晨间日记,也挺不错,因为这至少是第二天,可以完整的回顾昨天,而且早上的大脑比较清晰,可以把脑子里的东西统统写出来
6.现在用的MarkDown写作软件从Mweb换成Typora,因为真的挺简约好看

2020/10/09

1.Apple Watch带给我的体验就是让自己更加关注自己的健康了,挺好,比如会有意识的站立与锻炼
2.我发现自己DIY的显示器还是不太好用,接口裸露,有时候还接触不良,下次回家把那台熊猫显示器拿过来吧
3.编程从小地方开始,重复积累,训练多次
4.记录了这么多,但我发现并没有总结,所以定个日期定期总结
5.我觉得可以开始录视频了,原因有几方面,一是进行知识输出,二是锻炼自己的表达能力,三是熟悉创作视频,自媒体的过程,做一个积累,不能等一定要准备好才开始,因为你永远都不会准备好,可以边做,然后锻炼自己,之后再调整就好,目前视频方向是读书感悟,方向定下了,接下来就是做一个计划,然后学习相关的知识,然后实践就好
6.在读《成功,动机与目标》这本书,收获很多,现在我脑子里印象最深的是,一,相信自己能成功和相信自己能轻松成功的区别,相信自己能成功能够给自己带来信心,能够使事情成功的概率更大,而相信自己能够轻松成功会让自己准备不足,因为足够“轻松”嘛,但事实并非如此,会导致逆向的效果,做事成功的几率反而会降低,我发现自己就是处于第二种心理,然后才落得现在这种境地,另一个让我印象深刻的实体思维和渐进式思维的区别,实体思维认为人的智商是固定的,所以不会为了成长而努力,反而会注重别人的看法,比如做事向别人证明自己的智商足够高,而不是为了成长,同时他只会做自己认为自己能力之内的事情,不愿暴露自己的不足,这样是成长不了的,而渐进式思维认为人的智商,个性是可以改变的,需要的是通过努力练习,渐进式思维的人往往不会太在意别人的看法,做事的理由是能够得到成长即可,即使会暴露自己的无知和不足。所以做一个渐进式思维的人吧

2020/10/08

1.相信积累的力量
2.做大扫除,以后需要定期做一次
3.整理了一个舒适的“学习”环境,😂
4.打算把自己生活中的事情列一个奖励表格,积分制,做自己喜欢做的事情需要花几分,需要做其他事情获得积分,就像钱一样,用以督促自己的学习,调动自己的积极性
5.给Apple Watch 配置了交通卡,这样以后就可以用Apple Watch乘坐地铁公交了
6.做了70个俯卧撑和100个自重深蹲

2020/10/07

1.帮坤安装软件,卸载流氓软件
2.买的apple watch se到了,感觉很不错,
3.晚上吃的是青椒炒饼,我发现饼不论怎么炒都好吃,而且做饭简单,时间也短,关键是便宜
4.安慰妮,希望她能够快快成长起来,不用太依赖别人

2020/10/06

1.买的无线蓝牙耳机飞智银狐T1到了,用起来感觉很不错,比山寨AirPods好多了,至少不会莫名其妙中断,以后买电子产品一定要买正版,即使买同类型的其他类产品也比山寨的强很多,说实话我买的耳机真的挺多的,索尼有线耳机一副,山寨airpods一副,头戴式蓝牙耳机,入耳式蓝牙耳机,买银狐T1的原因是山寨AirPods实在是用不了,老是自动中断,体验很差,而我的手机是没有手机孔的,所以,小巧的蓝牙耳机就显得很必要。
2.写了三盘文章,关于ffmpeg的,现在觉得这个软件真的好好用,以前总是找不到用来剪切视频的软件,因为好多软件都需要再压制,所以速度很慢,我明明只需要去掉一部分视频,或者合并两个格式,码率都一样的视频,用其他软件都太麻烦太耗时间,而ffmpeg真的很好用,解决了一个痛点

2020/10/05

1.找到合适录屏软件

2020/10/03

1.学习

2020/09/29

啥都没做

2020/09/28

1.今天啥都没干

2020/09/27

1.复习完《循序渐进学Spark》
2.和母亲见面

2020/09/26

1.今天复习《循序渐进学Spark》,让自己对Spark有了更深的理解
2.晚上做了葱姜焖鸡,味道还不错
3.发现可以把做菜视频截图,然后合成一张图片,这样下次做菜就不用每次看视频了

2020/09/25

1.复习完《Hadoop权威指南》
2.发现搬不了家了
3.恢复和母亲的通讯
4.恢复和妮的通讯

2020/09/24

1.刷了一整部剧《重启》
2.决定回去了

2020/09/23

今天啥也没干

2020/09/22

1.《高效能人士的七个习惯》看了一章
2.《疯狂python讲义》学了两章
3.Hadoop复习了一些
4.希望明天更有效率一点,虽然今天比昨天好一些

2020/09/21

1.今天开始录视频了

2020/09/20

1.今天把《程序员的思维训练》的思维导图笔记做了
2.下午的时候心情不好,因为自己的无能(qhj)

2020/09/19

1.今天学习状态挺好,转移学习场地果然是一个明智的决定
2.开始记录日常的内心想法而不是忽视它,提升R型思维
3.开始用思维导图整理学习的知识,便于复习以及记忆

2020/09/18

今天做了重庆鸡公煲

2020/09/17

今天啥都没做,颓废
强迫症迫使我继续整理电子书,即使我知道没有啥积极作用,就是强迫症作祟,也有可能是我内心在逃避

2020/09/16

1.中午吃的还是自己做的凉面,口感还不错
2.以后尽量坐着在床下学习,不要躺着
3.我发现自己真的有强迫症,之前是电子书分类,现在又习惯性把较大的pdf压缩之后在上传到百度云,出租屋的网络带宽又真的很低,所以很费时间,但是我又忍不住要这样做,
4.明天试试用视频记录自己的所思所想
5.北京的天气变凉了,现在要穿一个外套了
6.我觉得还是要把notion用起来,正所谓”what gets measured gets managed”,所以要开始记录,记录习惯,记录开支,记录项目进展
7.我认为每次都从电脑上弄notion比较麻烦,所以打算找一个合适的手机app用于记录,然后定期整理到notion上面,这样比较好,但这种软件还没有找到合适的。
8.今天发现自己特别喜欢出租屋改造的视频,我觉得有一个属于自己的空间是很必要,很有幸福感的事情,努力吧。
9.今天看了一本书《automatic habits-原子习惯》,是关于习惯的,讲的是很多情况下,影响我们生活的并不是那些重大的事件,而是每天的日常的小习惯,通过持续的积累而影响的,每天进步1%,1年之后会进步37%,但如果一天退步1%,一年之后会变得什么都不剩,所以不要小瞧每一天很简单的习惯,重要的不是一下子做出巨大改变,重要的是要坚持下去。我觉得很有道理,有机会把这本书找来仔细研读一下。
10.争取每一天要有成果,写一段代码,写一篇文章,等等

2020/09/15

a stupid day

2020/09/14

开始学python了,总觉得编程要有实战操作才能够学的好,本来我也对python爬虫感兴趣,而且大数据分析用python的也比较多,所以就开始学python了

今天中午又做了一次凉面,因为买了黄瓜,所以口感又好了一些,我发现自己还是蛮喜欢做饭的,新买的麦饭石锅很好用,不粘而且导热性强,关键是这口锅看起来也挺让人赏心悦目的。

今天在mac上装了一个CentOS 7虚拟机,因为之前的大数据集群一直是搭建在那台老戴尔笔记本里的,两台电脑还是有些不方便,因为开始学python所以用虚拟机装环境比较好,即使出现问题删掉重装就好了,这就是装虚拟机的好处,但有一个问题就是我的macbook pro内存太小了,只有8g,存储也小,等以后买一台顶配的macbook pro吧,至少16g内存,存储也要大一点

2020/09/12

我发现自己学习的时候有一个误区,那就是很重视做笔记,因为只有做笔记才能给体现自己学过这个知识,但对于编程来说,这样是不好的,编程是更侧重于应用的,之前,不论是读书还是学编程,每次都在做笔记上花了太多的精力,导致在实际应用方面乏力了。这样是不好的,从现在开始,要更侧重于实践吧,虽然笔记也很重要,但现如今的目标是提高自己的编程能力。

今天终于把电子书分类弄完了,了却一桩心事。

2020/09/11

发现自己现在只愿意看结局好的电影了,玻璃心

2020/09/06

有些人面对时间的态度是无助的,他们虽然知道时间的可贵,也知道有重要的事情需要去完成,却在行动上梭巡不前,眼睁睁的看着机会随时间流逝而去

编程的时候,从基础开始练习,会觉得没有意义,直接从项目开始实操又觉得太难,这样是不好的

今天读的书是《精进:如何成为一个很厉害的人》,觉得很有收获,先速读了一遍,然后再刷一遍做笔记,因为读书如果不做笔记,过两天就会忘,做完笔记之后会再写一篇读后感,因为学习本就不仅是知识的累积,还要对所学到的知识进行消化,吸收为自己的才算真正学习进去了。

今天买了一个便携灯,后面会考虑用视频记录自己的所思所想,并提高自己的表达能力

明天要好好准备面试,加油

2020/07/03

自己太容易分心了,总是在做一件事情的时候,想到另一件事情,然后转去做另外的事情,导致做事的效率低下,而且事情经过转换之后,总是需要很多精力再进入做事情的状态,所以,现在要养成做一件事情,一定要要求自己把事情做完,然后再去做另一件事情,如果这件事情比较复杂,可以拆分成小的事情。

我发现,不论做什么事情,需要给这件事限定一个时间期限,并且时间期限最好不要太长,这样做事情才会有紧迫感,做事才会更有效率。

每当别人做什么事的时候,不要马上被情绪冲昏头脑,想想他为什么这么做,生气亦如此

2020/06/27

我真的是受够了,自己太懒惰,太喜欢逃避,太不负责任,是时候停止任性了

2020/06/25

不知道为什么,总是有抗拒心理,新建一个碎碎念的分类吧,用于记录平时的所思所想,因为qq好久不用了,不知道是不是因为年纪大了的缘故,现在也不太愿意发朋友圈了,所以开一个新的碎碎念分类

我发现做一件事开不了头是因为不明确,不知道到底应该做什么,所以我们需要做的就是将想要做的事情拆分成一个个小的,可以理解的部分,就更容易开始了

我发现拆分是很重要的,在很多书里面都有提,比如《游戏,让学习成瘾》

周记-2020-06-21

1.关于锻炼

这一周我改变了训练计划,从腿推拉变成分化训练,因为并不是在健身房,所以弹力带负重训练并不是很有效,每次练完都好像没有什么感觉,训练计划改为分化训练之后,肩部,手臂训练之后的训练感觉明显更明显,但是大肌群,胸肌,背阔肌,腿部肌肉每次训练完并没有很强的泵感,我觉得很可能是因为负重不够,现在的身体已经适应了,所以下一阶段应该要在健身房训练即可。所以现在最重要的是找到工作。

2.关于读书

这一周本身读的书比较少,更多的是通过YTB 陪你读书来学习书中的精华,若以后想要仔细学习,再把书找来更深刻的读一遍
《最重要的事情只有一件》让我知道,若想要达到自己的目标,可以通过倒推法,找到自己现在所需要做的事情是什么

3.周记

(1)锻炼的训练计划由腿推拉换为分化训练,采用胸+肱三头肌,背+肱二头肌,腿+肩部肌肉
(2)最近在YTB上通过陪你读书频道学习书中的知识

4.复盘

(1)关于锻炼,因为锻炼已有一段时间,身体应该已经适应了相应的负荷,而腿推拉训练计划并不适用于现在的家庭弹力带训练条件,所以换为分化训练,并且训练感受更加明显,但是大肌群训练感受并不是很明显,比如胸肌,背阔肌,腿部肌肉。所以下一个阶段最好是在健身房训练,所以找到工作是首要条件,这样就有资金

(2)陪你读书是一个很好的频道,他会将一本书的精华浓缩在二十几分钟的视频里面,所以效率比自己读书更快,所以这一周我大部分都是在学陪你读书频道的视频,因为这样可以概览书籍的精华知识,如果以后自己有相对应的需要,会把该书找出来再精读一遍。这一个过程有一点像掌握临界知识的过程。

5.计划

(1)关于找工作,计划复习完大数据项目,复习整理面试题,优化简历,争取在周日之前就把简历投递出去,不能再拖了

(2)“最重要的事情只有一件”,所以下一周的主要精力就是找工作,不会有其他的安排

周记-2020-06-14

1.关于锻炼

锻炼已经坚持了12天,执行的训练计划是腿推拉,按照《坚持,一种可以养长的习惯》所说,现在自己所处于的阶段是不稳定期,而度过不稳定期的方法一是,行为模式化,即将习惯化为固定的模式(在固定的时间,固定的地点,固定的方法),并认真执行,这一点比较容易做到,并且更容易坚持,比如每到下午5点就会知道该锻炼了。

但是因为是在室内锻炼,所用的工具只有弹力绳,所以强度并不是很大,也可能是训练时间还是太短,所以感觉没什么训练效果,众所周知,增长肌肉需要负荷式锻炼,想要锻炼有效果,一是必须提升训练容度,训练容度=重量x组数x次数,次数最好是12~15次力竭,其次就是要保证锻炼动作标准,这两方面我都需要保持加强。

2.关于读书

最近,我读完的书有《刻意练习,如何从新手到大师》,《坚持,一种可养成的习惯》,《好好学习:个人知识养成指南》,《关键20小时,快速学习任何技能》,它们每本书都给我很大的启示

  • 比如《刻意练习》让我知道,天才也是训练的产物,只要努力训练,是有自己成为某项技能的大师的可能性的,关键是正确的“可以练习”
  • 《坚持,一种可以养成的习惯》,让我知道,习惯养成分为三个阶段:反抗期,不稳定期,倦怠期;每个阶段都可以利用相对应的方法应对,比如在反抗期,应对方法有:从小地方开始,简单记录;在不稳定期的应对方法有:行为模式化,设定例外开关,设定持续开关等等
  • 《好好学习》让我知道了临界知识的重要性,以及反思的重要性,只有通过反思自己,我们才能够成长,而反思需要做的第一步就是记录,所以我才会搭建这一个博客
  • 《关键20小时》告诉我,其实生活中的很多技能都是可以速成的,只要掌握了正确的方法,而且,在日常生活中,很多技能并不需要我们一定要达到大师水平,我们只要能够简单入门,并迅速达到中等,甚至中等稍微偏上的水平,就足够用了,当然,若想要把某项技能达到大师水平,就需要长期的训练了。
  • 从这几本书中,我现在最大的收获是,不论什么事情,任务,项目,若想要快速达成,那么第一步就是将它分解成一个个更小,更易实现的步骤,然后从小地方,最简单的步骤开始,一步一步的进行,这样更利于任务的达成

最近读一半书有《巨人的工具》,《活下去的理由》,《施瓦辛格健身全书》,《为什么我们在逃避》,《与自我和解》,《原则》,其中很读书读到一半就不想读了,比如《原则》,因为觉得现在还看不懂,而我现如今比较感兴趣的《巨人的工具》,因为在YTB上看到有人推荐,觉得不错

3.关于强迫症

我有强迫症,比如:

  • 手机上app的提示图标一定要点开,让它消失掉,即使自己不感兴趣,但未来让它消失,就一定要打开app,然后让它消失;
  • 另一个情况是,我做一件事,就想要一次把它做完,做到一半总感觉不舒服,比如这次的迁移博客,其实我有很多更重要的事情需要做,比如完成大数据推荐项目,完善简历,背面试题,复习大数据知识,等等。但自从我新弄了这个hexo博客之后,我就从简书,CSDN上迁移之前写的文章,然后就停不下来了,足足花了两三天才把博客迁移完毕
  • 还有另一个表现是,“完美主义”,或者换一种说法,就是不论什么事情,想一步到位,做到完美,比如记录,自从决定开始记录,我就开始使用notion APP,简历notion模版,总觉得可以找到更完美的模版,然后一直在忙于找模版,但没有开始记录,后来通过读书学习,知道了比起做到“完美”,更重要的是“GTD”,即get things done,然后在之后练习中一步步调整,关于这一点,我已经慢慢在改了。

4.关于名字

为什么我取的名字是Movle,而不是其他呢?
原因如下:

  • 首先,Movle不是一个英文单词,它是我自己编造的一个名字,因为取名字还是希望比较独特的
  • 其次,如果你将M和L互换,你会发现,它变成了 love Me 的简写,寓意是爱自己,因为我觉得每个人只有好好爱自己,才能够好好的爱别人
  • 然后,如果你将l看成大写的I,movle 就变成movIe,也就是电影的意思,因为我喜欢看电影,因为我觉得在电影里面,我可以感受到另外的人生

5.关于厨艺

以前不觉得,现在觉得做菜其实挺简单的,按着菜谱一步一步来就行,而且发现自己挺喜欢做菜的,虽然还是技术很初级,但有时候觉得自己做的还挺好吃的。
Get的菜有:

  • 可乐鸡翅
  • 红烧鸡块
  • 酸辣粉
  • 酸辣土豆丝

6.关于Coding

我觉得提高Coding的能力,重要的是要实践应用,否则没有什么太大的效果,而且很容易忘记,所以打算在编程应用方面多下一些功夫

7.关于习惯

培养习惯重要的一点是,不要同时培养多个习惯,因为锻炼身体着一个习惯已经度过反抗期,所以我打算从现在起,培养一个新习惯,那就是复习,因为以前学的东西很多都很容易忘记,所以我打算在notion里建一个复习用的表格,用于安排,记录每天复习状况。

8.关于博客

此博客用的是hexo框架,分别发布在了Github和码云上面,因为国内访问Github太慢,所以在码云上面也发布了。之前尝试过在腾讯云搭建Wordpress,但是后来备案太麻烦,就放弃了。之前记录自己的学习过程,会在CSDN和简书上面发布,那些都是技术博客,但现在我想记录一些更私人的,比如周记,平时的心情记录等其他的内容,所以还是自己搞一个博客,于是此博客就此诞生。

10.关于别人的看法

以前,我是很在乎别人的看法的,但是我发现这样会给我带来很多困扰,加利维纳查克说过,“It doesn’t matter what they think, just focus on youself”,别人怎么看你并不重要,别人过的再好也跟你没关系,所以专心的做自己的事情就好。

  • Copyrights © 2015-2021 Movle
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信