分享知识,分享快乐

0%

在使用了hexo搭建了博客后,最大的问题便是如何使用一款markdown工具来编辑博客了,我采取的就是Typora,这工具免费简单易用没广告,而且把图片保存到本地还是很方便的,因此大家只要稍微了解点markdown语法就可以上手使用了。

关于图片和图片路径的设置,有以下教程。

事先声明,所有博客文件均保存在 hexo/_posts/文件夹下

首先在 hexo > source目录下建一个文件夹叫images,用来保存博客中的图片。

然后打开Typora的 文件 > 偏好设置,进行如下设置。

image-20200116142728587

这样的话所有的博客中的图片都将会保存到 /source/images/该博客md文件名/图片名称

但是仅仅这样设置还不够,这样设置在typora中倒是能看图片了,但是使用的却是相对于当前md文件的相对路径,可是如果启动hexo,是要用服务器访问的,而服务器显然无法根据这个相对路径正确访问到图片,因此还需要在typora中进行进一步设置。

在typora菜单栏点击 格式->图像->设置图片根目录,将hexo/source作为其根目录即可。

一定要先设置了图片根目录后再插入图片,否则图片路径会不正确喔!

阅读全文 »

hive数据导出,并指定分隔符,元素包含引号等

语法格式

1
beeline -n username -p password -u jdbc:hive2://host:10000 --verbose=true  --showHeader=false --outputformat=tsv2  --color=true  -e "select * from ${database}.${tablename}" > ${tableName}.csv

通过 outputformat 指定输出格式

–outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2] == 指定输出格式

–delimiterForDSV="*" ‘&’ 前提(–outputformat=dsv) 指定分隔符

不同格式对应的分隔符如下表:

格式 分隔符
table 表格式
vertical 如下所示
csv ‘,’ 逗号(元素包含引号)
tsv ‘\t’ 制表符(元素包含逗号)
dsv 默认‘|’ 竖线分割,可通过delimiterForDSV指定分隔符
csv2 ‘,’ 逗号(不含引号)
tsv2 ‘\t’ 制表符(不含引号)

说明:

csv格式 == 查询元素有’'单引号

csv2格式没有单引号

tsv,tsv2同上

实例

阅读全文 »

hive建表create table xxx as select的问题

create table xxx as select的方式创建的表默认存储格式是text,所以要注意了假如as select的是其他格式的比如RCFile,则可能会导致一行变多行的情况(因为RCFile格式的可能字段包含换行符等),所以必须要加上
create table xxx stored as RCFile as select…
所以使用这种方式建表注意加上指定的存储格式。

测试示例:

1
2
3
4
5
6
drop table if exists decision_model.member_close_reason;
create table decision_model.member_close_reason as
select 'mongodb_member' as intype, *
from mongo_baofoo_log.log_update_member_state
;
select * from decision_model.member_close_reason where intype <> 'mongodb_member';

img

正确的应该加上指定的存储格式。

1
2
3
4
5
6
7
8
9
10
11
drop table if exists decision_model.member_close_reason;
create table decision_model.member_close_reason
row format delimited
fields terminated by '|'
STORED AS RCFile
as
select 'mongodb_member' as intype, *
from mongo_baofoo_log.log_update_member_state
;

select * from decision_model.member_close_reason where intype <> 'mongodb_member';
阅读全文 »

解决spark streaming长时间运行日志不断增长问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
log4j.rootLogger=WARN,stdout,A1

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.encoding=UTF-8
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss,SSS}] %m %n[%d{yyyy-MM-dd HH:mm:ss,SSS}] %p | %F:%L | %M%n%n

log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.BufferedIO=true
log4j.appender.A1.BufferSize=8192
log4j.appender.A1.File=${spark.yarn.app.container.log.dir}/stderr
log4j.appender.A1.MaxFileSize=10MB
log4j.appender.A1.MaxBackupIndex=9
log4j.appender.A1.encoding=UTF-8
log4j.appender.A1.Append=true
log4j.appender.A1.Threshold=ERROR
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss,SSS}] %m %n[%d{yyyy-MM-dd HH:mm:ss,SSS}] %p | %F:%L | %M%n%n
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
#!/bin/bash

echo "================= spark job:CbDimStreamDriver start!!!========================"

spark-submit \
--master yarn \
--deploy-mode cluster \
--name stream-rm-cb-dim \
--queue bf_yarn_pool.production \
--class com.baofu.rm.streaming.CbDimStreamDriver \
--num-executors 32 \
--driver-memory 3G \
--executor-memory 4G \
--executor-cores 1 \
--conf spark.dynamicAllocation.enabled=false \
--conf spark.executor.extraJavaOptions=-XX:+UseConcMarkSweepGC \
--conf spark.streaming.backpressure.enabled=true \
--conf spark.streaming.kafka.maxRatePerPartition=1000 \
--conf spark.eventLog.enabled=false \
--conf spark.driver.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties \
--conf spark.executor.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties \
--files ./log4j.properties \
/home/bf_app_spark/spark-jobs/streams/fxJob/cbdim/rm-streaming-analysis-pro.jar

rc=$?
if [[ $rc != 0 ]]; then
echo "spark task: $0 failed,please check......"
exit 1
fi

echo "end run spark: `date "+%Y-%m-%d %H:%M:%S"`"
echo "================== spark job:CbDimStreamDriver end!!!===================="
1
nohup sh ./stream_CbDimStreamDriver.sh > /dev/null 2>&1

参考: http://mkuthan.github.io/blog/2016/09/30/spark-streaming-on-yarn/

阅读全文 »

有道笔记文件备份

阅读全文 »

IPFS音乐播放器

IPFS相关

IPFS第一次亲密接触

  • 什么是IPFS
  • IPFS对比HTTP/FTP等协议的优势
  • IPFS应用场景

-移动数据 交易 路由 网络

  • 定义数据 命名
  • 使用数据

具体场景;
挂载全球文件
版本管理功能
数据库
加密平台
各种类型cdn
永久访问的链接

ipfs入门

  • 官网地址:https://ipfs.io
  • 下载安装:https://dist.ipfs.io/#go-ipfs
  • 节点初始化
    • ipfs init
    • 如果出现Error: cannot acquire lock: can't lock file删除其后边给出的repo.lock文件即可
  • 节点配置
    • ipfs id 查看当前节点id等信息
    • ipfs config show ipfs配置信息
  • 节点服务器daemon
    • ipfs daemon
  • 修改IPFS默认路径
  • 开放API请求
    • ipfs config --json Addresses.API ‘"/ip4/0.0.0.0/tcp/5001"’
  • 开放公共网关
    • ipfs config --json Addresses.Gateway ‘"/ip4/0.0.0.0/tcp/8080"’

发布数据

阅读全文 »

hbase-hbck2

从官网下载hbck2 执行文件

http://hbase.apache.org/downloads.html

或 wget https://www.apache.org/dyn/closer.lua/hbase/hbase-operator-tools-1.0.0/hbase-operator-tools-1.0.0-bin.tar.gz

cdh官网的使用帮助

https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/admin_hbase_hbck.html#concept_hkk_q25_llb

1
2
3
4
5
6
7
cd /opt/hbase-operator-tools-1.0.0/hbase-hbck2

hbase hbck -j hbase-hbck2-1.0.0.jar -s assigns 1588230740

hbase hbck -j hbase-hbck2-1.0.0.jar -s assigns hbase:namespace,,1594264903686.db55eec81d86ac0ae26eba718518ce26

hbase hbck -j hbase-hbck2-1.0.0.jar -s addFsRegionsMissingInMeta default:test n1:tbl_2 n2

hbase shell 实战

移动表的数据到另外一个服务器

1
2
3
# 语法:move 'encodeRegionName', 'ServerName'``
# encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表
move '61a647884b761a785daf3b38049aaa27','bigdata-5.baofoo.cn,16020,1595233360076'
阅读全文 »

前言

周末 CDH6.3 的集群断电,导致 HBase 出现 RIT 状态。

赶紧把之前学的 hbck2 的知识实践顺便回顾下

过程

将项目拉取到本地 git clone https://github.com/apache/hbase-operator-tools.git --depth 1

编译出jar包上传到集群上 mvn clean package -Dmaven.skip.test=true

CDH 集群的话将其上传至/opt/cloudera/parcels/CDH/lib/hbase/lib路径下

使用

1
2
3
4
hbase org.apache.hbase.HBCK2 <命令>

# 验证是否可以使用
hbase org.apache.hbase.HBCK2 -v

结果当头一棒,不支持 2.1.0-cdh6.3.1

阅读全文 »

默认情况下mysql的数据路径应该在

1
# cd /var/lib/mysql

现在我们要将它转移到/data

  1. 停掉mysql服务
1
# service mysql stop
  1. 将原数据目录转移到data目录下
1
# mv /var/lib/mysql /data/
  1. 修改# vi /etc/my.cnf文件,增加以下行
1
2
datadir = /data/mysql
socket = /data/mysql/mysql.sock
  1. 修改# vi /etc/init.d/mysql文件,增加以下行
阅读全文 »