命令集(日常)

docker

导出:docker save mysql:latest | gzip > mysql_latest.tar.gz
导出:docker save -o mysql.tar mysql :5.7
导入:docker load < mysql_latest.tar.gz
导入:docker load --input mysql_latest.tar.gz
构建: docker build -t jdk1.8  构建jdk镜像
解释:--input , -i : 指定导入的文件,代替 STDIN。"命令 < 文件" 这是将文件作为命令输入.
运行: docker run -it -d --restart=always --network=host zookeeper:3.4
运行: docker run -it -d -p 2181:2181 -name zookeeper1 zookeeper:3.4
查看镜像:docker ps
查看容器: docker ps -a
删除容器: docker rm 容器ID
查看日志: docker logs -f 容器ID

出现 no space left on device:
docker info  查看docker目录(Docker Root Dir: /var/lib/docker)
查看空间使用情况:df -h /var/lib/docker/ (注意结果中出现的"ubuntu–vg-ubuntu–lv",看到空间已经接近满了,下一步扩容)
查看可分配空间: sudo vgdisplay 
出现(
Alloc PE / Size       1024 / 4.00 GiB
Free  PE / Size       131839 / <515.00 GiB
)
扩容至20G : lvextend -L 20G /dev/mapper/ubuntu–vg-ubuntu–lv
重新计算容量:resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
df /var/lib/docker/ 

java


nohup java -jar -Dspring.profiles.active=test xx.jar >/dev/null 2>&1 & 
nohup java -jar -Dspring.profiles.active=test xx.jar &

nohup java -jar -Dspring.profiles.active=prod xx.jar &
nohup java -jar -Xms512M -Xmx2048M -XX:PermSize=512M -XX:MaxPermSize=1024M  liangxin.jar 

Xms:堆内存初始大小
Xmx:堆内存最大值
PermSize:永久内存初始大小
MaxPermSize:永久内存最大值

nohup java -jar  -Xloggc:/app/log  -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/dump/ 输出gc log 及 dump

举例:
nohup java -jar -Xms1024M -Xmx1024M -XX:PermSize=512M -XX:MaxPermSize=512M -Xloggc:/app/tmp/cockpit3/gc.log -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/dump/ -Dspring.profiles.active=test portfolio-overview-1.1.18.jar >/dev/null 2>&1 &
nohup java -jar -Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -XX:MetaspaceSize=200m -Xloggc:/app/tmp/cockpit3/gc.log -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/dump/ -Dspring.profiles.active=test portfolio-overview-1.1.24.jar >/dev/null 2>&1 &
nohup java -jar -Xms1024m -Xmx2048m -Xmn256M -XX:MaxPermSize=512M -XX:MaxDirectMemorySize=512M  -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+HeapDumpBeforeFullGC chinaamc-msg-service-0.0.1.jar  -Dspring.profiles.active=prod >/dev/null 2>&1 &
// 生成dump文件
jmap -dump:format=b,file=heap.dump 1053

nohup java -jar -Dspring.profiles.active=test management-cockpit-1.0.3.jar >/dev/null 2>&1 &

kafka

windows

.\kafka-console-producer.bat --broker-list 0.0.0.0:9092 --topic hh

.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic tttt--from-beginning
.\kafka-topics.bat --describe --zookeeper 0.0.0.0:2181 --topic testtopic 
.\kafka-topics.bat --zookeeper 0.0.0.0:2181 --create --topic hh--replication-factor 1 --partitions 3

.\kafka-console-consumer.bat --bootstrap-server 0.0.0.0:9092 --topic hh --group group

Linux

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
./kafka-topics.sh --list --zookeeper localhost:2181
./kafka-console-producer.sh --broker-list 10.0.16.12:9092 --topic test
./kafka-console-consumer.sh --bootstrap-server 10.0.16.12:9092 --topic test

bootstrap-servers vs zookeeper

bootstrap-servers指的是目标集群的服务器地址,这个和broker-list功能是一样的,只不过我们在console producer要求用后者。
 
以前我们使用console consumer测试消息收发时会这样写:kafka-console-consumer.sh --zookeeper localhost:2181 --topic test 
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
 
现在我们也可以这样写 :kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

mongo

cd /app/mongodb/mongodb-linux-x86_64-4.0.13/bin
./mongod  -f  mongodb.conf         启动mongo
./mongod  --shutdown     或者   kill进程     关闭mongo
db.t4.ensureIndex({firstname: 1}, {unique: true}); 设置索引
db.sites.getIndexes()   获取索引

rabbitMq

启动停止
./rabbitmq-server  该命令ctrl+c后会关闭服务
./rabbitmq-server -detached 在后台启动Rabbit
./rabbitmqctl stop 关闭服务
关闭服务(kill) 找到rabbitmq服务的pid  [不推荐]
ps -ef|grep rabbitmq
kill -9 ****
netstat -ntulp |grep 5672

linux

多用户授权
chmod u+rwx,g+rx,o-x /path/to/folder user1 user2
这里,u+rwx为user1和user2添加了读、写和执行权限,g+rx为组用户添加了读和执行权限,而o-x移除了其他用户的执行权限。
如果要递归地对文件夹及其所有内容赋予权限,可以使用-R选项:
chmod -R u+rwx /path/to/folder user1 user2

开放端口:
1.systemctl start firewalld.service(开启防火墙)
2.iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8022 -j ACCEPT (开放指定端口)
3.iptables -nvL (查看已开放的端口)
4.service firewalld restart(从启防火墙)
5.systemctl stop firewalld.service(停止防火墙)

du命令
对当前目录下所有的目录和文件的大小进行汇总,-s表示汇总,-h表示以KB, MB, GB, TB格式进行人性化显示
du -sh .
对当前目录下每一个目录和文件的大小分别进行汇总
du -sh *
查看空间内存
free -m

5.查看磁盘使用情况
df -h

nohup java -jar yourProject.jar >/dev/null 2>log & nohup输出错误日志
nohup java -jar yourProject.jar >/dev/null 2>&1 & nohup不输出

$grep -10 ‘123’ test.log//打印匹配行的前后10行
或
$grep -C 10 ‘123’ test.log//打印匹配行的前后10行
或
$ grep -A 10 -B 10 ‘123’ test.log //打印匹配行的前后10行
$grep -A 10 ‘123’ test.log //打印匹配行的后10行
$grep -B 10 ‘123’ test.log//打印匹配行的前10行

查看服务
ps -ef |grep ***
netstat -nlpt 查看端口占用
ps -ef |grep java |grep port |awk '{$2}' 打印过滤结果
grep '内容' 11.log > 22.log 过滤日志

看端口是否占用一般用两个
(1) netstat -an|grep 8080
(2) lsof -i:8080

区别:
1.netstat无权限控制,lsof有权限控制,只能看到本用户
2.losf能看到pid和用户,可以找到哪个进程占用了这个端口

通过以下命令查看当前的java默认配置
update-alternatives --display java

linux下查看以某个字母开头都所有文件
ls -al | grep  c* 

//卸载openjdk
rpm -qa | grep java
rpm -e --nodeps
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
java -version
vim /etc/profile
source /etc/profile
java -version


//使用CURL 测试get 和 post请求
curl  127.0.0.1:8090/scheduled/icc3?validDate='2019-12-10'
curl -X POST "http://10.16.2.111:10015/services/call?targetCode=icc&serviceCode=indexQuery" -H "accept: application/json" -H "Content-Type: application/json" -d @close.json



//编辑系统环境变量
vim /etc/profile

export JAVA_HOME=/app/jdk1.8.0_161
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin




查看dump文件(堆内存使用情况)

命令集:
ps -mp pid -o THREAD,tid,time | sort -rn
printf "%x\n" pid 输出对应的tid
jstack pid |grep tid -A 30
jstack pid  >> java.txt 拿到线程堆栈信息
jstat -gc 查看每秒GC 情况
jmap -dump:format=b,file=temp.dump pid 拿到堆的细节(在出现full gc出现同时
查看 JVM 参数:
jinfo -flag +PrintGC 43520
jinfo -flag +PrintGCDetails 43520

新增表的列属性
ALTER TABLE sync_asset_code ADD ALTER TABLE sync_asset_code ADD `fggddlb` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '产品类别' 

删除表主键
ALTER TABLE msg_bond_redeem DROP PRIMARY KEY;

新增表主键
ALTER TABLE msg_bond_redeem ADD PRIMARY KEY (`message_num`,`message_type`,`security_code`,`exchange_code`,`portfolio_code`);

新增多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` );

离线安装docker-compose

(1)首先访问 docker-compose 的 GitHub 版本发布页面:
https://github.com/docker/compose/releases

(2)由于服务器是 CentOS 系统,则下载 Linux 版本的 Compose:

在这里插入图片描述

3)将下载下来的“docker-compose-Linux-x86_64”文件上传到服务器上,然后执行如下命令将其移动到 /usr/local/bin,并改名为“docker-compose”。
1
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

(4)接着执行如下命令添加可执行权限:
1
sudo chmod +x /usr/local/bin/docker-compose

(5)最后使用 docker-compose -v 命令测试是否安装成功(如果提示“没有那个文件或目录”可以重启下服务器再试试):
原文:Docker - 离线安装 docker-compose(以CentOS系统为例)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值