運維工作中經常用到的一些知識總結(三)
http://blog.51cto.com/bobo365/2125138
48、容器導出導入:
docker import 容器ID > xxx.tar
cat xxx.tar | docker import - xxx:v1.0
鏡像導出導入:
docker save xxx:v1.0 > yyyy.tar.gz
docker load < yyyy.tar.gz
49、docker
卸載:
yum remove docker docker-common docker-selinux docker-engine
安裝依賴:
yum -y install yum-utils device-mapper-persistent-data lvm2
設置源:
yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
安裝:
yum makecache fast
yum -y install docker-ce
docker-enter:
.bashrc_docker
#Some useful commands to use docker. #Author: yeasy@github #Created:2014-09-25 alias docker-pid="sudo docker inspect --format ‘{{.State.Pid}}‘" alias docker-ip="sudo docker inspect --format ‘{{ .NetworkSettings.IPAddress }}‘" #the implementation refs from https://github.com/jpetazzo/nsenter/blob/master/docker-enter function docker-enter() { #if [ -e $(dirname "$0")/nsenter ]; then #Change for centos bash running if [ -e $(dirname ‘$0‘)/nsenter ]; then # with boot2docker, nsenter is not in the PATH but it is in the same folder NSENTER=$(dirname "$0")/nsenter else # if nsenter has already been installed with path notified, here will be clarified NSENTER=$(which nsenter) #NSENTER=nsenter fi [ -z "$NSENTER" ] && echo "WARN Cannot find nsenter" && return if [ -z "$1" ]; then echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]" echo "" echo "Enters the Docker CONTAINER and executes the specified COMMAND." echo "If COMMAND is not specified, runs an interactive shell in CONTAINER." else PID=$(sudo docker inspect --format "{{.State.Pid}}" "$1") if [ -z "$PID" ]; then echo "WARN Cannot find the given container" return fi shift OPTS="--target $PID --mount --uts --ipc --net --pid" if [ -z "$1" ]; then # No command given. # Use su to clear all host environment variables except for TERM, # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH, # and start a login shell. #sudo $NSENTER "$OPTS" su - root sudo $NSENTER --target $PID --mount --uts --ipc --net --pid su - root else # Use env to clear all host environment variables. sudo $NSENTER --target $PID --mount --uts --ipc --net --pid env -i $@ fi fi }
echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker " >> ~/.bashrc; source ~/.bashrc
50、tomcat啟動非常慢,要花5~6分鐘
http://blog.csdn.net/sxhong/article/details/62889003
有兩種解決辦法:
1)在Tomcat環境中解決
可以通過配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入這麽一行:-Djava.security.egd=file:/dev/./urandom 即可。
加入後再啟動Tomcat,整個啟動耗時下降到Server startup in 2912 ms。
2)在JVM環境中解決
打開$JAVA_PATH/jre/lib/security/java.security這個文件,找到下面的內容:
securerandom.source=file:/dev/urandom
替換成
securerandom.source=file:/dev/./urandom
51、定時釋放mem腳本
[root@master script]# vim freemem.sh
#!/bin/bash
used=`free -m | awk ‘NR==2‘ | awk ‘{print $3}‘`
free=`free -m | awk ‘NR==2‘ | awk ‘{print $4}‘`
echo "===========================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/log/mem.log
if [ $free -le 6350 ] ; then
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches
echo "bobo365" >> /var/log/mem.log
else
echo "Not required" >> /var/log/mem.log
fi
*/30 * * * * /bin/bash /home/script/freemem.sh &>/dev/null
52、activemq
http://blog.csdn.net/xiaoxing598/article/details/51604999
http://activemq.apache.org/activemq-5153-release.html
tar xf xxx -C /usr/local
cd /usr/local/xxx/bin
./activemq start
vim conf/jetty-realm.properties
#將裏面的內容清空,重新添加一行
admin: Admin!123, admin
vim conf/jetty.xml
#修改第30行變成如下
<property name="roles" value="admin" />
vim conf/activemq.xml
保留openwire stomp
53、MFS
curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
yum install moosefs-chunkserver
yum install moosefs-metalogger
yum install moosefs-client
cd /etc/mfs/
[root@bobo365 mfs]# egrep -v "#|^$" mfsexports.cfg
10.150.27.0/24 / rw,alldirs,mapall=mfs:mfs,password=111111
* . rw
[root@bobo365 mfs]# egrep -v "#|^$" mfshdd.cfg
/mfsdata
[root@bobo365 mfs]# egrep -v "#|^$" mfsmetalogger.cfg
ASTER_HOST = 10.150.27.113
MASTER_PORT = 9419
[root@bobo365 mfs]# egrep -v "#|^$" mfschunkserver.cfg
MASTER_HOST = mfsmaster
MASTER_PORT = 9420
AUTH_CODE = 111111
mkdir /mfsdata
chown -R mfs.mfs /mfsdata/
客戶端:
mkdir /mnt/mfs
chown -R mfs.mfs /mnt/mfs/
mfsmount /mnt/mfs -H 10.150.27.113 -o mfspassword=111111
[root@bobo365 mfs]# more /etc/hosts
10.150.27.113 bobo365 mfsmaster
http://10.150.27.113:9425
1、啟動master
2、啟動所有chunkserver
3、啟動metalogger
4、掛載客戶端
停止反序。
systemctl start moosefs-master.service
systemctl start moosefs-chunkserver.service
systemctl start moosefs-cgiserv.service
systemctl start moosefs-metalogger.service
systemctl status moosefs-master.service
systemctl status moosefs-chunkserver.service
systemctl status moosefs-cgiserv.service
systemctl status moosefs-metalogger.service
systemctl enable moosefs-master.service
systemctl enable moosefs-chunkserver.service
systemctl enable moosefs-cgiserv.service
systemctl enable moosefs-metalogger.service
more /etc/rc.local
mfsmount /mnt/mfs -H 10.150.27.113 -o mfspassword=111111
運維工作中經常用到的一些知識總結(三)