[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project xxx: Fatal error compiling: error: invalid target release: 17 -> [Help 1]

使用jenkins做单元测试的时候出现的异常

项目环境是jdk17,本地测试,测试服运行都没有问题,只有单元测试出异常。原因是maven中节点环境变量的JAVA_HOME指向的JDK版本是/usr/lib/jvm/openjdk,我的服务器是11,改成正确的路径就好了

开始以为是maven-compiler-plugin 版本有对应关系,不匹配。

因为命令行直接打java -version是正确的版本17,没有发现问题

elasticsearch内存引起的结点无法正常运行

效果
1,kibana看服务red
2,/_cat/nodes发现少个结点
3,阿里云容器里看结点正常运行,重启提示找不到主结点。不过测试ping能通。
4,/_cat/indices 无法打开。

最后发现开结点有点慢,发现内存占用90%,偶尔飙到98%。怀疑内存不够
最后吧机器内的hadoop关了,内存降到90%以下就好了。

MegaCli 磁盘Rebuild,Firmware state: Unconfigured(good), Spun Up

开始是这样的: 机房发邮件说硬盘橙色灯了, 然后我就找公司小朋友去看了,然后其实没有警告灯,但小朋友不太懂,还是把好的硬盘给拔出来了.
悲剧发生了,硬盘橙色警告, 系统橙色叹号也亮了.
查硬盘状态
Firmware state: Unconfigured(good), Spun Up
重建警告状态不对. 其实是流程没整对

网上搜了下处理方式主要如下:
https://community.mcafee.com/thread/60189?tstart=0

setp1:查状态:
# check out the slot ena enclosureDevice

/opt/MegaRAID/CmdTool2/CmdTool2 -pdlist -a0 | egrep “(Slot|Firmware state|Encl)”

EnclosureDevice ID: 0
SlotNumber: 0
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 1
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 2
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 3
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 4
Firmwarestate: Online, Spun Up
Enclosure Device ID: 0
Slot Number: 5
Firmware state: Unconfigured(good), Spun Up

发现目标了

setp2:
查这个丢失磁盘的信息
/opt/MegaRAID/CmdTool2/CmdTool2 -PDGetMissing -a0
Adapter 0 – Missing Physical drives
No. Array Row Size Expected
0 0 1 285148 MB

这里No=0, array=0 row=1

setp3:
重建
# Bring device back in array

#/opt/MegaRAID/CmdTool2/CmdTool2-PdReplaceMissing -PhysDrv[ –row -a
/opt/MegaRAID/CmdTool2/CmdTool2 -PdReplaceMissing -PhysDrv[0:5] –array0 -row1 -a0
Adapter: 0:Missing PD at Array 0, Row 1 is replaced.

这里用到了setp2的信息

# now rebuild the array

/opt/MegaRAID/CmdTool2/CmdTool2 -PDRbld -Start -PhysDrv[0:5] -a0
Started rebuild progress on device(Encl-0 Slot-5)

然后再查下状态,开始重建了!!泪奔

utf8mb4 – Emoji(Segoe UI 符号字体)显示

ios Emoji表情其他平台也是能支持的
win7 和以下的系统需要安装补丁
http://support.microsoft.com/kb/2729094
即使安装了补丁,还是有少部分不支持
测试页:
http://www.istartedsomething.com/uploads/emojisegoe.html

win2012还有mac表情是彩色的,win7补丁版本显示是黑白的。

数据库需要保存的话需要utf8mb4编码,mysql5.5+

有个不升级数据库的low方案,是存储的时候转下码。

————————
如何让mysql已有字段支持?
ALTER TABLE [tablename] CHANGE [columnname] [columnname] VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
网上有些是给database和table都转换成utf8mb4。其实没必要,转换字段就够了。

然后php也需要设置字符编码,thinkphp中需要如下设置,如果不设置,无法正常存储
‘DB_CHARSET’=> ‘utf8mb4’,

看nio的感觉

看了这文:
http://blog.sina.com.cn/s/blog_81c2545a01011afh.html

感觉nio就是socket的优化升级版本,可以不阻塞。。大概是这意思。
总觉得跟jsm有点像,
但nio更属于socket那块的东西。
jms的apache mq直接处理的是消息,有点redis的意思

网站性能优化

总结下自己的简单看法。
最简单的方式,增加缓存,能让读取速度有明显的提升,程序改动也不大。

然后就是某些逻辑比较复杂的操作,就需要修改比较多的代码了。
用客户端的说法就是,主线程不能锁。
复杂的逻辑放队列中,用户不一定要立即出现结果,重要的是不阻塞。
数据库mysql读写分离。能提高性能。

有新的想法以后再补上。