Elasticsearch:
https://blog.csdn.net/yuan_life/article/details/100042647
1、获取安装包(安装es服务之前首先要安装jdk):
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip
2、解压
unzip elasticsearch-5.5.1.zip
注:如果是tar.gz类型的,使用命令:tar –zxvf xxxxxxx.tar.gz
tar –xvf file.tar解压tar包
tar –xjvf file.tar.bz2 解压tar.bz2
tar-xZvf file.tar.Z 解压tar.Z
unrar e file.rar 解压rar
(https://www.cnblogs.com/eason-d/p/8365068.html)
3、新建一个用户用来配置、启动es,es无法从root启动
- groupadd elsearch
- useradd elsearch -g elsearch
- chown -R elsearch:elsearch elasticsearch-6.4.2 该命令是更改该文件夹下所属的用户组的权限,sudo chown -R es:es elasticsearch-5.3.2 //修改elasticsearch-5.3.2文件夹所属用户为es
4、切换至es用户,安装启动elasticsearch:
su es 显示认证失败,则先切换至root,如果su root 也显示认证失败,则使用sudo
passwd命令重设root密码,之后再su root,在root用户下直接su es成功。
切换至es用户后:
cd elasticsearch-5.3.2 ./bin/elasticsearch //启动elasticsearch
5、远程访问:
/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
6、开机自启动:
①在/etc/init.d目录下创建elasticsearch文件
脚本如下:
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
export JAVA_HOME=/usr/java/jdk1.8.0_112 //jdk的安装路径
export JAVA_BIN=/usr/java/jdk1.8.0_112/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
case "$1" in
start)
su es用户名<<!
cd /home/lyt/dev-repo/elk5/elasticsearch-5.6.9
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su es用户名<<!
cd /home/lyt/dev-repo/elk5/elasticsearch-5.6.9
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
②保存退出,赋予该脚本执行权限
chmod +x elasticsearch
③将elasticsearch添加到开机启动任务
chkconfig -add elasticsearch
问题1:could not find java; set JAVA_HOME or ensure java is in PATH
解决方案:需要系统搭建Java环境,参考下面链接进行配置搭建Java环境(Java版本可更新)
问题2:max file descriptors [4096] for elasticsearch process is too low,
increase to at least [65536]
原因:每个进程最大同时打开文件数太小
查看当前系统同时打开进程数的默认值:
ulimit -Hn
ulimit -Sn
解决方案:切换到root账户,修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
su root
输入密码
vi /etc/security/limits.conf
在文件最后,增加如下配置:
likang hard nofile 65536
likang soft nofile 65536
-
soft nproc 4096
-
hard nproc 4096
问题3:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:elasticsearch用户拥有的内存权限太小,至少需要262144
解决:切换到root用户,在/etc/sysctl.conf文件最后添加一行
vm.max_map_count=655360
添加完毕之后,执行命令:
sysctl –p
redis
https://www.jianshu.com/p/f41169c0c31d
1、安装
$ wget http://download.redis.io/releases/redis-3.2.10.tar.gz
$ tar xzf redis-3.2.10.tar.gz
$ cd redis-3.2.10
$ make
$ make install
$ cp redis.conf /etc/redis.conf
$ vi /etc/redis.conf
将 daemonize no 改为 daemonize yes
ESC :wq 保存并退出vi编辑器
2、测试
检查redis是否安装成功(如果出现路径,表示安装成功)
$ which redis-server
$ which redis-cli
开启redis服务
$ redis-server /etc/redis.conf
连接redis服务(-p 表示端口,可选)
$ redis-cli -p 6379
redis> set name txz
OK
redis> get name
"txz"
redis> exit
如何连接到远程redis服务?
答:redis-cli -h 110.110.110.110 -p 6379 -a 123456
注意:110.110.110.110 需要替换为你客户端真实的IP,
-p后面的端口号可能需要替换为你redis服务的端口,
123456需要替换为你的redis服务密码。
客户端连接不到远程redis服务?
答:https://blog.csdn.net/tangxinzhuan/article/details/83540060
【redis进阶】
一、将redis添加到service
$ cd redis-3.2.10/utils/
$ cp redis_init_script /etc/init.d/redis
$ vi /etc/init.d/redis
// CONF参数修改为redis.conf实际所在路径,效果如下:
CONF="/etc/redis.conf"
ESC :wq 保存并退出vi编辑器
** 测试开启/关闭redis服务**
$ service redis start
$ service redis stop
二、配置开机启动
$ vi /etc/rc.local
# 在rc.local文件的最底部加上一行代码,如下所示
service redis start
ESC :wq 保存并退出vi编辑器
相关问题:
1、WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
解决办法:
vim /etc/sysctl.conf
另起一行添加:
net.core.somaxconn = 511
保存后退出
然后:sysctl –p
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
解决办法:
vim /etc/sysctl.conf
换行添加:
vm.overcommit_memory=1
保存后退出
sysctl -p
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
解决办法:
vim /etc/rc.local
换行添加:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
保存后退出
重启系统、重启服务器:
reboot
FastDFS
https://segmentfault.com/a/1190000018251300?utm_source=tag-newest
下载libfastcommon、fastdfs、fastdfs-nginx-module:
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz -SO libfastcommon.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz -SO fastdfs.tar.gz
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz -SO fastdfs-nginx-module.tar.gz
** 解压**
tar -xf xxx.tar.gz
安装 libfastcommon
cd ~/caibh/fdfs-package
cd libfastcommon-1.0.39
./make.sh
./make.sh install
安装 fastdfs
cd ~/caibh/fdfs-package
cd fastdfs-5.11
./make.sh
./make.sh install
安装好后,程序是在/usr/bin目录下:
$ which fdfs_trackerd
/usr/bin/fdfs_trackerd
但是这些配置文件是不全的,而且都是模板,所以需要从fastdfs包中拷贝过来,并修改配置:
$ cd ~/caibh/fdfs-package/fastdfs-5.11/conf
$ ls
anti-steal.jpg client.conf http.conf mime.types storage.conf storage_ids.conf tracker.conf
$ sudo cp ~/caibh/fdfs-package/fastdfs-5.11/conf/* /etc/fdfs
修改配置
sudo vi /etc/fdfs/tracker.conf:
** the tracker server port**
port=22122
** the base path to store data and log files**
base_path=/home/caibh/fdfs
** HTTP port on this tracker server**
http.server_port=9270
sudo vi /etc/fdfs/storage.conf:
** storage所属的组**
group_name=group1
** the storage server port**
port=23000
** the base path to store data and log files**
base_path=/home/caibh/fdfs
** store_path#, based 0, if store_path0 not exists, it’s value is base_path**
** the paths must be exist**
store_path0=/home/caibh/fdfs
#store_path1=/home/caibh/fdfs2
** tracker服务器,虽然是同一台机器上,但是不能写127.0.0.1。这项配置可以出现一次或多次**
tracker_server=191.8.1.77:22122
** the port of the web server on this storage server**
http.server_port=8888
sudo vi /etc/fdfs/client.conf:
** the base path to store log files**
base_path=/home/caibh/fdfs/client
** tracker_server can ocur more than once, and tracker_server format is**
** “host:port”, host can be hostname or ip address**
tracker_server=191.8.1.77:22122
#HTTP settings
http.tracker_server_port=9270
sudo vi /etc/fdfs/mod_fastdfs.conf:
** the base path to store log files**
base_path=/tmp
** FastDFS tracker_server can ocur more than once, and tracker_server format is**
** “host:port”, host can be hostname or ip address**
** valid only when load_fdfs_parameters_from_tracker is true**
tracker_server=191.8.1.77:22122
** the port of the local storage server**
** the default value is 23000**
storage_server_port=23000
** the group name of the local storage server**
group_name=group1
store_path#, based 0, if store_path0 not exists, it’s value is base_path
** the paths must be exist**
** must same as storage.conf**
store_path0=/home/caibh/fdfs
#store_path1=/home/yuqing/fastdfs1
配置过程中有几点要注意:
确保配置中用到的目录已经创建了。比如~/fdfs/client、~/fdfs/data、~/fdfs/logs
确保各种配置文件之间引用的端口一直。比如:
mod_fastdfs.conf文件中tracker_server的端口应该跟tracker.conf中port一致;
mod_fastdfs.conf文件中storage_server_port的端口应该跟跟storage.conf中port一致;
其他配置或文件虽然不用修改,但是fastdfs-nginx-module模块会用到:
anti-steal.jpg
http.conf
mime.types
启动tracker和storage:
启动
fdfs_trackerd /etc/fdfs/tracker.conf start
fdfs_storaged /etc/fdfs/storage.conf start
查看日志
tail -n10 ~/fdfs/logs/trackerd.log
tail -n10 ~/fdfs/logs/storaged.log
如果日志显示有错误信息,需要根据信息来查找错误原因
用fdfs_test测试上传
$ fdfs_test /etc/fdfs/client.conf upload ~/caibh/test_images/XinXiJuZhiWang.jpg
Nginx模块
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
安装nginx并添加fastdfs-nginx-module
解压nginx,和fastdfs-nginx-module:
tar -zxvf nginx-1.12.0.tar.gz
unzip fastdfs-nginx-module-master.zip
然后进入nginx安装目录,添加fastdfs-nginx-module:
./configure --prefix=/usr/local/nginx --add-module=/usr/muyou/dev/nginx/fastdfs-nginx-module-master/src #解压后fastdfs-nginx-module所在的位置
Make 编译
备份安装目录sbin下的nginx,在源码目录下的objs下的nginx覆盖安装目录sbin下的nginx
另外还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:
cp /usr/muyou/dev/nginx/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
对刚刚拷贝的mod_fastdfs.conf文件进行修改:
vi /etc/fdfs/mod_fastdfs.conf
base_path=/usr/muyou/dev/fastdfs/fastdfs_storage #保存日志目录
tracker_server=192.168.150.132:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/usr/muyou/dev/fastdfs/fastdfs_storage_data #存储路径
group_count =1
创建M00至storage存储目录的符号连接:
ln -s /usr/muyou/dev/fastdfs/fastdfs_storage_data/data/ /usr/muyou/dev/fastdfs/fastdfs_storage_data/data/M00
启动nginx
/usr/local/nginx/sbin/nginx
如果有ngx_http_fastdfs_set pid=1231
代表成功安装
openJDK
1、安装
https://www.cnblogs.com/KevinStark/p/11150141.html
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
dirname $(readlink $(readlink $(which java)))
查询安装路径
显示路径【/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin】
vim /etc/profile 修改配置
export JAVA_HOME=【/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64】
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
保存退出后,执行一下使设置立即生效
source /etc/profile
查询Java版本
Java –version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
以上显示则成功