分类目录归档:Linux

pt-online-schema-change 在线热修改表,不锁表

连接到master上执行

pt-online-schema-change --user=root --password=xxxxx--host=master D=doufu,t=user_comment --execute --alter "ADD COLUMN content_image text NULL COMMENT '' AFTER like_uids" --nocheck-replication-filters

选项说明:
–user=root 用户名
–password=xxxxx 密码
–host=master 主机ip或域名
D=doufu,t=user_comment 数据库名和表明
–execute 不加此参数不会真的执行
–alter “ADD COLUMN content_image text NULL COMMENT ” AFTER like_uids” 需要执行的修改操作
–nocheck-replication-filters 如果有主从结构必须加此参数才能运行, 必须在主库上执行

 

solr-6.4.1 安装笔记

1. 下载、解压
wget http://mirrors.hust.edu.cn/apache/lucene/solr/6.4.1/solr-6.4.1.tgz
tar zxf solr-6.4.1.tgz

2. 安装JAVA运行环境
yum install java-1.8.0-openjdk

==========solr 标准安装方法==============

# 准备数据目录和安装目录

# 数据存放目录
mkdir /mnt/www/solr
# 软件安装目录
mkdir /usr/local/solr

#安装软件和服务

./solr-6.4.1/bin/install_solr_service.sh solr-6.4.1.tgz -d /mnt/www/solr -i /usr/local/solr

# 创建core

su - solr -c "/usr/local/solr/solr/bin/solr create -c doufu"

# 启动停止方法(centos 7)

# 先停止solr
su - solr -c "/usr/local/solr/solr/bin/solr stop"
# 启动solr
systemctl restart solr
# 查看solr运行状态
systemctl status solr
# centos6 可用service控制
service solr start/stop/restart

# 访问Web控制台
http://youip:8983/
# 下一步:

solr内存配置,solr时区配置

# misc:

[root@web4 solr]# bin/solr --help

Usage: solr COMMAND OPTIONS
where COMMAND is one of: start, stop, restart, status, healthcheck, create, create_core, create_collection, delete, version, zk

Standalone server example (start Solr running in the background on port 8984):

./solr start -p 8984

SolrCloud example (start Solr running in SolrCloud mode using localhost:2181 to connect to Zookeeper, with 1g max heap size and remote Java debug options enabled):

./solr start -c -m 1g -z localhost:2181 -a “-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044”

Pass -help after any COMMAND to see command-specific usage information,
such as: ./solr start -help or ./solr stop -help

CentOS 7 配置 SNMP 服务

SNMP : 简单网络管理协议, 典型的应用就是监控服务器的状态. 例如, 监控宝使用 SNMP 协议监控服务器的状态.

下面介绍 SNMP 服务的安装配置. 官网: http://www.net-snmp.org/

安装 net-snmp 服务端

设置安全的验证方式

SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,监控宝目前支持v2c和v3两个版本, 我们使用 v3.

首先停止 snmp 服务

编辑配置文件

在文件末尾添加如下内容

  •  rouser user1 auth
    rouser 意思是只读用户, user1 是用户名, auth 表示需要验证
  • createUser user1 MD5 password
    createUser 表示要创建一个用户, user1 要创建的用户, 就是上面指定的, MD5 密码的加密方式, password 明文密码, 必须大于8个字节.

配置好以后启动服务

启动后 snmp 会检测配置文件, 当检查到有 createUser 参数时, 会创建新用户或替换已经存在的用户, 然后将加密密码保存在 /var/lib/net-snmp/snmpd.conf 文件中
, 再从配置文件中删除这行.

因此要创建新用户或更改密码时只需要停止服务, 在配置文件中加入 createUser 参数, 再次启动服务即可.

添加防火墙规则, 放行 udp 161 端口

将下面的语句放到合适的位置

保存, 重启 iptables.

至此, snmp 服务配置完成.

php pecl命令使用代理上网

[root@web4 ~]# pecl config-set http_proxy http://test:1080
config-set (http_proxy, http://test:1080, user) failed, channel pecl.php.net

尝试失败

查找资料https://blog.flowl.info/2015/peclpear-behind-proxy-how-to/

换成pear成功。。。。

[root@web4 ~]# pear config-set http_proxy http://test:1080
config-set succeeded

这个应该是个bug pecl的代理要使用pear来设置。。。

nginx配置为http代理服务器

# 省略其他配置

http {
    # 省略其他配置

    server {
        # 可用的dns服务器地址
        resolver 10.143.22.118;
        # 监听端口
        listen 1080;
        location / {
            # 一般不需要修改
            proxy_pass http://$http_host$request_uri;
        }
    } 
}
# 省略其他配置

linux umount 时出现device is busy 的处理方法–fuser

事情是这样的:由于/目录磁盘空间不足,新建了个LVM分区,欲挂载在/home目录,于是尝试直接挂载,竟然挂载成功了,然而,/home目录下的数据却没了,数据应该没丢尝试取消挂载,但是提示device is busy,所以就用下面的方法恢复了

fuser -m -v -i -k /home && umount /dev/xxxx

 

原文地址:linux umount 时出现device is busy 的处理方法–fuser

当任何目录有 mount, 然后有程序使用/挂在那个目录上的话, 就没有办法 umount 掉, 於 umount 时会出现 Device is busy 的讯息.

要怎麼找出是哪个程序挂在那个目录上? 然后去把那个程式砍掉呢?

使用 fuser 的指令

那要怎麼找出是哪个程式挂在那个目录上?可以使用 fuser – identify processes using files or sockets

假设现在 mount 起来的目录是 /media/share

* 查询: fuser -m /media/share
* 显示: /media/share: 25023c

就代表是 process 25023(pid) 有使用到此目录, 后面 c 代表的意思可参考下述:

* c: current directory.
* e: executable being run.
* f: open file. f is omitted in default display mode.
* F: open file for writing. F is omitted in default display mode.
* r: root directory.
* m: mmap’ed file or shared library.

要把这个资源释放的话, 可以有下述做法:

* kill -9 25023 # ps aux | grep 25023 应该就会看到它
* fuser -m -v -i -k /media/share # 会问你是不是要把 25023 这个 kill 掉, 选 y 就会 kill 掉

提示信息如下:
USER      PID   ACCESS COMMAND
/meida/share: root      25023 ..c..  bash
Kill process 25023 ? (y/N) y