Untitled Post - 133
mac os x的bash切换到名字含有空格的目录时,可以使用单引号包围目录名,此时自动完成是正常的,也可以使用backslash反斜杠来转义空格,但此时无法自动完成,只能手工输入。#不如linux好用#
mac os x的bash切换到名字含有空格的目录时,可以使用单引号包围目录名,此时自动完成是正常的,也可以使用backslash反斜杠来转义空格,但此时无法自动完成,只能手工输入。#不如linux好用#
tomcat 7+依赖于SecureRandom为其session id及其他事项生成随机数,但由于JRE等各方面的因素,可能会导致tomcat启动特别缓慢。
catalina.out里会有类似如下提示
1 | ... |
通过配置JRE使用非阻塞的熵源,可以解决此问题,但因随机性下降会降低系统安全性。
为JRE添加如下属性
1 | -Djava.security.egd=file:/dev/./urandom |
比如可以在/etc/default/tomcat8中的添加:
1 | JAVA_OPTS="-Djava.awt.headless=true -Xmx1280m -XX:+UseConcMarkSweepGC -Djava.security.egd=file:/dev/./urandom" |
References:
[1]How do I make Tomcat startup faster?
===
[erq]
应用程序启动时有如下错误提示:
1 | ERROR \[localhost-startStop-1\] - Context initialization failed |
这是因为默认情况下,atomikos要在/var/lib/tomcat8目录下生成其日志和锁文件,而/var/lib/tomcat8文件夹的所有者和组都是root,无法写入,所以初始化失败。
解决方法有二,最简单粗暴的就是将/var/lib/tomcat8目录的所有者和组都更改为tomcat8.
另一个方法是classpath中添加atomikos配置文件,将其输出文件目录配置到tomcat8有权限写入的目录中,比如/var/log/tomcat8
1 | com.atomikos.icatch.service=com.atomikos.icatch.standalone.UserTransactionServiceFactory |
===
[erq]
交换机简单了讲就是一个多端口网桥。
几个意思相近又有区别的词语:
crew 全体船员; 全体乘务员;全体工作人员
staff 全体职员; 全体管理人员;
faculty 全体教员
crowd 一群,人群
查看oracle job的运行状态,可以查询这几张系统视图ALL_SCHEDULER_JOB_LOG/DBA_SCHEDULER_JOB_LOG和dba_scheduler_job_run_details
The keyword SNAPSHOT is supported in place of MATERIALIZED VIEW for backward compatibility.
也就是以前叫“快照”,现在叫“物化视图”了。
keyspace创建以后,仍然可以更改其复制因子,也就是keyspace中数据的复制份数是可以动态修改的。
cassandra集群的系统keyspace system_auth默认的replication factor是1,也就是其实是没有冗余的。如果这唯一的节点挂掉,就无法再登录到集群了。
因此官方文档推荐将其复制因子设置为每个数据中心的每一个节点。也就是将其复制到集群中的每一个节点上。
查看system_auth的复制因子
1 | cqlsh> DESC KEYSPACE system_auth |
果然replication factor只有1,修改之:
1 | cqlsh> ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1':2,'dc2':2}; |
durable_writes参数用于设置写数据时是否写入commit log,如果设置为false,则写请求不会写commit log,会有丢失数据的风险。
此参数默认为true,即要写commit log,生产系统应该将该参数设置为true。
References:
[1]CREATE KEYSPACE
===
[erq]
xterm终端窗口默认标题都是一样的。经常开很多终端窗口,虽然已经设置了命令行提示符,但如果标题栏也能反应出xterm的当前状态就更好了。
更改标题栏
可以使用xterm的转义序列更改窗口的title
where ESC is the escape character (\033), and BEL is the bell character (\007)
此处,ESC是转义字符\033
,BEL是bell字符\007
因此在.bashrc中添加如下行,让xterm标题栏显示当前的主机名和用户名以及当前路径信息:
1 | PROMPT_COMMAND='echo -ne "\\033\]0;${USER}@${HOSTNAME}\[\`basename ${PWD}\`\]\\007"' |
ssh登录时更改标题栏
ssh登录时,xterm窗口应该显示当前所在的远程主机和在远程主机上的当前用户以及路径信息,只要在远程主机的bashrc文件中包含同样的行就可以了。
终端vim标题栏
在终端下使用vim时,默认会修改xterm的标题栏,但是没有主机和用户信息,在~/.vimrc中添加如下:
1 | let &titlestring=$USER."@".hostname().": %t%M(%F)" |
更多符号的含义请
1 | :help titlestring |
References:
[1]Automatically set screen title
===
[erq]