首页 文章 精选 留言 我的

精选列表

搜索[博客搭建],共10000篇文章
优秀的个人博客,低调大师

centos6 搭建heartbeat

Heartbeat是High-Availability Linux Project (Linux下的高可用性项目)的产物,是一套提供防止业务主机因不可避免的意外性或计划性宕机问题的高可用性软件。Heartbeat可以从Linux-HA 项目Web 站点免费获得,它提供了所有HA (高可用性)系统所需要的基本功能,如启动和停止资源、监测群集中系统的可用性、在群集中的节点间转移共享IP 地址的所有者等。它通过串行线、以太网接口或同时使用两者来监测特定服务(或多个服务)的运行状况。 Heartbeat实现了HA 功能中的核心功能——心跳,将Heartbeat软件同时安装在两台服务器上,用于监视系统的状态,协调主从服务器的工作,维护系统的可用性。它能侦测服务器应用级系统软件、硬件发生的故障,及时地进行错误隔绝、恢复;通过系统监控、服务监控、IP自动迁移等技术实现在整个应用中无单点故障,简单、经济地确保重要的服务持续高可用性。 Heartbeat采用虚拟IP地址映射技术实现主从服务器的切换对客户端透明的功能。 实验环境 centos6.5_x64 master eth0 192.168.1.128 eth1 192.168.1.129 slave eth0 192.168.1.130 eth1 192.168.1.131 vip 192.168.1.200 实验软件 epel-release-6-8.noarch.rpm nginx.x86_64 heartbeat.x86_64 软件安装 rpm -ivh epel-release-6-8.noarch.rpm yum install -y libnet heartbeat* nginx* glib* vim /etc/hosts centos6 192.168.1.128 添加两行配置 master/slave相同操作 uname -n名字 centos6-1 192.168.1.130 less /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 centos6 192.168.1.128 centos6-1 192.168.1.130 ssh-keygen -t rsa master/slave相同操作 Generating public/private rsa key pair. Enter file in which to save the key(/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. scp /root/.ssh/id_rsa.pub root@192.168.1.128:/root/.ssh/authorized_keys scp /root/.ssh/id_rsa.pub root@192.168.1.130:/root/.ssh/authorized_keysssh信任 scp /root/aa.txt root@192.168.1.128:/root/ aa.txt 100% 0 0.0KB/s 00:00 scp /root/bb.txt root@192.168.1.130:/root/ bb.txt 100% 0 0.0KB/s 00:00 如果使用scp命令没有提示输入密码表示ssh信任成功 service nginx start chkconfig --level 35 nginx on cd /usr/share/doc/heartbeat-3.0.4/ master/slave相同操作 cp authkeys ha.cf haresources /etc/ha.d/ vim /etc/ha.d/authkeys #auth 1 #1 crc #2 sha1 HI! #3 md5 Hello! 找到 #auth 1 auth 3 #1 crc #2 sha1 HI! 3 md5 Hello!改为 第一种是CRC循环冗余校验,第二种是SHA1哈希算法,第三种是MD3哈希算法 chmod 600 /etc/ha.d/authkeys vim /etc/ha.d/haresources centos6 192.168.1.200/24/eth0:0 nginx master端配置 centos6-1 192.168.1.200/24/eth0:0 nginx slave端配置 设定虚拟IP和对应的接口,并且指定启动虚拟IP时启动NGINX服务 vim /etc/ha.d/ha.cf #debugfile /var/log/ha-debug 找到 debugfile /var/log/ha-debug 改为 touch /var/log/ha-debug #logfile /var/log/ha-log 找到 logfile /var/log/ha-log改为 日志文件位置 touch /var/log/ha-log logfacility local0 #keepalive 2 找到 检查时间间隔 keepalive 2改为 #deadtime 30 找到 设定死亡时间 deadtime 30 改为 #warntime 10 找到 设定告警时间 warntime 10 改为 #initdead 120 找到 设定初始化时间 initdead 20 改为 #udpport 694 找到 udpport 694 改为 udp端口号 #ucast eth0 192.168.1.2 找到 ucast eth1 192.168.1.131 改为 master端配置eth1为心跳线ip 192.168.1.131为slave端ip ucast eth1 192.168.1.129 改为 slave端配置 eth1为心跳线ip 192.168.1.129为master端ip auto_failback on 找到启动抢占模式(主在挂了以后重新起来后备会自动切换成备)auto_failback auto_failback on改为 node centos6 指定负载节点 node centos6-1 #ping 10.10.10.254 找到 ping 192.168.1.101 改为 #respawn hacluster /usr/lib/heartbeat/ipfail 找到 respawn hacluster /usr/lib64/heartbeat/ipfail 改为 chmod 600 /etc/ha.d/ha.cf service heartbeat start master/slave端相同操作 netstat -tuplna | grep heartbeat udp 0 0 0.0.0.0:56611 0.0.0.0:* 6831/heartbeat: wri udp 0 0 0.0.0.0:694 0.0.0.0:* 6831/heartbeat: wri ps -ef | grep heartbest root 8034 8015 0 00:27 pts/0 00:00:00 grep heartbest tail -f /var/log/ha-log ip-request-resp(default)[12892]: 2017/10/25_01:25:59 received ip-request-resp 192.168.1.200/24/eth0:0 OK yes ResourceManager(default)[12915]: 2017/10/25_01:26:00 info: Acquiring resource group: centos6 192.168.1.200/24/eth0:0 nginx /usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_192.168.1.200)[12943]: 2017/10/25_01:26:00 INFO: Resource is stopped ResourceManager(default)[12915]: 2017/10/25_01:26:00 info: Running /etc/ha.d/resource.d/IPaddr 192.168.1.200/24/eth0:0 start IPaddr(IPaddr_192.168.1.200)[13076]: 2017/10/25_01:26:00 INFO: Adding inet address 192.168.1.200/24 with broadcast address 192.168.1.255 to device eth0 (with label eth0:0) IPaddr(IPaddr_192.168.1.200)[13076]: 2017/10/25_01:26:00 INFO: Bringing device eth0 up IPaddr(IPaddr_192.168.1.200)[13076]: 2017/10/25_01:26:00 INFO: /usr/libexec/heartbeat/send_arp -i 200 -r 5 -p /var/run/resource-agents/send_arp-192.168.1.200 eth0 192.168.1.200 auto not_used not_used ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:45:17:73 brd ff:ff:ff:ff:ff:ff inet 192.168.1.129/24 brd 192.168.1.255 scope global eth1 inet6 fe80::20c:29ff:fe45:1773/64 scope link valid_lft forever preferred_lft forever 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:45:17:69 brd ff:ff:ff:ff:ff:ff inet 192.168.1.128/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary eth0:0 inet6 fe80::20c:29ff:fe45:1769/64 scope link valid_lft forever preferred_lft forever master端 ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:3d:5b:1b brd ff:ff:ff:ff:ff:ff inet 192.168.1.130/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary eth0:0 inet6 fe80::20c:29ff:fe3d:5b1b/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:3d:5b:25 brd ff:ff:ff:ff:ff:ff inet 192.168.1.131/24 brd 192.168.1.255 scope global eth1 inet6 fe80::20c:29ff:fe3d:5b25/64 scope link valid_lft forever preferred_lft forever slave端 看到eth0:0 说明配置成功 echo nginx_master > /usr/share/nginx/html/index.htmlmaster端 echo nginx_slave > /usr/share/nginx/html/index.html slave端 nginx -s reload

优秀的个人博客,低调大师

centos7搭建FTP

1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsftpd restart # 查看vsftpd服务的状态 systemctl status vsftpd.service 2. 配置vsftpd.conf #备份配置文件 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak #执行以下命令 sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf' #添加下列内容到vsftpd.conf末尾 vi /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf use_localtime=YES listen_port=21 chroot_local_user=YES idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_enable=YES pasv_min_port=10060 pasv_max_port=10070 accept_timeout=5 connect_timeout=1 allow_writeable_chroot=YES 3. 建立用户文件 #第一行用户名,第二行密码,不能使用root为用户名(奇数行用户名,偶数行密码,这里用户名是test,密码为123456) vi /etc/vsftpd/virtusers test 123456 4. 生成用户数据文件 db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/virtusers.db 5. 修改/etc/pam.d/vsftpd文件 # 修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak # 将auth及account的所有配置行均注释掉(每行前面加 # ) vi /etc/pam.d/vsftpd auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers # 如果系统为32位,上面改为lib 6. 新建系统用户vsftpd,用户目录为/home/vsftpd #用户登录终端设为/bin/false(即:使之不能登录系统) useradd vsftpd -d /home/vsftpd -s /bin/false chown -R vsftpd:vsftpd /home/vsftpd 7.建立虚拟用户个人配置文件 mkdir /etc/vsftpd/vconf cd /etc/vsftpd/vconf #这里建立test虚拟用户配合文件 touch test #建立用户根目录 mkdir -p /home/vsftpd/test/ #更改用户目录权限 sudo chmod -R 777 /home/vsftpd/test #编辑chris用户配置文件,内容如下,其他用户类似 vi test local_root=/home/vsftpd/test/ write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 8. 防火墙设置 vi /etc/sysconfig/iptables #编辑iptables文件,添加如下内容,开放21,10060-10070端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -p tcp --dport 10060:10070 -j ACCEPT 9. 重启vsftpd服务器 service vsftpd restart 10.使用ftp软件连接测试 只需填写服务器ip,ftp帐号密码,不用填端口 注意:阿里服务器需要在安全组规则中将10060/10070端口,21/22端口加入白名单,不开放端口shell都连不上。 参考地址:http://blog.csdn.net/the_victory/article/details/52192085 原文有写小问题,我做了修改

优秀的个人博客,低调大师

ElasticSearch + Logstash + Kibana 搭建笔记

ElasticSearch 安装 1、下载 ElasticSearch,本文使用的版本为 5.5.1。 2、配置 path.data: /data/es #数据路径 path.logs: /data/logs/es #日志路径 network.host: 本机地址 #服务器地址 http.port: 9200 #端口 如果不修改配置的话,默认的数据和日志都位于elasticsearch文件夹下。 默认地址会使用 192.168.0.1 的地址,此时ElasticSearch运行于开发模式,只能从本机访问。如果修改为生产地址,就会进入生产模式,并且运行 bootstrap check 。 3、启动 ./bin/elasticsearch 注意,elasticsearch 不能使用 root 用户启动,使用其他用户启动,要注意有文件夹的读写权限。 我在安装过程中还出现了下面几个警告信息 [2017-08-07T09:13:59,951][WARN ][o.e.b.JNANatives ] unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in at org.elasticsearch.bootstrap.SystemCallFilter.linuxImpl(SystemCallFilter.java:350) ~[elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.SystemCallFilter.init(SystemCallFilter.java:638) ~[elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.JNANatives.tryInstallSystemCallFilter(JNANatives.java:245) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Natives.tryInstallSystemCallFilter(Natives.java:113) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:111) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:351) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.cli.Command.main(Command.java:88) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.5.1.jar:5.5.1] [2017-08-01T14:10:57,843][WARN ][o.e.b.BootstrapChecks ] [VAfWGGZ] max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536] [2017-08-01T14:10:57,844][WARN ][o.e.b.BootstrapChecks ] [VAfWGGZ] max number of threads [1024] for user [maserati] is too low, increase to at least [2048] [2017-08-01T14:10:57,844][WARN ][o.e.b.BootstrapChecks ] [VAfWGGZ] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] [2017-08-01T14:10:57,844][WARN ][o.e.b.BootstrapChecks ] [VAfWGGZ] system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk 针对文件描述符,调成 65536 ulimit -n 65536,如果提示没有权限,则可以在用户的 .bash_profile 中增加一行,退出用户重新登陆就可以。 针对 max number of threads 问题,修改 /etc/security/limits.d/90-nproc.conf 。 * soft nproc 2048 root soft nproc unlimited 针对 max virtual memory areas ,修改 /etc/sysctl.conf。如果没有,就新增一行。 vm.max_map_count = 262144 针对 system_call_filter 可以,通过修改配置文件(elasticsearch.yml)关掉这个参数。 bootstrap.system_call_filter: false 4、访问,出现下面的结果表示启动成功。 [root@iZ627x15h6pZ cloud]# curl http://localhost:9200 { "name" : "VAfWGGZ", "cluster_name" : "elasticsearch", "cluster_uuid" : "J9Tm5R2zRt2PkOSwtXj5Wg", "version" : { "number" : "5.5.1", "build_hash" : "19c13d0", "build_date" : "2017-07-18T20:44:24.823Z", "build_snapshot" : false, "lucene_version" : "6.6.0" }, "tagline" : "You Know, for Search" } Logstash 安装 1、下载并解压 Logstash,本文用的 Logstash-5.5.1 版本 2、创建一个简单的配置文件 logstash_test.conf input { stdin { } } output { stdout { codec => rubydebug } } 3、启动 logstash ./bin/logstash -f logstash_test.conf 出现这些信息,表示启动成功了。 [2017-08-01T13:58:38,437][INFO ][logstash.pipeline ] Pipeline main started The stdin plugin is now waiting for input: [2017-08-01T13:58:38,532][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600} 4、与ElasticSearch配合。 Kibana 安装 1、下载 Kibana 2、修改配置 //启动端口 因为端口受限 所以变更了默认端口 server.port: 5601 //启动服务的ip server.host: "本机ip" //elasticsearch地址 elasticsearch.url: "http://localhost:9200” 3、启动程序 ./bin/kibana 4、访问查看Kibana启动是否成功,并检索查看数据 http://localhost:5601 参考资料: 1、Download Logstash 2、ElasticSearch Download 3、ElasticSearch 5.0启动出现的错误 4、Ulimit详解 5、ELK+Filebeat 安装配置入门

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册