分享知识,分享快乐

0%

取消掉远程桌面mstsc顶部(侧面)连接栏

在进行mstsc远程桌面连接电脑或者虚拟机的时候,总是会出现一个连接栏。虽然点左边的图钉可以自动隐藏,但是每次鼠标滑到上面的时候,还是会冒出来,这个就有点闹心了。

查了下相关资料,解决了,特写下相关教程;

关闭步骤:在进行远程连接的时候,取消选择 显示->全屏显示时显示连接栏(B)。

如果要退出远程连接的话,Ctrl+ Alt+ Home,在全屏模式下,激活连接栏,然后叉掉就好了。

笔记本可能没有HOME键

HOME键和左方向键共用,打开HOME的方法是FN + HOME
所有笔记本唤醒连接栏的方法就是
Ctrl+ Alt+ FN + Home

阅读全文 »

解决root用户对HDFS文件系统操作权限不够问题

HDFS文件系统的目录基本都属于supergroup用户组,所以就把用户添加到该用户组,即可解决很多权限问题。

1、在namenode节点的Linux执行如下命令增加supergroup

1
groupadd supergroup

2、如将用户root增加到supergroup中

1
usermod -a -G supergroup root

3、同步系统的权限信息到HDFS文件系统

1
sudo -u hdfs hdfs dfsadmin -refreshUserToGroupsMappings

4、查看属于supergroup用户组的用户

1
grep 'supergroup:' /etc/group
阅读全文 »

Docker配置代理服务器

背景环境说明

Docker环境安装在内网,只有一台公共的代理服务器能够上网,
一般的docker pull会无法下载镜像。

新配置了代理服务器squid。(搭建squid代理服务器这里不讲,参考另一篇文章。不建议使用nginx坐正向代理,处理不了https。)
操作系统: Redhat 7.5 X86
内核: 3.10.0-862.el7.x86_64/docker 18.09
代理服务器: 10.1.1.1:10000

修改DockerService文件

1
vi /usr/lib/systemd/system/docker.service

在[Service]下面添加:

1
2
3
[Service]
Environment="HTTP_PROXY=http://10.1.1.1:10000"
Environment="HTTPS_PROXY=https://proxy.example.com:443"

重启Docker服务

1
2
3
systemctl daemon-reload
systemctl rstart docker
systemctl enable docker
阅读全文 »

Linux 防止rm误删文件,将rm配置成mv到.trash

今天在服务器上操作想删除文件来着,结果一直提示我mv: 正在访问"/data0/.trash/": 没有那个文件或目录,原来是为了防止误删把rm命令改写了,这样删错了后果就不会很严重

操作方法就是在~下的.bashrc或者.bash_profile文件加入如下

1
2
3
4
5
6
7
8
9
10
11
12
13
mkdir -p ~/.trash
alias rm=trash
alias r=trash
alias rl='ls ~/.trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.trash/$@ ./
}
trash()
{
mv $@ ~/.trash/
}

这样删除的文件会出现在家目录下的.trash文件中。

那么问题来了,如何删除.trash文件中的文件呢

继续在之前的.bashrc中添加

1
2
3
4
5
cleartrash()
{
read -p "clear sure?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.trash/*
}

清理回收站直接使用$cleartrash即可

阅读全文 »

centos7 简单开启代理上网

服务端安装: 在可以上网的机器安装

1
2
yum install squid -y
systemctl restart squid

客户端安装

yum 配置代理

1
echo "proxy=http://IP:3128/" >> /etc/yum.conf

系统全局代理(我测试下来,yum 不能用 )

vi /etc/profile

1
2
3
# export all_proxy=http://IP:3128  只导入这个 ,测试下来wget不能用
export http_proxy=http://IP:3128
export https_proxy=http://IP:3128
1
2
3
测试代理是否生效
curl http://myip.ipip.net
curl https://myip.ipip.net/
阅读全文 »

Python一秒钟搭建文件分享网页

Python的库是十分丰富的。在局域网内分享文件时,Python的http.server可以创建一个非常基本的Web服务器,相对于当前目录提供文件。http.server模块定义用于实现 HTTP 服务器(Web 服务器)的类。

一、运行简单网页

先来试验一下,在cmd运行:python -m http.server,如果时linux平台的化,注意python版本3 。在浏览器输入IP地址:8000,即可获得的当前目录下的所有文件列表,以提供下载。需要注意的是防火墙要关闭或添加规则。

在局域网内暂时分享文件的话是十分方便的,比U盘拷贝省心很多。

image-20220419170008535

查看官方文档:http请求映射到目录,检查目录中是否有index.html或index.htm文件(按顺序)。如果有,文件的内容将返回:否则,目录列表将通过调用list_directory()方法生成,此方法使用os.listdir()扫描目录。

二、http.server具体使用方法

使用 python -m http.server --help 再来看一下具体的使用方法。

image-20220419173412287

阅读全文 »

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

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

typora 自动上传图片的教程

https://connor-sun.github.io/posts/38835.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"picBed": {
"uploader": "aliyun",
"aliyun": {
"accessKeyId": "LvX8msYp6t1UQv3h",
"accessKeySecret": "BOmXyUnZ2ky4DJAIfRJOfrySHGwohV",
"bucket": "ask3",
"area": "oss-cn-hangzhou",
"path": "img/md/",
"customUrl": "",
"options": ""
}
},
// 插件设置
"picgoPlugins": {
"picgo-plugin-super-prefix": true
},
"picgo-plugin-super-prefix": {
"prefixFormat": "YYYY/MM/"
}
}

注意 : 存储路径比如img/的话,上传的图片会默认放在OSS的img文件夹下。注意存储路径一定要以/结尾!存储路径是可选的,如果不需要请留空。

让Typora的图片居左的两种方法

  • 方法1:空格键
  • 方法2:tab键

https://blog.csdn.net/sky0816/article/details/111321812

阅读全文 »

scala:函数至简原则、函数简化过程

1.return可以省略,Scala会使用函数体的最后一行代码作为返回值
2.如果函数体只有一行代码,可以省略花括号
3.返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略)
4.如果有return,则不能省略返回值类型,必须指定
5.如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用
6.Scala如果期望是无返回值类型,可以省略等号 这种形式称为过程
7.如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加
8.如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略
9.如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略

代码示例

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
object Scala05_TestFun_review {
def main(args: Array[String]): Unit = {
/*
//正常定义函数
def f0(name:String): String ={
return name
}
println(f0("atguigu"))
//(1)return可以省略,Scala会使用函数体的最后一行代码作为返回值
def f1(name:String): String ={
name
}
println(f1("atguigu"))
//(2)如果函数体只有一行代码,可以省略花括号
def f2(name:String): String = name
println(f2("atguigu"))

//(3)返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略)
def f3(name:String)= name
println(f3("atguigu"))

//(4)如果有return,则不能省略返回值类型,必须指定
def f4(name:String) ={
return name
}

//(5)如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用
def f5(name:String): Unit ={
return name
}
println(f5("atguigu"))

//(6)Scala如果期望是无返回值类型,可以省略等号 这种形式称为过程
def f6(name:String){
println(name)
}
f6("banzhang")

//(7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加
def f7(): Unit ={
println("jingjing")
}
f7
f7()

//(8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略
def f8: Unit ={
println("jingjing")
}
//f8()
f8
*/

//(9)如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略
// 1.扩展f9的功能 2.具体扩展的功能是通过fun函数传递,很灵活
def f9(fun:(String)=>Unit): Unit ={
fun("jingjing")
}

//def f10(s:String): Unit ={
// println(s)
//}
//f9(f10)

//匿名函数 :没有名字的函数,通过lambda表达式实现 (参数)=>{函数体}
//f9((s:String)=>{println(s)})

//(1)参数的类型可以省略,会根据形参进行自动的推导
//f9((s)=>{println(s)})

//(2)类型省略之后,发现只有一个参数,则圆括号可以省略;其他情况:没有参数和参数超过1的永远不能省略圆括号。
//f9(s =>{println(s)})

//(3)匿名函数如果只有一行,则大括号也可以省略
//f9(s =>println(s))

//(4)如果参数只出现一次,则参数省略且后面参数可以用_代替
//f9(println(_))
// (5) 如果可以推断出,println是一个函数体,而不是调用语句,那么(_)可以省
// f9(println)
//反推导 f9((s:String)=>println(s))

//加深大家理解
//定义一个函数,接受一个函数类型的参数,该函数类型有两个参数
def f11(fun:(Int,Int)=>Int):Int={
fun(1,2)
}

//println(f11((x:Int,y:Int)=>{x + y}))
//println(f11((x,y)=>x + y))
println(f11(_ + _))
}
}
阅读全文 »

hexo 常用命令 :

1
2
3
4
5
6
7
8
$ hexo generate (hexo g) 生成静态文件
$ hexo server (hexo s) 启动本地服务
$ hexo deploy (hexo d) 提交到远程仓库
$ hexo new page "xx"(hexo n page) 创建页面
$ hexo new "xx" (hexo n "") 创建文章
$ hexo d -g 生成静态并提交到远程仓库
$ hexo s -g 生成静态文件并启动本地预览
$ hexo clean (hexo cl)清除本地 public 文件

其他参考:

5分钟搞定个人博客-hexo https://www.jianshu.com/p/390f202c5b0e

换终端更新hexo博客 https://www.jianshu.com/p/6a29f5243ab4

win10子系统安装

1
2
3
4
sudo apt update
sudo apt upgrade
sudo apt-get install npm
npm install -g hexo-cli@3.1.0

ubuntu18.04安装nodejs最新版、指定版 12.x 14.x

今天准备在 ubuntu 服务器里面安装 nodejs 版本,ubuntu 18.04 仓库 nodejs 默认是 8.x 版本。

1. 通过 apt 安装 nodejs

阅读全文 »

采用hive自带的方法生成Hfile,并将上亿大数据量导入HBASE

1.引入HBASE自带的jar

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
[root@cdh85-100 ~]# sudo -u hdfs hive
hive>
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-annotations-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-client-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-common-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-endpoint-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-examples-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-external-blockcache-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-hadoop2-compat-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-hadoop-compat-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-http-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-it-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-mapreduce-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-metrics-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-metrics-api-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-procedure-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-protocol-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-protocol-shaded-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-replication-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-resource-bundle-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-rest-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-rsgroup-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-server-2.0.0-cdh6.0.1.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-shaded-miscellaneous-2.1.0.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-shaded-netty-2.1.0.jar ;
add jar /opt/cloudera/parcels/CDH/lib/hbase/lib/hbase-shaded-protobuf-2.1.0.jar ;

2.0建Hfile表

1
2
3
4
5
6
7
8
9
create table tmp.fi_pt_card_library(
KEY STRING COMMENT 'HBASE_ROWKEY' ,
sign_id STRING COMMENT 'id自增长',
....
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.hbase.HiveHFileOutputFormat'
TBLPROPERTIES ('hfile.family.path' = '/tmp/fi_pt_card_library/info');

注意:此处的info应该与HBase中的family相同。

生成Hfile文件

1
2
3
4
hive> set mapreduce.job.queuename=bf_yarn_pool.production;

insert overwrite table tmp.fi_pt_card_library
SELECT * from tmp.fi_pt_card_library_0330 order by key

注意: fi_pt_card_library_0330表 不能有重复值, 而且要排序。

这里的第一个字段会默认为Hbase的KEY,但是这里的key的名称可以不为key,其他的也可以。还有数据中不允许存在同样的KEY,如果出现同样的KEY会报错。同时KEY的值应当具有顺序,如果顺序不同也会出错。

阅读全文 »