I'm Ych

Colorful day | 一条代码鱼

0%

未使用 git add 缓存代码时

可以使用 git checkout – filepathname (比如: git checkout – readme.md  ,不要忘记中间的 “–” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout .  命令。

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

已经使用了  git add 缓存了代码

可以使用  git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。

此命令用来清除 git  对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。

已经用 git commit  提交了代码

可以使用 git reset –hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset –hard  commitid 

你可以使用 git log 命令来查看git的提交历史。

Sql server 死锁是由于Sql server的执行过程中,当大数据插入更新或游标操作时,方法使用不当所导致。数据库大批量数据初始化时,应当删除索引,对数据进行初始化后,进行索引重建等操作。

查询当前死锁或者正在执行的操作

1
2
3
4
SELECT request\_session\_id spid,OBJECT\_NAME
(resource\_associated\_entity\_id)tableName
FROM sys.dm\_tran\_locks
WHERE resource\_type='OBJECT'

查询当前运行状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SELECT \[Spid\] = session\_id,
  ecid ,
  \[Database\] = DB\_NAME(sp.dbid),
  \[User\] = nt\_username,
  \[Status\] = er.status ,
  \[Wait\] = wait\_type ,
  \[Individual Query\] = SUBSTRING(qt.text,
  er.statement\_start\_offset / 2,
  ( CASE WHEN er.statement\_end\_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) \* 2
ELSE er.statement\_end\_offset
END - er.statement\_start\_offset ) / 2),
  \[Parent Query\] = qt.text,
  Program = program\_name,
  hostname,
  nt\_domain,
  start\_time
FROM sys.dm\_exec\_requests er
INNER JOIN sys.sysprocesses sp ON er.session\_id = sp.spid
CROSS APPLY sys.dm\_exec\_sql\_text(er.sql\_handle) AS qt
WHERE  session\_id > 50
AND session\_id NOT IN ( @@SPID ) 
ORDER BY 1,2

杀死当前进程

1
KILL spid

直接杀死session是会存在比较大风险的,只有可以保证数据可以重复运行时在建议如此暴力操作 PS:代码里的减号(-)怎么都会变成短折线呢。。。

IIS出现异常,提示 W3SVC 无法启动,卡在“正在停止” (Stopping)的状态

1.找到该服务的PID

1
tasklist /svc  find "W3SVC"

2.在任务管理器的详细信息页签中,找到对应进程,杀死即可

1.安装RabbitMQ

  1. wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq\_v3\_6\_11/rabbitmq-server-3.6.11-1.el7.noarch.rpm
  2. #因为RabbitMQ依赖Erlang以及socat所以直接使用yum安装rpm,会直接安装依赖项
  3. yum install rabbitmq-server-3.6.11-1.el7.noarch.rpm

2.验证安装

  1. rabbitmqctl -q status

--如果出现

  1. Error: unable to connect to node rabbit@controller: nodedown

--重启服务即可

  1. systemctl restart rabbitmq-server

3.常用命令

  1. #查看所有队列信息
  2. rabbitmqctl list_queues
  3. #关闭应用
  4. rabbitmqctl stop_app
  5. #启动应用,和上述关闭命令配合使用,达到清空队列的目的
  6. rabbitmqctl start_app
  7. #清除所有队列
  8. rabbitmqctl reset
  9. #更多用法及参数,可以执行如下命令查看
  10. rabbitmqctl

1.下载并安装 Maven 非必要

  1. wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
  2. sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
  3. yum install maven

2.安装 Microsoft JDBC Driver 6.2 for SQL Server a).通过 Maven

  1. com.microsoft.sqlserver
  2. mssql-jdbc
  3. 6.2.1.jre8

b).直接下载,重命名为 jdbc-6.2.1.jre8.jar

  1. wget http://search.maven.org/remotecontent?filepath=com/microsoft/sqlserver/mssql-jdbc/6.2.1.jre8/mssql-jdbc-6.2.1.jre8.jar

3.创建 logstash 配置文件并保存到/etc/logstash/conf.d

Read more »

1.初始化Logstash公钥

  1. rpm –import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.在/etc/yum.repos.d/添加名为logstash.repo的文件

  1. [logstash-5.x]
  2. name=Elastic repository for 5.x packages
  3. baseurl=https://artifacts.elastic.co/packages/5.x/yum
  4. gpgcheck=1
  5. gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
  6. enabled=1
  7. autorefresh=1
  8. type=rpm-md

3.执行安装

  1. yum install logstash

4.启动并设置自启

  1. systemctl start logstash.service
  2. systemctl enable logstash.service

5.测试,在logstash 5.5版本中会出现 “ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console” 这个错误无需关心,在后续版本中logstash会修复此问题

  1. bin/logstash -e ‘input { stdin { } } output { stdout {} }’ –path.settings=/etc/logstash

下载并安装

1
2
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.rpm
rpm -ivh elasticsearch-2.3.5.rpm

查找并修改配置文件

1
2
3
4
whereis elasticsearch

network.host: 192.168.6.128
http.port: 9200

启动并查看安装状态

1
2
3
systemctl daemon-reloa
systemctl start elasticsearch
systemctl status elasticsearch

安装Head

因为在ES5中Head不能通过插件方式安装,而需要创建为独立站点,或者使用Kibana

1
2
3
4
5
6
7
8
9
10
11
#a).安装nodejs以及npm
curl -sL https://rpm.nodesource.com/setup  bash -
Then install, as root:
yum install -y nodejs
#b).获取head并定位代码
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
#c).更新安装 npm
npm install
#d).安装Grunt
npm install -g grunt-cli

修改并启动Head

找到elasticsearch-head/Gruntfile.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
connect: {
    server: {
        options: {
            hostname:'192.168.6.128',
            port: 9100,
            base: '.',
            keepalive: true
        }
    }
}

#前台启动:
grunt server
#后台启动
grunt server &

注意事项

如果用Head访问ES出现 “No ‘Access-Control-Allow-Origin’ header” 则需要在elasticsearch.yml增加如下节点,允许跨域访问

1
2
http.cors.enabled: true
http.cors.allow-origin: "\*"

1.停止禁用firewall

1
2
systemctl stop firewalld.service
systemctl disable firewalld.service

2.查看当前firewall状态

1
firewall-cmd --state

3.安装iptables-services

1
yum install iptables-services

4.修改防火墙配置文件

1
2
3
4
vi /etc/sysconfig/iptables

#示例:增加Redis默认端口
\-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT

iptables 详解 5.重启防火墙使配置生效

1
2
service redis -p 6381 start #启动6381端口实例的redis
/etc/init.d/redis start #默认启动6379端口实例的redis