使用solr自带的工具zkcli.sh上传配置文件
chmod +x /opt/solr/server/scripts/cloud-scripts/zkcli.sh
cp -r /opt/solr-7.3.1/server/solr/configsets/_default/conf /opt/solr-7.3.1/server/solr/_test1b/
/opt/solr/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost 10.1.201.49:2181,10.1.201.50:2181 -confname test1b -confdir /opt/solr-7.3.1/server/solr/_test1b/
复制的时候一定要复制server/solr/configsets/_default/conf目录,而不是server/solr/configsets/_default
...不小心删除solr的主键id,导致报错Schema Parsing Failed: unknown field ‘id’
问题描述
#
Schema Parsing Failed: unknown field ‘id’
解决方法
#
关闭zookeeper、solr服务并删除zookeeper数据,然后重新启动zookeeper、solr服务。
...解决Nginx的connect() to xxx failed (13: Permission denied) 和 Nginx 403 forbidden 错误
查看SeLinux状态
#
getenforce
如果是enabled则继续往下看。
临时关闭(不需要重启机器)
#
setenforce 0
修改配置
#
vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled
如果你执行了临时关闭SeLinux并机器上跑了重要的业务,那可以不需要马上重启机器,等待下次重启配置生效即可。
...分别使用ffmpeg ffmbc 实现 输出XDCAM HD422 MXF文件
ffmpeg
#
ffmpeg -i test.mov -pix_fmt yuv422p -vcodec mpeg2video -non_linear_quant 1 -flags +ildct+ilme -top 1 -dc 10 -intra_vlc 1 -qmax 3 -lmin "1*QP2LAMBDA" -vtag xd5c -rc_max_vbv_use 1 -rc_min_vbv_use 1 -g 12 -b:v 50000k -minrate 50000k -maxrate 50000k -bufsize 8000k -acodec pcm_s16le -ar 48000 -bf 2 -ac 2 -f mxf_d10 output.mxf
ffmbc
#
ffmbc -y -threads 8 -i 先导片.mp4 -target xdcamhd422 -tff -acodec pcm_s24le 先导片-out.mov
源码编译nginx+rtmp+hls,并附带nginx配置文件、推流的方式及播放方法。
nginx
#
编译
#
wget http://nginx.org/download/nginx-1.14.0.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget
#全部解压并编译nginx
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/opt/app/openet/oetal1/chenhe/pcre-8.37 --with-zlib=/opt/app/openet/oetal1/chenhe/zlib-1.2.8 --with-openssl=/opt/app/openet/oetal1/chenhe/openssl-1.0.1t --add-module=../nginx-rtmp-module
配置
#
worker_processes auto;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4000;
application myapp {
live on;
}
application hls {
live on;
hls on;
hls_path /data/y/ngnix/hls;
hls_playlist_length 1d;
hls_sync 100ms;
hls_continuous on;
hls_fragment 8s;
}
}
}
http {
server {
listen 80;
location / {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root html;
}
location /hls {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
#server hls fragments
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias /data/y/ngnix/hls;
expires -1;
}
}
}
推流
#
#RTMP方式
/opt/ffmpeg/bin/ffmpeg -re -i "/home/1.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://127.0.0.1:1935/myapp/test1
#HTTP方式
/opt/ffmpeg/bin/ffmpeg -re -i "/home/2.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://127.0.0.1:1935/hls/test2
具体参数可根据自己的需求调整
...使用find和readlink删除除link(软连接)对应的文件以外的所有文件,一般用于自动删除日志文件。
脚本
#
#!/bin/bash
linkArr=`find $1 -type l -exec readlink {} \;`
fileArr=`find $1 -type f -name "*${2}*"`
for f in $fileArr;do
isLink=false
for l in $linkArr;do
#判断当前文件是否为link对应的文件
if [ "${f##*/}" == "$l" ];then
isLink=true
break
fi
done
if [ $isLink == false ];then
rm -f $f
fi
done
说明
#
功能
#
删除除link对应的文件以外的所有文件
...brew常用的一些命令
安装:ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”
搜索:brew search XXX 在安装之前可以先查询一下,是否有这个软件
查询:brew info XXX 主要看具体的信息,比如目前的版本,依赖,安装后注意事项等
...
一个在Finder中快速打开hyper、iTerm2、Terminal、vscode和新建文件的小工具
简介
#
可以快速打开常见的终端模拟器,并切换到当前finder所在的目录。
...Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
...
一个简单的脚本,实现终端socks5代理。
开始是打算使用“proxychains4”的,但是需要关闭SIP功能(System Integrity Protection),作为一个注重系统安全的用户,怎么能关闭这个SIP呢,于是只能另辟蹊径了。最后找到使用shell 的代理环境变量来解决这个问题。
$ cat /usr/local/bin/pc
#!/bin/bash
export http_proxy=socks5://127.0.0.1:1086
export https_proxy=$http_proxy
$@
$ chmod +x /usr/local/bin/pc
$ #需要使用代理的时候
$ pc curl www.google.com
是不是很简单,感觉比“proxychains4”简单方便多了,而且还不要关闭SIP。理论上Linux下也是可行的,但是没有测试。