欢迎光临散文网 会员登陆 & 注册

鸡头掰脸搞个环境

2023-06-07 00:46 作者:WRZ_NB  | 我要投稿

找工作忒难了

5月找工作战绩不太理想。boss上投了快200个,收简历17个,约面试2个,都是一面凉。凉一方面是学艺不精,另一方面是经验不搭,没什么可抱怨的,但这个“投简历面试比”是真的邪门。

确实,这么卷的环境,如果不是经验高度匹配去了就能干活,我的学历、经历、简历里展示的能力,多半是做分母。学历经历都难搞了一比,搞作品好像成了唯一的路子。所以就硬着头皮搏一搏吧,就算做不出高大上的东西,也是实践理论,积攒经验了。

打算

现在的工作给我“不少”经验,客户端、前端、后端都写过。从语言上说,C#、Java,那不是大厂外企通吃了么,C#+Unity,游戏业也包了;服务器上说,虽然工作里清一色Windows,但我自己学了Linux,也是通吃;同理数据库,SqlServer、Oracle,加上我自学的Mysql,主流关系型数据库都“会”了。

但要想通过面试换工作,靠工作的经验是不够的。现在的工作主打一个能用就得,一言不合就堆人力,值夜班重启……从听过用过到会的那段路还是得靠自己走。接触过的,往深了研究,没接触过的,也研究研究。现在大厂很多都转go了,自己不学等现在的工作用go,那得啥时候。

但是急也没用,先以全栈开发的身份优势,把主流的JavaWeb那套学溜点,做点东西出来。下个项目就可以考虑整go啦,顺利的话再下个unity游戏都可以安排上,要是成功换了工作,非全的研都可以安排上…(不能乱想,一想就想太多)

开整

工欲善其事,必先利其器,第一步先尝试搞环境。从GitHub拉了个商场项目的源码,是个大系统,涉及不少东西。争取把它跑起来,看看能踩多少坑,学到多少东西。一开始要求低一些,代码可以不看懂,能启动起来就算赢。

我有一个来路不便细说的Z640工作站。底子很好,主板带扩展板,可以双CPU,8条内存槽,刚搞来时候配置是废品,但在垃圾佬手里它会发光。折腾了好久(每次一买件公司就堆人力出差,巧合到生气),现在28核56线,72G内存,显卡太贵了没升,做服务器练练开发正好。系统是Windows Server 2019,用Vmware跑Linux,去年年末安好系统就没怎么用过,这把正好把它用上。

先看一下都需要安什么,jdk和nodejs是必须的,编译器idea和vscode都安排上,中间件……中间件也太多了吧,一个一个安那得到什么时候啊。冷静,先看看文档,哦,项目文档里贴心的附上了docker-compose,也就是说,我安个docker就行了,那就好办了。工作中不用docker,也习惯了遇事下安装包安本机,是时候实践一下docker了,Windows上的docker-desktop还有图形化界面,多么适合入门。

就这样我就入了坑了:

  • 坑一

docker-desktop很快就下好也安好了,下个mysql镜像试试。诶?下不来啊。是不是wifi又G了?(平常wifi确实不好),重启测速鼓捣一番,好像没问题。台式没插网线用的wifi接收器,之前安驱动安的很费劲,是不是它的锅?也不是,测速刷网页也不卡。在浪费了有一段时间后,才想起来刚学Ubuntu的事,得换源。上网一搜,换了163的源,好了。

早知道这样一开始就上网搜了,自己在那瞎猜……

  • 坑二

docker-desktop安完不用单独安docker-compose,直接命令执行yaml文件。看着一堆image有序下载,真开心,就是有点慢。你们下吧,我去看看我之前安的虚拟机Ubuntu和CentOS去,好久没见甚是想念。于是惊奇的发现,vmware与Hyper-v功能冲突,用不了,想用虚拟机需要关闭Hyper-V功能。

再一查,docker-desktop需要用Hyper-v功能,那不成二选一了?头疼了一阵子,还是不忍放弃两个已经安好的虚拟机,决定把docker-desktop卸了,转为在CentOS里安docker。

  • 坑三

Linux命令行操作有些生疏,除了ls、cd等基础到不能再基础的命令,都需要上网查。吭哧瘪肚的在CentOS安上了docker和docker-compose,并且提前换了源(吃一堑长一智)。吐槽一下,改配置时候用了vim,真是进去就出不来,多亏以前学过两下子,没当成系统Bug拿万能重启处理。搞利索后执行docker-compose文件,docker-compose命令报错?权限问题?什么情况?

上网搜发现是docker安的有问题。查了挺多帖子(博客各种抄,不解决问题的帖子能搜到一大堆,真烦),最后找到原因是换源时候,新建docker配置的文件名应该是daemon.conf,不是daemon.json。修改文件后缀,再运行,ok了。

  • 坑四

接下来就是漫长的等待了,这么长时间一动不动连口水都没喝,不高兴就喝水(此处为碰瓷)。下载真挺慢的,溜达了一圈又一圈,终于安好并且启动好了。项目文档说,如果启动好了,可视化管理平台的地址是这些(一堆链接),我兴奋的点了上去,又发现了问题:nacos的连不上去、rocketmq dashboard连上去报IP无法访问。

先解决rocketmq的,报的IP是127.0.0.1,那一定就是配置问题了,工作习惯,都安本机配127。rocketmq dashboard需要连rocketmq,因为用了docker,不能配127,需要配为宿主机IP,也就是CentOS的IP。改完配置重新启动,好了。

  • 坑五

nacos的IP改配宿主机IP,还是不好使,可能有更深层的原因。docker run进去看看,发现报no dataset的错。这时候想起来之前学的理论,nacos会使用数据库,配置里配的是mysql,我的mysql还是崭新的没有建库建表呢。

根据文档,找到了建库建表插入数据的sql文件,执行!这回好了吧,重新启动看看

  • 坑六

还是不好使,依然报no dataset,为啥呢?因为越急越会顾头不顾腚:nacos改了自己的IP为宿主机IP,配置Mysql的IP没改。同样的错误犯了两次,丢死人了。

再次启动,好用了,几个管理平台的链接都能连上了。

太难了,先到这吧

用nacos反复试了一下,“掌握”了一个规律:中间件自己的IP可以配成127,如果需要调用其他中间件,被调用方的IP必须配成宿主机IP才行。不知道没有管理页面的中间件启动的怎么样,有没有问题,今天就先到这吧,累了。(Seata特意留着没配成宿主机IP,哪天再搞再验证一下,加深印象)

虽然工作时候总被用能者多劳PUA,一人当几个人用,接触挺多,但项目着实简单。这个大项目一半我没用过的技术,全自己弄,想启动都还是挺费劲的。后端完成了一半了(猜的),还有前端没弄,以这个踩坑频率,不睡搞到天亮也搞不定。

下次再搞下次再搞(战术性撤退,不是跑了),一口吃不成胖子,再不去做饭吃饭我都饿瘦了。


鸡头掰脸搞个环境的评论 (共 条)

分享到微博请遵守国家法律