WSL、influxdb的安装过程记录

一、WSL、influxdb 是啥?

(一)WSL 是啥

根据百度百科,WSL是Windows Subsystem for Linux 的简称,就是是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。目前WSL中的Linux系统已经升级到ubuntu 20.04LTS。
WSL分成WSL1和WSL2两个版本,有人认为WSL1是真实本机,WSL2是虚拟机。从性能上来说,WSL1的IO性能,尤其是相比WSL2要弱一些,具体的比较见这里:

比较 WSL 1 和 WSL 2

理论上来说,windows10上安装了WSL后,既可以用windows,又可以用Linux。实际上,虽然对一般的应用来说,WSL已经够用,但是在细节上,还是有不少差异。具体的讨论见:

内置WSL 2的Windows 10可以完全取代桌面版Linux吗?

要提醒的是,WSL使用过程中会遇到各种坑,其解决办法有时不能完全参照真实ubuntu的。

(二)influxdb是啥

InfluxDB是一个由InfluxData开发的开源时序型数据库,它被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。也就是说,它是专门被开发出来,用于处理时序数据。
时序数据库全称为时间序列数据库,它跟传统的关系型数据库 RDBMS( 如 MySQL )、NoSQL 数据库( 如 MongoDB )、Key-Value 类型数据库( 如 redis )、Wide column 类型数据库( 如 HBase )最大的区别在于,它以时间为索引的规律性时间间隔记录数据。
比如:


在这里插入图片描述

因此,时序数据库天然就适合处理金融领域的数据。

(三)WSL、influxdb为什么放在一起

很不幸,influxdb数据库目前还没有出windows版,对一般人来说,易用性相对好一点的就是在Linux中使用,但是对于电脑数量不多,或者不想自己搭服务器的人来说,在自己的电脑上装两个系统是一个比较好(懒)的方案。
而相对于windows+虚拟机来说,windows+WSL是一个性能牺牲更小一点的方案。

二、安装 WSL 的常用步骤

(一)在线安装

具体见:
手把手教你启用Win10的Linux子系统(超详细)

(二)离线安装

具体见:
WSL(Ubuntu)绿色安装

补充一下,使用方法是在命令行状态下,输入 wsl 后回车,就能进入WSL系统中,在系统中输入 exit 就能回到命令行状态。

这个方法最麻烦的就是要先把整个安装文件从微软的官网上下载下来,现在最新的 20.04 版大小有400多M,如果网速不快的话,要下好一阵子。

手动下载适用于 Linux 的 Windows 子系统发行版包

(三)系统迁移

在线安装默认自动安装到系统盘,但是很多人都不希望把太多东西都集中装在系统盘上,此时可以将WSL系统迁移到非系统盘中。常见的迁移方法有两种:

1、使用工具 LxRunOffline 进行WSL系统的迁移
搞机:window10安装Linux子系统(WSL)及迁移到非系统盘

2、使用工具 mklink 创建软连接,让系统误以为是装在系统盘,其实是装在其他盘。
Windows下Linux子系统迁移到非系统盘

其他大文件也可以用 mklink 迁移到非系统盘后再创造软链接,这样可大大减少C盘的空间占用。
mklink使用介绍

(四)WSL1升级到WSL2

1、适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
2、
3、升级需要用到 win10易升将本机的win10升级到最新版,但是之后win易升平时会不定时弹出,普通的卸载不容易清除干净,可以用这个办法关闭:
完全关闭WIN10易升的方法

(五)可能会遇到的坑

这里说的坑,是针对不熟悉linux的人来说的。
1、及时授权
在ubuntu中用vim修改各类配置文件,最好每次都用sudo授权,以免改好后想保存退出,才发现文件是只读的。虽然到时候再授权也行,但总没那么方便。

2、无法使用systemd
WSL中初始化进程默认不是挂载systemd,因此用类似如下语句管理服务都会报错

sudo systemctl xxx_service_name start
System has not been booted with systemd as init system (PID 1). Can't operate.

解决这个问题有两个办法
1)用类似命令解决
输入以下命令,查看当前WSL使用的是哪个init系统

ps -p 1 -o comm=

如果显示的是 systemd,挂载的是 systemd,如果显示的是 init或者sysv等,说明挂载的是sysv init系统。
那么就用各个系统中对应的命令来管理服务就好了,常用的命令比较如图:

在这里插入图片描述

2)手动启用systemd
具体内容见 WSL启用systemd

3、无法安装包
安装某个包时报错 Unable to locate package xxxxx
说明按现在本地的更新源数据,无法安装对应的包,解决办法就是更新更新源的数据三连击:

sudo apt update
sudo apt-get update
sudo apt-get upgrade

4、无法开启服务
开启某个 service 时,比如

service sshd start
sshd: unrecognized service

原因可能是没有开启 ssh 服务,需要按照以下步骤逐步确认:
1)生成key文件

sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

如果上述两个文件存在,仍然出现这个错误,那么试试 chmod 600 上述两个文件。之后应该可以解决。
否则会报错

sshd re-exec requires execution with an absolute path

2)开启ssh服务

sudo /etc/init.d/ssh restart

# 或

sudo /etc/init.d/ssh start

3)现在可以去开启想开启的服务了

(六)安装图形界面

ubuntu是通过安装x windows的方式,在它的Linux核心之上添加一个GUI层,具体可安装的app包括X410、VcXsrv、MobaxTerm、Cygwin/C。我选择VcXsrv,安装过程是:
win10+WSL+安装VcXsrv Windows X Server

相关的注意事项看这里:
ubuntu wiki -- WSL

(七)安装其他应用

WSL刚刚装好时,是只有几个核心功能的纯净版,需要自己将各种应用及其依赖装上,如果想装了应用后直接使用,基本上都会出错。
比如将anaconda、pycharm装上之后,想直接进入pycharm,会因为没有安装javasdk和图形界面工具而报错。

三、安装 influxdb 的一般步骤

1、下载安装包

通过wget或者在问0中下载安装包

https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.4-linux-amd64.tar.gz

在WSL中解压

tar xvfz influxdb2-2.0.4-linux-amd64.tar.gz

2、将 influx,influxd 添加到环境变量$PATH中

sudo cp influxdb2-2.0.4-linux-amd64/{influx,influxd} /usr/local/bin/

3、启用 influxdb

1)直接运行 influxdb

influxd

此时可以通过windows的浏览器访问 localhost:8086来管理influxdb数据库。

2)将 influxdb 以服务的形式启动
新增 influxdb 用户并创建用户目录

useradd -rs /bin/false influxdb
mkdir /home/influxdb
chown influxdb /home/influxdb

创建influxdb2.service

# 在/lib/systemd/system目录下
sudo vi influxdb2.service

内容如下:

[Unit]
Description=InfluxDB 2.0 service file.
Documentation=https://v2.docs.influxdata.com/v2.0/get-started/
After=network-online.target

[Service]
User=influxdb
Group=influxdb
ExecStart=/usr/local/bin/influxd 
Restart=on-failure

[Install]
WantedBy=multi-user.target
# 启动
sudo service influxdb start

# 查看状态
sudo service influxdb status

# 开机启动
sudo systemctl enable influxdb
# 或者直接
sudo service influxdb start
sudo service influxdb status
sudo service influxdb stop

4、相关数据的保存地址

时间序列数据:/var/lib/influxdb/engine/
key-value 数据:/var/lib/influxdb/influxd.bolt
influxdb CLI 配置:~/.influxdbv2/configs

四、其他安装 WSL的方法

通过 kali 也能在win10上安装WSL,但是这个方法目前尚未尝试过,以后有需要再试试看。具体见:
通过 kali 在win10上安装SWL(官网)

其他参考资料
1、百度百科——WSL
2、浅谈时序数据库
3、sshd: no hostkeys available — exiting
4、InfluxDB 2.0 安装
5、InfluxDB 2.0 以服务形式启动
6、修复 "System has not been booted with systemd as init system "的错误。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容