网站首页 关于作者 Chensj 的所有文章

  • CentOS 6.4下快速部署Zabbix 2.4

    1. 环境准备 CentOS 6.4 关闭selinux和iptables 两台虚拟机:一台Server,一台Agent 2. 安装官方yum源 所有服务器都要安装此yum源 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 3. 部署Zabbix Server yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent  mysql-server mysql -y /etc/init.d/mysqld start mysql -e "create database zabbix character set utf8 collate utf8_bin;" mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"   cd /usr/share/doc/zabbix-server-mysql-2.4.*/create/ mysql -uroot zabbix < schema.sql mysql -uroot zabbix < images.sql mysql -uroot zabbix < data.sql sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf service zabbix-server start service zabbix-agent start   sed -i 's/^.*date.timezone =.*$/date.timezone = Asia\/Shanghai/g' /etc/php.ini sed -i 's/^.*post_max_size =.*$/post_max_size = 16M/g' /etc/php.ini sed -i 's/^.*max_execution_time =.*$/max_execution_time = 300/g' /etc/php.ini sed -i 's/^.*max_input_time =.*$/max_input_time = 300/g' /etc/php.ini service httpd restart   chkconfig mysqld on chkconfig zabbix-server on chkconfig zabbix-agent on chkconfig httpd on 一些Zabbix相关教程集合: 安装部署分布式监控系统Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm 《安装部署分布式监控系统Zabbix 2.06》 http://www.linuxidc.com/Linux/2013-07/86942.htm CentOS 6.3下Zabbix安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm Zabbix分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm CentOS 6.3下Zabbix监控apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm CentOS 6.3下Zabbix监控MySQL数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm 64位CentOS 6.2下安装Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm 打开浏览器访问http://server_ip/zabbix/ 直接点击Next... 继续点击Next... 点击'Test connection' 后,继续Next 继续Next... 继续Next... 点击'Finish' 完成页面的配置. 通过默认的账号和密码进行登录 Admin/zabbix  注意Admin第一个字母大写 将页面改为中文的方法: sed -i '/zh_CN/ s/false/true/' /usr/share/zabbix/include/locales.inc.php /etc/init.d/httpd restart 现在可以看到已经可以选择中文了,上图是已经生效之后的。 启用Zabbix Server自身监控: 按照上图的继续点击,将默认的Zabbix Server自身的监控启用. 图片不能显示中文: 语言切换到中文后,选择任意的图形,不能显示中文.. cd /usr/share/zabbix/fonts mv graphfont.ttf graphfont.ttf.bak wget -SO graphfont.ttf http://v.dbsa.cn/zabbix/DejaVuSans.ttf #不替换 graphfont.ttf的方法 #下载会字体文件 .ttf #vi /usr/share/zabbix/include/defines.inc.php #('ZBX_GRAPH_FONT_NAME',          'graphfont');  #将graphfont替换为下载的文件名即可 #('ZBX_FONT_NAME', 'graphfont');  #将graphfont替换为下载的文件名即可 关注日志 tail -f /var/log/zabbix/zabbix_server.log 1943:20141126:142146.893 server #23 started [history syncer #4] 1942:20141126:142146.893 server #22 started [history syncer #3] 1947:20141126:142146.900 server #25 started [proxy poller #1] 1946:20141126:142146.900 server #24 started [escalator #1] 1950:20141126:142146.906 server #26 started [self-monitoring #1] 1935:20141126:142147.096 server #19 started [discoverer #1] 1922:20141126:144903.783 cannot send list of active checks to [127.0.0.1]: host [Zabbix server] not monitored 其中有一个'cannot send list of active checks to ' 这种类型不算错误,后续更新Zabbix Agent(active)会描述这个情况. 4. 部署Zabbix Agent yum install zabbix-agent  zabbix-sender zabbix-get -y [root@localhost ~]# grep -vE '(^$|^\#)' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=172.16.43.40              #修改为Server的IP,支持多个IP,逗号分隔,使用域名的话,需要支持反向解析 ServerActive=172.16.43.40        #修改为Server的IP,不支持写多个IP HostnameItem=system.hostname    #默认是用Hostname需要手动指定主机名,改为HostnameItem 使用内部key的自动获取方式 Include=/etc/zabbix/zabbix_agentd.d/ /etc/init.d/zabbix-agent start chkconfig zabbix-agent on 关注日志 tail -n50 -f /var/log/zabbix/zabbix_agentd.log 1526:20141126:150356.024 Starting Zabbix Agent [localhost.localdomain]. Zabbix 2.4.2 (revision 50419). 1526:20141126:150356.024 using configuration file: /etc/zabbix/zabbix_agentd.conf 1526:20141126:150356.025 agent #0 started [main process] 1530:20141126:150356.026 agent #4 started [listener #3] 1529:20141126:150356.026 agent #3 started [listener #2] 1531:20141126:150356.026 agent #5 started [active checks #1] 1528:20141126:150356.027 agent #2 started [listener #1] 1527:20141126:150356.027 agent #1 started [collector] 1531:20141126:150356.062 no active checks on server [172.16.43.40:10051]: host [localhost.localdomain] not found 同样,'no active checks on server' 也不是一个错误,后续更新的blog会进行描述. 5. 在Server添加一个主机使用Agent方式进行监控 ...

    2017-09-22 IT相关 2579
  • CentOS6.5升级autoconf版本

    安装软件时提示说需要Autoconf 2.64或更高的版本: [root@wslu-cs wslu]# autoconf   configure.ac:8: error: Autoconf version 2.64 or higher is required   configure.ac:8: the top level   autom4te: /usr/bin/m4 failed with exit status: 63   查询当前版本: [root@wslu-cs wslu]# rpm -qf /usr/bin/autoconf   autoconf-2.63-5.1.el6.noarch   卸载当前版本: [root@wslu-cs wslu]# rpm -e --nodeps autoconf-2.63 安装最新版本: [root@wslu-cs wslu]# wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz   [root@wslu-cs wslu]# tar zxvf autoconf-2.69.tar.gz   [root@wslu-cs wslu]# cd autoconf-2.69   [root@wslu-cs wslu]# ./configure --prefix=/usr/   [root@wslu-cs wslu]# make && make install 查看当前版本: [root@wslu-cs autoconf-2.69]# /usr/bin/autoconf -V   autoconf (GNU Autoconf) 2.69   Copyright (C) 2010 Free Software Foundation, Inc.   License GPLv3+/Autoconf: GNU GPL version 3 or later   <http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>   This is free software: you are free to change and redistribute it.   There is NO WARRANTY, to the extent permitted by law.      Written by David J. MacKenzie and Akim Demaille.   至此,autoconf已升级到2.69。   ...

    2017-09-19 未分类 2436
  • 基于Twemproxy的Redis集群方案

    概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务。为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需求。因redis 3.0 beta支持的集群功能不适合生产环境的使用,所以我们采用twitter正在使用的twemproxy来搭建redis缓存服务器集群,目前用户包括Pinterest、Tumblr、Twitter、Vine、Kiip、Wuaki.tv、Wanelo、Kontera、Wikimedia、Bright、56.com、Snapchat、Digg、Gawkermedia、3scale.net等。 Twemproxy是memcached和redis协议的代理服务器,并能有效减少大量连接对redis服务器的性能影响,它提供的主要特性如下: 集群架构   安装Redis 有三台服务器,一台COS1安装twemproxy,另外两台COS2,COS3安装redis。   下载最新安装包:redis-2.8.9.tar.gz , tcl-8.5.7-6.el6.x86_64.rpm ,nutcracker-0.3.0.tar.gz 安装必要组件rpm: [root@COS2 redis-2.8.9]# yum install gcc [root@COS2 src]# rpm -ivh tcl-8.5.7-6.el6.x86_64.rpm 安装Redis: [root@COS2 src]# tar xvf redis-2.8.9.tar.gz [root@COS2 src]# cd redis-2.8.9 [root@COS2 redis-2.8.9]# make … Hint: To run 'make test' is a good idea ;) make[1]: Leaving directory `/usr/local/src/redis-2.8.9/src' [root@COS2 redis-2.8.9]# make test All tests passed without errors! Cleanup: may take some time... OK make[1]: Leaving directory `/usr/local/src/redis-2.8.9/src' [root@COS2 redis-2.8.9]# make install [root@COS2 redis-2.8.9]# cd /usr/local/bin/ [root@COS2 bin]# ll total 13908 -rwxr-xr-x. 1 root root 4170264 Apr 26 11:51 redis-benchmark -rwxr-xr-x. 1 root root   22185 Apr 26 11:51 redis-check-aof -rwxr-xr-x. 1 root root   45419 Apr 26 11:51 redis-check-dump -rwxr-xr-x. 1 root root 4263471 Apr 26 11:51 redis-cli -rwxr-xr-x. 1 root root 5726791 Apr 26 11:51 redis-server 编辑redis配置文件: [root@COS2 redis-2.8.9]# cp redis.conf /etc/ [root@COS2 redis-2.8.9]# vim /etc/red redhat-release  redis.conf      [root@COS2 redis-2.8.9]# vim /etc/redis.conf 把里面的 daemonize no  修改成 daemonize yes 启动redis服务: [root@COS2 redis-2.8.9]# redis-server /etc/redis.conf 测试redis服务: [root@COS2 redis-2.8.9]# redis-cli 127.0.0.1:6379> set kin kin OK 127.0.0.1:6379> get kin 同样的步骤安装其他redis服务器。     安装twemproxy 安装twemproxy: 二.安装twemproxy 1.下载twemproxy #wget http://twemproxy.googlecode.com/files/nutcracker-0.3.0.tar.gz ###如果google无法下载,请到github上下载:https://github.com/twitter/twemproxy #git clone https://github.com/twitter/twemproxy 2.编译 #cd twemproxy #autoreconf -fvi (报错输入yum install automake libtool 然后升级autoconf) #./configure --enable-debug=full #make #make install #src/nutcracker –h 编辑配置文件: [root@COS1 conf]# cd /usr/local/src/nutcracker-0.3.0/conf [root@COS1 conf]# cp nutcracker.yml /etc/ [root@COS1 conf]# vim /etc/nutcracker.yml alpha:   listen: 0.0.0.0:22121 hash: fnv1a_64   distribution: ketama   auto_eject_hosts: true redis: true server_retry_timeout: 2000 server_failure_limit: 1 servers: --两台redis服务器的地址和端口 - 10.23.22.240:6379:1      - 10.23.22.241:6379:1 测试配置文件: [root@COS1 nutcracker-0.3.0]# nutcracker -t /etc/nutcracker.yml nutcracker: configuration file 'conf/nutcracker.yml' syntax is ok 启动twemproxy: [root@COS1 nutcracker-0.3.0]# nutcracker  --help This is nutcracker-0.3.0 Usage: nutcracker [-?hVdDt] [-v verbosity level] [-o output file]                   [-c conf file] [-s stats port] [-a stats addr]                   [-i stats interval] [-p pid file] [-m mbuf size] Options: -h, --help             : this help -V, --version          : show version and exit -t, --test-conf        : test configuration for syntax errors and exit -d, --daemonize      : run as a daemon -D, --describe-stats   : print stats description and exit -v, --verbosity=N      : set logging level (default: 5, min: 0, max: 11) -o, --output=S         : set logging file (default: stderr) -c, --conf-file=S      : set configuration file (default: conf/nutcracker.yml) #配置 -s, --stats-port=N     : set stats monitoring port (default: 22222) -a, --stats-addr=S     : set stats monitoring ip (default: 0.0.0.0) -i, --stats-interval=N : set stats aggregation interval in msec (default: 30000 msec) -p, --pid-file=S       : set pid file (default: off) -m, --mbuf-size=N      : set size of mbuf chunk in bytes (default: 16384 bytes) [root@COS1 nutcracker-0.3.0]# nutcracker -d -c /etc/nutcracker.yml [root@COS1 nutcracker-0.3.0]# ps -ef|grep nutcracker root     15358     1  0 02:40 ?        00:00:00 nutcracker -d -c /etc/nutcracker.yml 测试twemproxy: [root@COS1 ~]# redis-cli -p 22121 127.0.0.1:22121> get kin "kin" 127.0.0.1:22121> set kin king OK 127.0.0.1:22121> get kin "king"   性能测试 这里使用redis自带的redis-benchmark进行简单的性能测试,测试结果如下: Set测试: 通过twemproxy测试: [root@COS1 src]# redis-benchmark -h 10.23.22.240 -p 22121 -c 100 -t set -d 100 -l –q SET: 38167.94 requests per second 直接对后端redis测试: [root@COS2 ~]# redis-benchmark -h 10.23.22.241 -p 6379 -c 100 -t set -d 100 -l –q SET: 53191.49 requests per second Get测试: 通过twemproxy测试: [root@COS1 src]# redis-benchmark -h 10.23.22.240 -p 22121 -c 100 -t get -d 100 -l -q GET: 37453.18 requests per second 直接对后端redis测试: [root@COS2 ~]# redis-benchmark -h 10.23.22.241 -p 6379 -c 100 -t get -d 100 -l -q GET: 62111.80 requests per second 查看键值分布: [root@COS2 ~]# redis-cli info|grep db0 db0:keys=51483,expires=0,avg_ttl=0 [root@COS3 ~]# redis-cli info|grep db0 db0:keys=48525,expires=0,avg_ttl=0 测试结果:以基本的set get命令通过twemproxy性能有所下降;通过twemproxy分布基本平均。测试数据以业务测试为准。 ...

    2017-09-19 未分类 2337
  • MongoDB单实例

    1.wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz 至/home 或者自备文件至 /home 2.tar -zxvf mongodb-linux-x86_64-2.4.9.tgz        #解压   mv mongodb-linux-x86_64-2.4.9.tgz  mongodb       #重命名 3.mkdir -p ./mongodb/{db,logs,conf}        #新建日志丶数据丶配置目录 4.vi  /home/mongodb/conf/mongodb.conf         #新建并编辑配置 dbpath=/home/mongodb/db logpath=/home/mongodb/logs/mongodb.log port=27017 fork=true nohttpinterface=true bind_ip=0.0.0.0 5. /home/mongodb/bin/mongod -f /home/mongodb/conf/mongodb.conf       #以配置文件启动服务 PS: /home/mongodb/bin/mongo       #启用MongoDB use admin       #MongoDB数据库admin用户 db.version()        #查看版本 db.shutwdownServer()          #关闭MongoDB ...

    2017-09-18 CentOS相关 3932
  • 恢复数据库到指定时间点

    1、恢复参数文件 [oracle@dbcheck backupset]$ rman target / 将数据库启动到nomount状态并恢复spfile文件 RMAN> startup nomount 恢复参数文件 RMAN> restore spfile to '/home/oracle/spfileslb.ora' from '/home/oracle/backupset/spfile_7_954091606_1.bkp'; Starting restore at 07-SEP-17 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=19 device type=DISK channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/backupset/spfile_7_954091606_1.bkp channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete Finished restore at 07-SEP-17 2、关闭数据库,然后将恢复的参数文件放置到$ORACLE_HOME/dbs下并重启数据库到nomount状态 SQL> shutdown immediate ORA-01507: database not mounted ORACLE instance shut down. 移动恢复后的参数文件到相应目录 [oracle@dbcheck ~]$ mv /home/oracle/spfileslb.ora /home/oracle/app/oracle/product/11.2.0/db_1/dbs/ 启动数据库到nomount状态 [oracle@dbcheck ~]$ sqlplus / as sysdba SQL> startup nomount ORACLE instance started. Total System Global Area  830930944 bytes Fixed Size            2257800 bytes Variable Size          536874104 bytes Database Buffers      289406976 bytes Redo Buffers            2392064 bytes 3、恢复控制文件 查看控制文件所在位置,并恢复控制文件到指定位置 SQL> show parameter control_files NAME                     TYPE     VALUE ------------------------------------ ----------- ------------------------------ control_files                 string     /home/oracle/app/oracle/oradat                          a/slb/control01.ctl, /home/ora                          cle/app/oracle/fast_recovery_a                          rea/slb/control02.ctl 进入rman,使用备份集文件恢复控制文件并启动数据库到mount状态 [oracle@dbcheck ~]$ rman target / RMAN> restore controlfile to '/home/oracle/app/oracle/oradata/slb/control01.ctl' from '/home/oracle/backupset/control_l1_15_1_954092575.bkp'; Starting restore at 07-SEP-17 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=19 device type=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 07-SEP-17 RMAN> restore controlfile to '/home/oracle/app/oracle/fast_recovery_area/slb/control02.ctl' from '/home/oracle/backupset/control_l1_15_1_954092575.bkp'; Starting restore at 07-SEP-17 using channel ORA_DISK_1 channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 07-SEP-17 将数据库启动到mount状态 RMAN> startup mount database is already started database mounted released channel: ORA_DISK_1 4、查看数据库备份集 RMAN> list backupset; List of Backup Sets =================== BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 1       Incr 0  70.37M     DISK        00:00:46     07-SEP-17               BP Key: 1   Status: AVAILABLE  Compressed: YES  Tag: TAG20170907T172537         Piece Name: /home/oracle/backupset/full_2_954091537_1.bkp   List of Datafiles in backup set 1   File LV Type Ckp SCN    Ckp Time  Name   ---- -- ---- ---------- --------- ----   2    0  Incr 971722     07-SEP-17 /home/oracle/app/oracle/oradata/slb/sysaux01.dbf   3    0  Incr 971722     07-SEP-17 /home/oracle/app/oracle/oradata/slb/undotbs01.dbf ...... 5、还原数据库 RMAN> restore database; Starting restore at 07-SEP-17 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=18 device type=DISK channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00002 to /home/oracle/app/oracle/oradata/slb/sysaux01.dbf channel ORA_DISK_1: restoring datafile 00003 to /home/oracle/app/oracle/oradata/slb/undotbs01.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/backupset/full_2_954091537_1.bkp channel ORA_DISK_1: piece handle=/home/oracle/backupset/full_2_954091537_1.bkp tag=TAG20170907T172537 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:25 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00001 to /home/oracle/app/oracle/oradata/slb/system01.dbf channel ORA_DISK_1: restoring datafile 00004 to /home/oracle/app/oracle/oradata/slb/users01.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/backupset/full_1_954091537_1.bkp channel ORA_DISK_1: piece handle=/home/oracle/backupset/full_1_954091537_1.bkp tag=TAG20170907T172537 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:45 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00005 to /home/oracle/app/oracle/oradata/slb/slb01.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/backupset/full_l1_10_1_954092542.bkp channel ORA_DISK_1: piece handle=/home/oracle/backupset/full_l1_10_1_954092542.bkp tag=TAG20170907T174222 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:03 Finished restore at 07-SEP-17 6、恢复数据库到指定时间点 [oracle@dbcheck ~]$ sqlplus / as sysdba SQL> recover database until time '2017-09-07 17:27:32' using BACKUP CONTROLFILE; ORA-00279: change 971721 generated at 09/07/2017 17:25:37 needed for thread 1 ORA-00289: suggestion : /home/oracle/app/oracle/fast_recovery_area/SLB/archivelog/2017_09_07/o1_mf_1_4d v246m70.arc ORA-00280: change 971721 for thread 1 is in sequence #4 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} 一路回车即可 将数据库以resetlogs方式打开 SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01248: file 5 was created in the future of incomplete recovery ORA-01110: data file 5: '/home/oracle/app/oracle/oradata/slb/slb01.dbf' 由于我这边控制文件恢复的是最近的的控制文件备份集,恢复后包含恢复时间点之后的数据文件信息,当以resetlogs打开数据库时数据库会去寻找相应文件,所以会报错 此处将相应数据文件offline SQL> alter database datafile 5 offline; Database altered. 重新以resetlogs方式打开 SQL> alter database open resetlogs; Database altered. ...

    2017-09-07 Oracle相关 2248
  • oracle+dataguard+cascade dataguard

    环境参数   操作系统及版本:CentOS release 6.5 (Final)   oracle主机名:oracle.slb.com                 IP 地址:192.168.239.31 dataguard主机名:dataguard.slb.com          IP 地址:192.168.239.32 cascade dg 主机名:cascade.slb.com           IP 地址:192.168.239.33   oracle 软件版本:11.2.0.4.0   一、主库建立 oracle 数据库 slb   配置 /etc/hots 文件 三台机器都要配置 192.168.239.31     oracle.slb.com     oracle 192.168.239.32     dataguard.slb.com  dataguard 192.168.239.33     cascade.slb.com    cascade   [root@slb ~]# vi /etc/hosts 二、安装相关rpm包 三台同样操作 传输相关rpm包到/home,目录下 进入相关目录进行rpm安装 [root@slb ~]# cd /home/rpm/   [root@slb rpm]# rpm -ivh * --force   三、配置相关系统参数 三台同样操作 [root@cascade rpm]# vi /etc/sysctl.conf 添加以下内容: fs.file-max = 6815744 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096   使系统参数生效 [root@slb rpm]# sysctl  -p 四、设置系统安全限制参数 三台同样操作 [root@cascade rpm]# vi /etc/security/limits.conf 添加以下内容: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 10240   五、oracle 登录配置 三台同样操作 [root@dataguard rpm]# vi /etc/pam.d/login 添加以下内容: session required pam_limits.so   六、更改系统配置文件 三台同样操作 [root@cascade rpm]# vi /etc/profile 添加以下内容: if [ $USER = "oracle" ]; then         if [ $SHELL = "/bin/ksh" ]; then               ulimit -p 16384               ulimit -n 65536         else         ulimit -u 16384 -n 65536         fi fi   七、添加用户组及用户 三台机器同样操作 [root@cascade rpm]# groupadd oinstall [root@cascade rpm]# groupadd dba [root@cascade rpm]# groupadd oper [root@cascade rpm]# useradd -g oinstall -G dba,oper oracle   设置 oracle 用户密码(注意密码的复杂度,大小写英文加数字加符号) [root@cascade rpm]# passwd oracle 八、创建数据库软件安装目录 三台机器同样操作 [root@slb rpm]# mkdir -p /home/oracle/app/oracle [root@slb home]# chown -R oracle.oinstall /home/oracle/app [root@slb home]# chmod -R 775 /home/oracle/app   九、配置oracle用户环境变量 Oracle 主机 [root@slb ~]# vi /home/oracle/.bash_profile 添加以下内容: ORACLE_SID=slb export ORACLE_SID ORACLE_BASE=/home/oracle/app/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin export PATH   dataguard 主机 [root@dataguard rpm]# vi /home/oracle/.bash_profile 添加以下内容 ORACLE_SID=dg export ORACLE_SID ORACLE_BASE=/home/oracle/app/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin export PATH   cascade 主机 [root@cascade rpm]# vi /home/oracle/.bash_profile 添加以下内容 ORACLE_SID=casdg export ORACLE_SID ORACLE_BASE=/home/oracle/app/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin export PATH   十、将oracle 软件传到服务器并解压 三台机器同样操作 [root@slb home]# unzip p13390677_112040_Linux-x86-64_1of7.zip [root@slb home]# unzip p13390677_112040_Linux-x86-64_2of7.zip   ……   十一、授权 oracle 用户操作 database 目录 [root@slb home]# chown -R oracle.oinstall database   十二、使用oracle用户进行数据库软件安装 三台机器同样操作 [root@slb home]# su – oracle [oracle@slb ~]$ cd /home/database [oracle@slb database]$ ./runInstaller 十三、安装oracle软件 将勾清除 报错点Yes 跳过软件更新,点击next 只安装软件,点击next 选择单实例数据库安装,点击next 默认选项,点击next 安装企业版软件,点击next 点击next 点击next 点击next 安装相应rpm包 [root@dataguard home]# rpm -ivh pdksh-5.2.14-30.x86_64.rpm --force –nodeps 点击check again 按钮 仍然报错,但实际已安装,oracle 软件抽抽了,勾选ignore all,点击next 点击yes Install 执行相应脚本 使用root用户登录linux [root@slb home]# /home/oracle/app/oraInventory/orainstRoot.sh [root@slb home]# /home/oracle/app/oracle/product/11.2.0/db_1/root.sh 点击ok Close 十四、使用dbca创建数据库 [root@slb home]# su – oracle [oracle@slb ~]$ dbca 点击Next 点击Next 点击next 点击next 勾取消,点击next 点击next 点击next 勾选归档模式,启用归档,点击next 点击next 选择字符集,点击next 点击next 点击finish 点击ok 点击exit   完成数据库安装 十五、安装监听 [oracle@slb ~]$ netca 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击next 点击change login 输入system密码,建库时创建的,点击ok 点击next 点击next 点击next 点击next 点击finish 十六、主库创建备库所用的standby control file 创建备份目录 [oracle@slb ~]$ mkdir -p /home/oracle/dg_backup   创建备库的控制文件 SQL> alter database create standby controlfile as '/home/oracle/dg_backup/const.bkp'; 十七、主库全库备份用以在备库还原恢复数据库 [oracle@slb ~]$ rman target / 备份脚本如下: run { allocate channel c1 type disk; allocate channel c2 type disk; backup as compressed backupset incremental level 0 database format '/home/oracle/dg_backup/full_%s_%t_%p.bkp'; sql 'alter system switch logfile'; backup archivelog all format '/home/oracle/dg_backup/arc_%s_%t_%p.bkp'; } 将备份集传递到dataguard端   十八、备库创建pfile文件 进入dbs目录 [oracle@dataguard dbs]$ cd /home/oracle/app/oracle/product/11.2.0/db_1/dbs/ 复制模板文件并重命名 [oracle@dataguard dbs]$ cp init.ora initdg.ora 十九、编辑pfile文件并创建相应目录 [oracle@dataguard dbs]$ vi initdg.ora 修改内容如下: db_name='slb' memory_target=500M processes = 150 audit_file_dest='/home/oracle/app/oracle/admin/dg/adump' audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest='/home/oracle/app/oracle/fast_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/home/oracle/app/oracle' dispatchers='(PROTOCOL=TCP) (SERVICE=DGXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1' # You may want to ensure that control files are created on separate physical # devices control_files = ('/home/oracle/app/oracle/oradata/dg/control01.ctl', '/home/oracle/app/oracle/oradata/dg/control02.ctl') compatible ='11.2.0.4.0' 创建相关目录 [oracle@dataguard ~]$ mkdir -p /home/oracle/app/oracle/admin/dg/adump [oracle@dataguard ~]$ mkdir -p /home/oracle/app/oracle/oradata/dg [oracle@dataguard ~]$ mkdir -p /home/oracle/app/oracle/fast_recovery_area   二十、将数据库启动到nomount状态并恢复standby controlfile 启动数据库到nomount状态 RMAN> startup nomount 恢复standby 控制文件 RMAN> restore controlfile to '/home/oracle/app/oracle/oradata/dg/control01.ctl' from '/home/oracle/dg_backup/const.bkp'; RMAN> restore controlfile to '/home/oracle/app/oracle/oradata/dg/control02.ctl' from '/home/oracle/dg_backup/const.bkp'; 二十一、将数据库启动到mount状态并加载备份集文件 将数据库启动到mount状态 RMAN> startup mount 加载备份及文件 RMAN> catalog start with '/home/oracle/dg_backup'; 二十二、将数据文件重命名并进行还原 创建相关脚本 Vi restore.sh # profile export ORACLE_SID=dg export ORACLE_BASE=/home/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1     if [ -f /tmp/rename.rman ];then     rm -rf /tmp/rename.rman; fi   sqlplus -S /nolog << EOF conn / as sysdba set trimspool on; set linesize 120; set pagesize 2000; set newpage 1; set heading off; set feedback off; set term off; spool /tmp/rename.rman; select 'run {' from dual; select 'set newname for datafile '|| file#||' to ''/home/oracle/app/oracle/oradata/dg/'||substr(name,instr(name,'/',-1)+1)||''';' as isql from v\$datafile; select 'set newname for tempfile '|| file#||' to ''/home/oracle/app/oracle/oradata/dg//'||substr(name,instr(name,'/',-1)+1)||''';' as isql from v\$tempfile; select 'restore database;' from dual; select 'switch datafile all;' from dual; select 'switch tempfile all;' from dual; select '}' from dual; spool off; EOF 为脚本授权执行权限 [oracle@dataguard ~]$ chmod +x restore.sh 二十三、运行restore脚本 [oracle@dataguard ~]$ ./restore.sh 此脚本输出在临时文件/tmp/rename.rman中,故在rman中运行此脚本以还原数据库 RMAN> @/tmp/rename.rman 完成还原 二十四、恢复数据库 RMAN> recover database; 二十五、创建spfile并重启数据库到mount状态 SQL> shutdown immediate SQL> create spfile from pfile; SQL> startup mount 二十六、配置主、备库静态监听 主库配置静态监听 进入监听目录 /home/oracle/app/oracle/product/11.2.0/db_1/network/admin   编辑listener.ora 文件 添加以下内容: SID_LIST_LISTENER=   (SID_LIST=     (SID_DESC=       (GLOBAL_DBNAME=slb)       (SID_NAME=slb)       (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1)     )   ) Reload 监听 [oracle@slb admin]$ lsnrctl reload 查看主库监听状态 [oracle@slb admin]$ lsnrctl status 主库静态监听配置完成   备库配置静态监听 进入监听目录 /home/oracle/app/oracle/product/11.2.0/db_1/network/admin   编辑listener.ora 文件 添加以下内容: SID_LIST_LISTENER=   (SID_LIST=     (SID_DESC=       (GLOBAL_DBNAME=dg)       (SID_NAME=dg)       (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1)     )   ) Reload 监听 [oracle@dataguard admin]$ lsnrctl reload 查看主库监听状态 备库静态监听配置完成   二十七、配置tnsnames.ora文件 主库备库同样配置 Vi tnsnames.ora 配置信息如下: SLB =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = slb.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = slb)     )   )   DG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = dataguard.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = dg)     )   ) 测试连通性 [oracle@slb admin]$ tnsping slb [oracle@slb admin]$ tnsping dg 二十八、备库配置数据库参数 SQL> alter system set db_unique_name='dg' scope=spfile; SQL> alter system set log_archive_config='DG_CONFIG=(slb,dg)' scope=spfile; SQL> alter system set fal_server='slb' scope=spfile; SQL> alter system set fal_client='dg' scope=spfile; SQL> alter system set standby_file_management=auto scope=spfile; SQL> alter system set db_file_name_convert='/home/oracle/app/oracle/oradata/slb','/home/oracle/app/oracle/oradata/dg' scope=spfile; SQL> alter system set log_file_name_convert='/home/oracle/app/oracle/oradata/slb','/home/oracle/app/oracle/oradata/dg' scope=spfile; 重启备库到mount状态,以使以上参数生效 SQL> shutdown immediate SQL> startup mount 二十九、主库配置数据库参数并将密码文件传输到备库上进行重命名 修改主库数据库参数 SQL> alter system set log_archive_config='DG_CONFIG=(slb,dg)'; SQL> alter system set log_archive_dest_2='SERVICE=dg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=dg'; 传输密码文件到备库上进行重命名 [oracle@slb dbs]$ scp orapwslb oracle@dataguard:/home/oracle/app/oracle/product/11.2.0/db_1/dbs/orapwdg 三十、备库创建standby logfile 由于主库日志是3组,故备库standby logfile group 需要4组,将主库的日志重建,大小均设为1G   SQL> alter database add standby logfile group 4 '/home/oracle/app/oracle/oradata/dg/rest01.log' size 1G; SQL> alter database add standby logfile group 5 '/home/oracle/app/oracle/oradata/dg/rest02.log' size 1G; SQL> alter database add standby logfile group 6 '/home/oracle/app/oracle/oradata/dg/rest03.log' size 1G; SQL> alter database add standby logfile group 7 '/home/oracle/app/oracle/oradata/dg/rest04.log' size 1G; 三十一、备库启动实时日志应用进程 SQL> alter database recover managed standby database using current logfile disconnect from session; 主库切换日志,验证备库是否应用 SQL> alter system switch logfile; 查看主备库告警日志 主库日志 备库日志   Oracle + dataguard 配置完成   三十二、配置cascade dataguard listener.ora和tnsnames.ora [oracle@cascade admin]$ vi listener.ora 更新listener.ora为 LISTENER =   (DESCRIPTION_LIST =     (DESCRIPTION =       (ADDRESS = (PROTOCOL = TCP)(HOST = cascade.slb.com)(PORT = 1521))       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))     )   )   ADR_BASE_LISTENER = /home/oracle/app/oracle   SID_LIST_LISTENER=   (SID_LIST=     (SID_DESC=       (GLOBAL_DBNAME=casdg)       (SID_NAME=casdg)       (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1)     )   ) Reload listener [oracle@cascade admin]$ lsnrctl reload 查看监听状态 [oracle@cascade admin]$ lsnrctl status 配置tnsnames.ora文件 DG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = dataguard.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = dg)     )   )   CASDG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = cascade.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = casdg)     )   )   三十三、修改dataguard tnsnames.ora文件 更改为以下内容: SLB =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = slb.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = slb)     )   )   DG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = dataguard.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = dg)     )   )   CASDG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = cascade.slb.com)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = casdg)     )   ) 三十四、将dataguard端的密码文件传递到cascade dataguard,并进行重命名操作 [oracle@dataguard dbs]$ scp orapwdg oracle@cascade:/home/oracle/app/oracle/product/11.2.0/db_1/dbs/orapwcasdg 三十五、在cascade 端还原恢复slb数据库 【见dataguard还原恢复slb数据库相关步骤】   三十六、cascade 端设置数据库系统参数 SQL> alter system set db_unique_name='casdg' scope=spfile; SQL> alter system set fal_server='dg' scope=spfile; SQL> alter system set fal_client='casdg' scope=spfile; SQL> alter system set standby_file_management=auto scope=spfile; SQL> alter system set db_file_name_convert='/home/oracle/app/oracle/oradata/dg','/home/oracle/app/oracle/oradata/casdg' scope=spfile; SQL> alter system set log_file_name_convert='/home/oracle/app/oracle/oradata/dg','/home/oracle/app/oracle/oradata/casdg' scope=spfile; 三十七、创建cascade 端standby logfile group并重启数据库 SQL> alter database add standby logfile group 4 '/home/oracle/app/oracle/oradata/casdg/redost01.log' size 1g; SQL> alter database add standby logfile group 5 '/home/oracle/app/oracle/oradata/casdg/redost02.log' size 1g; SQL> alter database add standby logfile group 6 '/home/oracle/app/oracle/oradata/casdg/redost03.log' size 1g; SQL> alter database add standby logfile group 7 '/home/oracle/app/oracle/oradata/casdg/redost04.log' size 1g; 重启数据库到mount状态 三十八、dataguard 端修改数据库参数 SQL> alter system set log_archive_config='DG_CONFIG=(slb,dg,casdg)'; SQL> alter system set log_archive_dest_2='SERVICE=casdg LGWR ASYNC VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=casdg'; 三十九、cascade 端开启日志应用进程并进行同步校验 SQL> alter database recover managed standby database disconnect from session; 主库切换日志 SQL> alter system switch logfile; 主库日志信息如下: Dataguard 库日志信息如下: Cascade 库日志信息如下: 相关oracle + dataguard + cascade dataguard 架构数据库已搭建完成 ...

    2017-08-31 Oracle相关 2326
  • CentOS Linux搭建SVN服务器

    Linux系统:CentOS 安装步骤如下: 1、yum install subversion 2、输入rpm -ql subversion查看安装位置,如下图: 可以看到 svn在bin目录下生成了几个二进制文件。 再输入/usr/bin/svnversion --version 就可以查看svn的版本,这样就说明svn安装成功,如下图: 3、创建svn版本库目录   mkdir -p /var/svn/svnrepos 4、创建版本库 svnadmin create /var/svn/svnrepos 执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件 5、进入conf目录(该svn版本库配置文件) authz文件是权限控制文件 passwd是帐号密码文件 svnserve.conf SVN服务配置文件 6、设置帐号密码 vi passwd 在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan 7、设置权限 vi authz 在末尾添加如下代码: [/] dan=rw w=r 意思是版本库的根目录dan对其有读写权限,w只有读权限。 8、修改svnserve.conf文件 vi svnserve.conf 打开下面的几个注释: anon-access = read #匿名用户可读 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /var/svn/svnrepos # 认证空间名,版本库所在目录 9、启动svn版本库 svnserve -d -r /var/svn/svnrepos 10、在Windows上测试 ...

    2017-08-29 CentOS相关 1859
  • 逻辑卷扩容

    查看磁盘组 [root@dataguard ~]# fdisk –l 查看当前有哪些逻辑卷 [root@dataguard ~]# pvs 创建物理卷(现将磁盘分区) [root@dataguard ~]# pvcreate /dev/sdb1 再次查看当前逻辑卷组情况 [root@dataguard ~]# pvs 确认已添加完成   查看逻辑卷组信息 [root@dataguard ~]# vgs 现当前/home目录大小为79g [root@dataguard ~]# df –h 把新加物理卷加入到卷组中 [root@dataguard ~]# vgextend vg_system /dev/sdb1 把新加的空间加到逻辑卷中 [root@dataguard ~]# lvextend -L +9.9G -r /dev/mapper/vg_system-LogVol03 激活相关更改信息 [root@dataguard ~]# resize2fs -f /dev/mapper/vg_system-LogVol03 查看磁盘空间情况 [root@dataguard ~]# df –h 扩容成功 ...

    2017-08-29 CentOS相关 1747
  • oracle rac 静默安装

    相关静默安装脚本在附件中,根据业务需求更改相关参数。 安装步骤.txt environment_config_rac1.txt environment_config_rac2.txt rac互信配置.txt grid_ins.txt grid.txt software_install.txt dbca.txt oracle.txt ...

    2017-08-29 Oracle相关 1977
  • Oracle Logminer技术

    一、相关概念   1、    Logminer是什么?   LogMiner是Oracle数据库提供的一个工具,它用于分析重做日志和归档日志所记载的事务操作。   Logminer是oracle从8i开始提供的用于分析重做日志信息的工具,它包括DBMS_LOGMNR和DBMS_LOGMNR_D两个package,后边的D是字典的意思。它既能分析redo log file,也能分析归档后的archive log file。在分析日志的过程中需要使用数据字典,一般先生成数据字典文件后使用,10g版本还可以使用在线数据字典。   Logminer也可以分析其它数据库的重做日志文件,但是必须使用重做日志所在数据库的数据字典,否则会出现无法识别的乱码。另外被分析数据库的操作系统平台最好和当前Logminer所在数据库的运行平台一样,且block size相同。   二、LogMiner的功能   LogMiner 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。   总的说来,LogMiner工具的主要用途有: 1、跟踪数据库的变化:可以离线的跟踪数据库的变化,而不会影响在线系统的性能。 2、回退数据库的变化:回退特定的变化数据,减少point-in-time recovery的执行。 3、优化和扩容计划:可通过分析日志文件中的数据以分析数据增长模式。 三、使用详解   1、    安装LogMiner   在使用LogMiner之前需要确认Oracle是否带有进行LogMiner分析包,如果不能确认,可以DBA身份登录系统,查看系统中是否存在运行LogMiner所需要的dbms_logmnr、dbms_logmnr_d包,如果没有需要安装LogMiner工具,必须首先要运行下面这样两个脚本: 1、$ORACLE_HOME/rdbms/admin/dbmslm.sql 2、$ORACLE_HOME/rdbms/admin/dbmslmd.sql 这两个脚本必须均以DBA用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。 创建完毕后将包括如下过程和视图: 这两个脚本必须均以DBA用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。 创建完毕后将包括如下过程和视图: 四、LogMiner 设置 创建 LogMiner 文件夹 [oracle@oracle ~]$ mkdir -p logmnr   设置 LogMiner 字典文件路径 创建数据字典文件 SQL> create directory utlfile as '/home/oracle/logmnr'; SQL> alter system set utl_file_dir='/home/oracle/logmnr' scope=spfile;   开启LogMiner 日志补充 SQL> alter database add supplemental log data;   重启数据库验证 --修改完毕后,关闭数据库,以mount方式启动 SQL> shutdown immediate   SQL> startup mount   查看 LogMiner 文件夹是否设置 SQL> show parameter utl_file_dir;   打开数据库 SQL> alter database open;   创建具有dba权限的logminer用户 SQL> create user tchen identified by tchen;   SQL> grant dba to tchen;   五、使用LogMiner 读取日志 使用 Logminer 读取在线日志 测试数据准备     创建数据字典文件 SQL> execute dbms_logmnr_d.build(dictionary_filename=>'dict.ora',dictionary_location=>'/home/oracle/logmnr');   确认当前处于联机状态的日志文件 加入解析在线日志文件 SQL> SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORDER BY first_change#;   加入需分析的日志文件 加入解析在线日志文件 SQL> begin dbms_logmnr.add_logfile(logfilename=>'/home/app/oracle/oradata/slb/redo03.log',options=>dbms_logmnr.NEW);  end;  /   使用 LogMiner 进行分析 SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logmnr/dict.ora');   查看分析结果 查询相关操作日志 SQL> SELECT sql_redo, sql_undo, seg_owner  FROM v$logmnr_contents      WHERE seg_name='AAA'      AND seg_owner='SLB'; ...

    2017-08-29 Oracle相关 1942
  • Oracle 手工建库

    一、创建数据库参数文件 initslb.ora 进入 oracle 家目录下的 dbs 目录,并复制init.ora 文件,复制后的文件名命名为initslb.ora   [oracle@build ~]$ cd /home/app/oracle/product/11.2.0/db_1/dbs   [oracle@build dbs]$ cp init.ora initslb.ora   修改参数文件中的参数 [oracle@build dbs]$ vi initslb.ora   修改后内容如下:   此处由于是测试环境,内存只设置了500M 二、将数据库启动到 nomount 状态   创建参数文件中涉及的相关目录 [oracle@build ~]$ mkdir -p /home/app/oracle/admin/slb/adump [oracle@build ~]$ mkdir -p /home/app/oracle/fast_recovery_area [oracle@build ~]$ mkdir -p /home/app/oracle/oradata/slb 创建spfile并启动数据库到 nomount 状态 SQL> create spfile from pfile;   SQL> startup nomount   三、创建数据库密码文件 [oracle@build dbs]$ orapwd file=orapwslb password=oracle   四、创建建库脚本   [oracle@build dbs]$ vi createdb.sql   CREATE DATABASE slb    USER SYS IDENTIFIED BY oracle    USER SYSTEM IDENTIFIED BY oracle    LOGFILE GROUP 1 ('/home/app/oracle/oradata/slb/redo01b.log') SIZE 100M BLOCKSIZE 512,            GROUP 2 ('/home/app/oracle/oradata/slb/redo02b.log') SIZE 100M BLOCKSIZE 512,            GROUP 3 ('/home/app/oracle/oradata/slb/redo03b.log') SIZE 100M BLOCKSIZE 512    MAXLOGFILES 10    MAXLOGMEMBERS 5    MAXLOGHISTORY 1    MAXDATAFILES 1000    CHARACTER SET AL32UTF8    NATIONAL CHARACTER SET AL16UTF16    EXTENT MANAGEMENT LOCAL    DATAFILE '/home/app/oracle/oradata/slb/system01.dbf' SIZE 325M REUSE    SYSAUX DATAFILE '/home/app/oracle/oradata/slb/sysaux01.dbf' SIZE 325M REUSE    DEFAULT TABLESPACE users       DATAFILE '/home/app/oracle/oradata/slb/users01.dbf'       SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED    DEFAULT TEMPORARY TABLESPACE tempts1       TEMPFILE '/home/app/oracle/oradata/slb/temp01.dbf'       SIZE 200M REUSE    UNDO TABLESPACE undotbs       DATAFILE '/home/app/oracle/oradata/slb/undotbs01.dbf'       SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;     由于是测试环境,所以相关空间大小设置偏小   执行建库脚本   SQL> @createdb.sql 五、运行相关脚本 SQL> conn / as sysdba   SQL> @?/rdbms/admin/catalog.sql SQL> @?/rdbms/admin/catproc.sql SQL> conn system/oracle   SQL> @?/sqlplus/admin/pupbld.sql   查看数据库实例状态及数据库名称   【注】 建库完成后需要建立监听并启动监听,同时需要配置tnsnames解析。同时需要将数据库置为归档模式。 ...

    2017-08-29 Oracle相关 2103
  • 操作系统共享内存不足导致oracle启动时报错(RMAN-04014)

    由于操作系统共享内存不足导致oracle启动时报错,报错信息如下: 查看当前操作系统 /dev/shm 共享内存的大小 查看数据库参数文件中配置的 memory_target 参数值 共享内存小于数据库的 memory_target 大致意思就是说 共享内存 /etc/shm 一定要大于 memory_target 的值,若小于 memory_target 的值,则当数据库内存使用出现高峰期时可能会影响操作系统的运行,所以这边共享内存 /etc/shm 一定要大于 memory_target 的值 现在需要扩大 /etc/shm 的大小 Vi /etc/fstab 将共享内存设置为3G 重新挂载 /etc/shm,使其生效 mount -o remount /dev/shm 再次查看共享内存信息 配置更改已生效   重新挂载数据库 可正常启动 ...

    2017-08-22 Oracle相关 2057
  • Oracle 用户免密登录数据库

    相关操作皆在客户端进行 1、配置网络解析tnsnames.ora 在 tnsnames.ora 文件中添加以下内容 slbrac =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.172.192)(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = slb)     )   ) 尝试连接 slb 数据库 [oracle@dg admin]$ tnsping slbrac 2、创建 wallet 目录,目录名称可自取,此处就叫 wallet [oracle@dg db_1]$ mkdir -p wallet 3、创建 wallet [oracle@dg wallet]$ mkstore -wrl /home/app/oracle/product/11.2.0/db_1/wallet –create 提示输入密码,密码复杂性要保证,大小写、数字、符号结合使用 4、启动 wallet 并指定 wallet 位置 配置 sqlnet.ora 文件 添加以下内容 WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/home/app/oracle/product/11.2.0/db_1/wallet))) SQLNET.WALLET_OVERRIDE=TRUE 5、增加需要登录的网络服务名、用户以及密码到 wallet 中 此处添加slb 用户到 wallet 中 [oracle@dg admin]$ mkstore -wrl /home/app/oracle/product/11.2.0/db_1/wallet -createCredential slbrac slb slb 提示输入密码,此密码是 wallet 的密码 6、测试 slb 用户免密登录是否成功 [oracle@dg admin]$ sqlplus /@slbrac 查看当前用户 SQL> show user; 免密登录成功 ...

    2017-08-22 Oracle相关 2258
  • 在 CentOS 上安装 zookeeper-3.4.9 服务

    1.下载 zookeeper-3.4.9.tar.gz 至 /home目录下:     wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 2、解压缩 zookeeper-3.4.9.tar.gz:     tar -zxvf zookeeper-3.4.9.tar.gz 3.重命名文件夹 mv zookeeper-3.4.9 zookeeper 4、进入到 /zookeeper/conf 目录中:     cd zookeeper/conf/   5、复制 zoo_sample.cfg 文件的并命名为为 zoo.cfg:     cp zoo_sample.cfg zoo.cfg   6、用 vim 打开 zoo.cfg 文件并修改其内容为如下:     # The number of milliseconds of each tick       # zookeeper 定义的基准时间间隔,单位:毫秒     tickTime=2000       # The number of ticks that the initial      # synchronization phase can take     initLimit=10     # The number of ticks that can pass between      # sending a request and getting an acknowledgement     syncLimit=5     # the directory where the snapshot is stored.     # do not use /tmp for storage, /tmp here is just      # example sakes.     # dataDir=/tmp/zookeeper       # 数据文件夹     dataDir=/home/zookeeper/data       # 日志文件夹     dataLogDir=/home/zookeeper/logs       # the port at which the clients will connect     # 客户端访问 zookeeper 的端口号     clientPort=2181       # the maximum number of client connections.     # increase this if you need to handle more clients     #maxClientCnxns=60     #     # Be sure to read the maintenance section of the      # administrator guide before turning on autopurge.     #     # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance     #     # The number of snapshots to retain in dataDir     #autopurge.snapRetainCount=3     # Purge task interval in hours     # Set to "0" to disable auto purge feature     #autopurge.purgeInterval=1   7、保存并关闭 zoo.cfg 文件:      8、进入到 /home/zookeeper/bin 目录中:     cd /home/zookeeper/bin   9、用 vim 打开 /etc/ 目录下的配置文件 profile:     vim /etc/profile     并在其尾部追加如下内容:       # idea - zookeeper-3.4.9 config start - 2016-09-08       export ZOOKEEPER_HOME=/home/zookeeper/     export PATH=$ZOOKEEPER_HOME/bin:$PATH     export PATH       # idea - zookeeper-3.4.9 config start - 2016-09-08   10、使 /etc/ 目录下的 profile 文件即可生效:     source /etc/profile   11、启动 zookeeper 服务:     zkServer.sh start     如打印如下信息则表明启动成功:     ZooKeeper JMX enabled by default     Using config: /home/zookeeper/bin/../conf/zoo.cfg     Starting zookeeper ... STARTED   12、查询 zookeeper 状态:     zkServer.sh status   13、关闭 zookeeper 服务:     zkServer.sh stop     如打印如下信息则表明成功关闭:     ZooKeeper JMX enabled by default     Using config: /home/zookeeper/bin/../conf/zoo.cfg     Stopping zookeeper ... STOPPED   14、重启 zookeeper 服务:     zkServer.sh restart     如打印如下信息则表明重启成功:     ZooKeeper JMX enabled by default     Using config: /home/zookeeper/bin/../conf/zoo.cfg     ZooKeeper JMX enabled by default     Using config: /home/zookeeper/bin/../conf/zoo.cfg     Stopping zookeeper ... STOPPED     ZooKeeper JMX enabled by default     Using config: /home/zookeeper/bin/../conf/zoo.cfg     Starting zookeeper ... STARTED ...

    2017-08-18 CentOS相关 2127
  • Oracle 升级方案

    一、    环境参数 二、    升级软件包 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip 三、    升级步骤 1、 解压升级所用软件包 [root@upgrade oracle]# unzip p13390677_112040_Linux-x86-64_1of7.zip [root@upgrade oracle]# unzip p13390677_112040_Linux-x86-64_2of7.zip 解压后生成 database 文件夹 2、授权 oracle 用户拥有对 database 目录的读写权限 [root@upgrade oracle]# chown -R oracle.oinstall database 3、 创建升级软件所用目录 [root@upgrade oracle]# mkdir -p /home/app/oracle/product/11.2.0/db_1 4、 使用 oracle 目录对oracle 数据库进行升级操作 [root@upgrade oracle]# su - oracle [oracle@upgrade ~]$ cd /home/oracle/database/ 5、 临时设置环境变量 DISPLAY 以及 LANG [oracle@upgrade database]$ export DISPLAY=10.5.172.3:0.0 [oracle@upgrade database]$ export LANG=en_US.UTF-8 6、 创建新的数据库目录以防止数据库升级时报错 当前数据库产品目录为 [oracle@upgrade database]$ echo $ORACLE_HOME 创建新的数据库产品目录 [oracle@upgrade database]$ mkdir -p /home/app/oracle/product/11.2.0.4/db_1 7、 运行 runInstall 进行数据库升级 [oracle@upgrade database]$ ./runInstaller 将安全更新的勾取消点击Next ,报错忽略,点击 yes 跳过软件更新,点击 Next 此次是做升级数据库操作,且相关数据库已存在,所以选择第三项,点击 Next 选择数据库相关字符集,默认即可,点击 Next 由于原先安装时是用的企业版的数据库,此次也选用企业版升级,点击Next 此处默认是使用1号版本的目录,使用升级前创建的目录作为升级后数据库的家目录 点击 Next 相关用户组,选用默认即可,点击 Next 升级前检查 此处无任何异常,如有报错,可根据具体报错信息进行异常处理,点击 Install 开始升级 可点开 Detail 按钮查看当前升级的进度 使用 root 账号运行相关脚本 运行完成后点击 ok 此前所做的是升级数据库软件,并非数据库,接下来才是真正升级数据库 此处先升级监听相关的内容,点击 Next 配置完监听马上就进行数据库升级,点击 Next 确认所要升级的数据库以及相关目录,点击 Next 获取数据库相关信息 勾选升级时间戳以及时区的相关数据,防止相关数据失效,同时,勾选备份数据库,以防数据库升级失败做回滚用 在升级过程中不要移动相关数据文件原来的位置,以防意外报错 相关闪回区的设置 此处数据库并未使用 EM 工具,故此项可取消 相关的 summary 信息,点击 Finish 开始相关操作 升级完成,点击 ok 升级结果 1、 设置环境变量,将相关目录进行更正 事更改后的配置文件生效 [oracle@upgrade ~]$ source .bash_profile 登录数据库进行验证 SQL> select * from v$version; 相关版本升级正常 SQL> select userenv('language') from dual; 相关字符集升级正常 SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 相关时区升级正常,此处与操作系统一致,测试机未设置相应时区 注意:核对相关监听host以及端口是否与之前相同,如不同,需要进行修改 查看相应数据表数据是否正常,需要开发验证,如正常,则 点击 close ,完成此次升级 若数据有异常,则点击 restore database,还原升级。 回滚后需要更改相关环境变量回原始状态 使变量生效 [oracle@upgrade ~]$ source .bash_profile SQL> select * from v$version; 版本已还原 SQL> select userenv('language') from dual; 字符集已还原 SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 时区已还原 检查监听配置 数据还原情况需要开发配合完成 ...

    2017-08-17 Oracle相关 2286
  • Redis集群安装部署

    cd /home wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz yum install gcc-c++ -y yum install -y tcl cd redis-stable make cp redis-server /usr/local/bin/ cp redis-cli /usr/local/bin/ mkdir /etc/redis mkdir /var/redis mkdir /var/redis/log mkdir /var/redis/run cp redis.conf /etc/redis/ 6379 6380 A机(10.7.10.214) 6379 6380 B机 (10.7.10.215)6379 6380 C机(10.7.10.216) yum install ruby yum install rubygems gem install redis cd /etc/redis mkdir 6379 6380 cp /home/redis-stable/redis.conf ./6379/ cp /home/redis-stable/redis.conf ./6380/ vi 相应配置文件 修改: bind 0.0.0.0 daemonize    yes                          //redis后台运行 pidfile  /var/redis/run/redis_6379.pid          //pidfile文件对应6379,6380 logfile /var/redis/log/redis_6379.log    //logfile对应6379,6380 port  6379                                 //端口6379,6380 cluster-enabled  yes                      //开启集群  把注释#去掉 cluster-config-file  /etc/redis/nodes-6379.conf      //集群的配置  配置文件首次启动自动生成 6379,6380 cluster-node-timeout  5000                //请求超时  设置5秒够了 appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 protected-mode no redis-server  /etc/redis/6379/redis.conf redis-server  /etc/redis/6380/redis.conf cp /home/redis-stable/src/redis-trib.rb /etc/redis/ cd /etc/redis/ ./redis-trib.rb create --replicas 1 10.7.10.214:6379 10.7.10.214:6380 10.7.10.215:6379 10.7.10.215:6380 10.7.10.216:6379 10.7.10.216:6380 最后IPtables表单加入 redis-cli -c -p 6379 cluster nodes #看集群点 redis-cli -h 10.7.10.214 -p 6379 shutdown  #关闭 ./redis-trib.rb check 10.7.10.214:6379 #查看集群 redis-cli -c -h 10.7.10.214 -p 6379 #链接 ./redis-trib.rb reshard 10.7.10.214:6379 #移动哈希值 ./redis-trib.rb del-node 10.7.10.214:6379  XXXXXXXXXXXXXXXXXXXXXXXX (ID) #删除节点 redis-cli -c -p 6379 cluster replicate (ID) #转移成从节点   ...

    2017-08-07 CentOS相关 2006
  • iptables只允许指定ip访问本机的指定端口

    限制ip,要提高警惕,以免把自己给挡在防火墙外面了。   转载请注明出处:雨剑电脑 http://www.expert58.com   只允许指定的ip访问本机的指定端口1521: 允许的的ip:192.168.1.123, 192.168.1.124, 192.168.1.100,其他ip都禁止访问。   切换到root用户 1、在tcp协议中,禁止所有的ip访问本机的1521端口。 iptables -I INPUT -p tcp --dport 1521 -j DROP   2、允许192.168.1.123访问本机的1521端口 iptables -I INPUT -s 192.168.1.123 -p tcp --dport 1521 -j ACCEPT   3、允许192.168.1.124访问本机的1521端口 iptables -I INPUT -s 192.168.1.124 -p tcp --dport 1521 -j ACCEPT   4、允许192.168.1.100访问本机的1521端口 iptables -I INPUT -s 192.168.1.100 -p tcp --dport 1521 -j ACCEPT   注意以上4条命令的顺序不能错。 以上是临时设置。 2.然后保存iptables # service iptables save 3.重启防火墙 #service iptables restart 在此说一下关于启动和关闭防火墙的命令: 1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables start 关闭: service iptables stop  ...

    2017-08-02 CentOS相关 2124
  • 如何修改ssh默认端口

    修改的是 /etc/ssh/sshd_config 文件   [root@linux ~]# vi /etc/ssh/sshd_config #       $OpenBSD: sshd_config,v 1.69 2004/05/23 23:59:53 dtucker Exp $ # This is the sshd server system-wide configuration file.  See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented.  Uncommented options change a # default value. Port 8284               //以前这个前面是有 # 号的,而且默认是 22 ,修改一下就ok了 #Protocol 2,1 #ListenAddress 0.0.0.0 #ListenAddress :: # HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key 重起ssh服务,修改端口才生效 [root@Linux ~]# service sshd restart Stopping sshd:                                             [  OK  ] Starting sshd:                                             [  OK  ] [root@linux ~]# 为了检验是否正确,可以使用 netstat -an 命令查看一下。 ...

    2017-08-02 CentOS相关 1906
  • Nginx安装步骤

    1. 安装pcre,解压安装包 cd /home 安装目录 tar -zxvf pcre-8.32.tar.gz 2. 编译并安装pcre cd pcre-8.32 ./configure --prefix=/home/pcre/ make && make install 3. 安装openssl,解压安装包 cd .. tar -zxvf openssl-1.0.2l.tar.gz 4. 编译并安装openssl cd openssl-1.0.2l ./config --prefix=/home/openssl make && make install 5. 校验openssl安装 /home/openssl/bin/openssl version -a 6. 添加www用户和组 groupadd www useradd -g www www 7. 解压nginx安装包 cd /home 安装目录 tar -zxvf nginx-1.13.3.tar.gz 8. 配置zlib cd /home tar -zxvf zlib-1.2.5.tar.gz cd zlib-1.2.5 ./configure make && make install 9. 配置nginx安装 按照自己目录修改地址,一起执行,一行命令 cd /home/nginx-1.13.3 ./configure --user=www --group=www --prefix=/home/nginx --conf-path=/home/nginx/conf/nginx.conf --with-openssl=/home/openssl-1.0.2l --with-pcre=/home/pcre-8.32  --with-http_ssl_module --with-http_stub_status_module --with-threads 10. 编译并安装nginx make && make install 11. 校验nginx安装 /home/nginx/sbin/nginx -V 检查路径 ...

    2017-07-31 Nginx相关 1966
  • NFS 服务固定端口

    前几天学习了下 NFS 服务配置,但之前没有使用固定 NFS 端口的方法,之后只能关闭防火墙 实现NFS 配置,今天学习了下 NFS 服务固定端口的方法。 一 环境信息 NFS SERVER 192.168.1.26 NFS CLIENT 192.168.1.25 二 配置 NFS 服务端 --2.1 修改 /etc/exports  /database/pgdata1/shared     192.168.1.25(rw,anonuid=500,anongid=500) --2.2 显示共享目录信息   [root@pgb sysconfig]# exportfs -v /database/pgdata1/shared                 192.168.1.25(rw,wdelay,root_squash,no_subtree_check,anonuid=500,anongid=500)   常规的一些NFS服务设置我们已经了解了。那么对于端口问题,很多朋友并不是很清楚。这里我们就来详细介绍一下端口的分配。portmapper在NFS服务启动的时候给每一个NFS服务分配了一个动态的端口,如何才能让NFS client在使用RHEL/Fedora/CentOS linux iptales防火墙时可以正常使用NFS服务呢? 需要打开下面的端口 a] TCP/UDP 111 – RPC 4.0 portmapper b] TCP/UDP 2049 – NFSD (nfs server) c] Portmap 静态端口—在/etc/sysconfig/nfs文件中定义的一系列TCP/UDP端口 按nfs默认启动的话,很多服务如rpc.mounted,端口都不是固定的,这样不方便在防火墙上进行管理,所以我们需要把每个启动的服务的端口固定下来,需要做的就是编辑/etc/sysconfig/nfs文件. # vi /etc/sysconfig/nfs  更改下面的配置,将端口分配为一个没被占用的 # TCP port rpc.lockd should listen on.   LOCKD_TCPPORT=lockd-port-number   # UDP port rpc.lockd should listen on.   LOCKD_UDPPORT=lockd-port-number   # Port rpc.mountd should listen on.   MOUNTD_PORT=mountd-port-number   # Port rquotad should listen on.   RQUOTAD_PORT=rquotad-port-number   # Port rpc.statd should listen on.   STATD_PORT=statd-port-number   # Outgoing port statd should used. The default is port is random   STATD_OUTGOING_PORT=statd-outgoing-port-numbe  下面是我用于测试的机器上修改的内容 RQUOTAD_PORT=6005  LOCKD_TCPPORT=6004  LOCKD_UDPPORT=6004  MOUNTD_PORT=6002  STATD_PORT=6003  STATD_OUTGOING_PORT=6006  保存退出后就可以重启nfs服务,portmap服务 # service portmap restart   # service nfs restart  下面就是iptables方面的配置了,蚊子这里因为是学习,所以设置的比较严格,下面先说下我的环境 1,两台Server:192.168.211.128(nfs-server),192.168.211.129(nfs-client) 2,nfs-server上只允许nfs,ssh的访问,其余都拒绝 下面是我的iptables的配置 iptables -A INPUT -p tcp -s 192.168.211.0/24 –dport 22 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT   iptables -A INPUT -i lo -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6002 -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6003 -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6004 -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6005 -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6006 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6002 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6003 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6004 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6005 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6006 -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 111 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 111 -j ACCEPT   iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 2049 -j ACCEPT   iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 2049 -j ACCEPT   iptables -P INPUT DROP  第一条就是允许连接ssh 第二条作用是在启动nfs的时候,nfs-server会通过本地回环接口与portmap进行会话,所以需要允许 最后一条是设置input链的默认策略为drop 中间的就是允许nfs-server相应的端口了 如果在配置iptables的时候有问题可以使用service iptables restart重置,如果没有问题就可以使用service iptables save保存相应的配置,保存的配置文件放在/etc/sysconfig/iptables里.      三 配置 NFS 客户端   --3.1 测试:mount 目录  [root@pg1 ~]# mkdir -p /mnt/pgb/shared [root@pg1 /]# mount -t nfs 192.168.1.26:/database/shared /mnt/pgb/shared/ --3.2 查看目录信息  [postgres@pg1 pgb]$ df -hv Filesystem            Size  Used Avail Use% Mounted on /dev/hda1              14G   11G  2.1G  85% / tmpfs                 217M     0  217M   0% /dev/shm /dev/hdb3             1.9G   35M  1.8G   2% /archive/pga none                  217M  104K  217M   1% /var/lib/xenstored 192.168.1.26:/database/pgdata1/shared                       2.0G   34M  1.9G   2% /mnt/pgb/shared                            备注:NFS 配置成功。            --3.3 设置开机自动挂载 修改 /etc/fstab 文件,增加以下行 192.168.1.26:/database/pgdata1/shared /mnt/pgb/shared   nfs     defaults,rw   0 0    ...

    2017-07-31 CentOS相关 2174
  • centos使用mount + nfs 远程共享存储

    服务端安装nfs 1、使用yum安装nfs yum install nfs-utils nfs-utils-lib -y 如果安装过程出现这样的错误: 得先安装lvm2 yum install -y lvm2   2、编辑文件exports vim /etc/exports 加入代码,如: /home 192.168.1.100(rw,sync,no_root_squash,no_subtree_check) #参数详解 ro #只读共享 rw #读写共享 sync #同步写操作 async #异步写操作 wdelay #延迟写操作 root_squash #屏蔽远程root权限 no_root_squash #不屏蔽远程root权限 all_squash #屏蔽所有远程用户的权限 no_subtree_check #此选项可防止子树检查   3、运行导出 exportfs -a  可以使用-r刷新 exportfs -r   4、开启端口 /sbin/iptables -I INPUT -p tcp -s 192.168.1.100 --dport 111 -j ACCEPT /sbin/iptables -I INPUT -p tcp -s 192.168.1.100 --dport 2049 -j ACCEPT /sbin/iptables -I INPUT -p tcp -s 192.168.1.100 --dport 30001 -j ACCEPT /sbin/iptables -I INPUT -p tcp -s 192.168.1.100 --dport 30002 -j ACCEPT /sbin/iptables -I INPUT -p tcp -s 192.168.1.100 --dport 30003 -j ACCEPT /sbin/iptables -I INPUT -p tcp -s 192.168.1.100 --dport 30004 -j ACCEPT   5、启动nfs和rpc服务 service nfs-server start service rpcbind start   客户端安装nfs 1、安装nfs yum install nfs-utils -y   2、使用mount远程共享 mount -t nfs 192.168.1.100:/home /home   到此完成。     如果要把home链接到别的目录,可以使用例如如下命令: ln -s /home /root/home   取消挂载可以使用命令: umount -t nfs 192.168.1.100:/home   挂载开机启动可以使用如下方式 1、编辑 vim /etc/fstab   2、加入代码 192.168.1.100:/home /home nfs defaults 0 0   查看NFS共享,可以使用命令: showmount -e 192.168.1.100 ...

    2017-07-31 未分类 1969
  • Linux(CentOS)下,下载安装Nginx并配置自启动

    1、准备工作 选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。 Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE;Nginx中的Gzip用到zlib; 用命令“# gcc”,查看gcc是否安装;如果出现“gcc: no input files”信息,说明已经安装好了。 否则,就需要用命令“# yum install gcc”,进行安装了!一路可能需要多次输入y,进行确认。 安装好后,可以再用命令“#gcc”测试,或者用命令“# gcc -v”查看其版本号。 同样方法,用如下命令安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思): # yum install -y pcre pcre-devel   # yum install -y zlib zlib-devel   # yum install -y openssl openssl-devel   2、下载并安装 创建目录(nginx-src)并进去;然后,从官方地址(http://nginx.org/)下载,解压,配置,编译,安装: # mkdir nginx-src && cd nginx-src   # wget http://nginx.org/download/nginx-1.7.3.tar.gz   # tar xzf nginx-1.7.3.tar.gz    # cd nginx-1.7.3   # ./configure   # make   # make install   # whereis nginx   nginx: /usr/local/nginx   默认的安装路径为:/usr/local/nginx;跳转到其目录下sbin路径下,便可以启动或停止它了。 # ./nginx -h   nginx version: nginx/1.7.3   Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]   Options:     -?,-h         : this help     -v            : show version and exit     -V            : show version and configure options then exit     -t            : test configuration and exit     -q            : suppress non-error messages during configuration testing     -s signal     : send signal to a master process: stop, quit, reopen, reload     -p prefix     : set prefix path (default: /usr/local/nginx/)     -c filename   : set configuration file (default: conf/nginx.conf)     -g directives : set global directives out of configuration file   启动:nginx 停止:nginx -s stop 3、添加到系统服务 使用命令“# vi /etc/init.d/nginx”,打开编辑器,输入如下内容: #!/bin/sh   # chkconfig: 2345 85 15   # Startup script for the nginx Web Server   # description: nginx is a World Wide Web server.    # It is used to serve HTML files and CGI.   # processname: nginx   # pidfile: /usr/local/nginx/logs/nginx.pid   # config: /usr/local/nginx/conf/nginx.conf      PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin   DESC="nginx deamon"   NAME=nginx   DAEMON=/usr/local/nginx/sbin/$NAME   SCRIPTNAME=/etc/init.d/$NAME      test -x $DAEMON || exit 0      d_start(){     $DAEMON || echo -n "already running"   }      d_stop(){     $DAEMON -s quit || echo -n "not running"   }         d_reload(){     $DAEMON -s reload || echo -n "can not reload"   }      case "$1" in   start)     echo -n "Starting DESC:NAME"     d_start     echo "."   ;;   stop)     echo -n "Stopping DESC:NAME"     d_stop     echo "."   ;;   reload)     echo -n "Reloading $DESC conf..."     d_reload     echo "reload ."   ;;   restart)     echo -n "Restarting DESC:NAME"     d_stop     sleep 2     d_start     echo "."   ;;   *)     echo "Usage: $ScRIPTNAME {start|stop|reload|restart}" >&2     exit 3   ;;   esac      exit 0   保存退出后,再使用下面的命令,使其可执行;然后,添加配置并查看。 可用chkconfig修改其值,也可用ntsysv工具改变是否自启动。 # chmod +x /etc/init.d/nginx   # chkconfig --add nginx   # chkconfig nginx on/off   # chkconfig --list nginx   nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off ...

    2017-07-31 未分类 1991
  • CentOS 安装 Maven

    1、官网找到最新版的安装包: http://maven.apache.org/download.cgi 拷贝文件名为 *-bin.tar.gz 的链接地址; 2、下载 # wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz 3、解压 # tar xvf apache-maven-3.3.3-bin.tar.gz 如果需要:移动到其他目录 建立软连接:# ln -s apache-maven-3.3.3 maven 4、配置环境变量 # vi /etc/profile export M2_HOME=/usr/local/apache-maven export PATH=$PATH:$M2_HOME/bin # source /etc/profile 5、验证是否安装成功 # mvn -version Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00) Maven home: /opt/app/maven Java version: 1.8.0_51, vendor: Oracle Corporation Java home: /usr/java/jdk1.8.0_51/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix" ...

    2017-07-26 未分类 1931
  • jira7.2安装、中文及破解

    上一篇文章我们介绍了有关conflucence的安装与破解,这篇文章我们再来介绍下有关jira的相关安装与破解。 jira是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪(bug管理)、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 现在我们来介绍,有关jira安装、中文及破解。 一、环境准备 jira7.2的运行是依赖java环境的,也就是说需要安装jdk并且要是1.8以上版本,如下: java -version 除此之外,我们还需要为jira创建对应的数据库、用户名和密码,如下: mysql -uroot -p'kans123QWE' -e "create database jira default character set utf8 collate utf8_bin;grant all on jira.* to 'jira@’%' identified by 'jirapasswd';" 以上环境准备完毕后,我们现在开始下载并安装jira。 二、下载jira及其破解包 jira有很多版本,目前jira最新版为7.2.2,本篇文章就是以7.2.2版本为例进行讲解。 下载jira7.2.2,如下: https://www.atlassian.com/software/jira/download wget https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.2.2-x64.bin jira安装包下载完毕后,我们再来下载破解包,连接如下: http://down.51cto.com/data/2246858 三、安装jira 现在开始安装jira7.2.2,使用如下命令: chmod 755 atlassian-jira-software-7.2.2-x64.bin ./atlassian-jira-software-7.2.2-x64.bin 通过上图,我们可以很明显的看出jira安装到了/opt/atlassian/jira和/var/atlassian/application-data/jira目录下,并且jira监听的端口是8080。 jira的主要配置文件,存放在/opt/atlassian/jira/conf/server.xml文件中,如下: vim /opt/atlassian/jira/conf/server.xml 现在我们先关闭jira,然后把破解包里面的atlassian-extras-3.1.2.jar和mysql-connector-java-5.1.39-bin.jar两个文件复制到/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/目录下。 其中atlassian-extras-3.1.2.jar是用来替换原来的atlassian-extras-3.1.2.jar文件,用作破解jira系统的。 而mysql-connector-java-5.1.39-bin.jar是用来连接mysql数据库的驱动软件包。 现在再次启动jira,然后我们现在来访问如下地址: jira.ilanni.com:8080 访问以上地址后,系统会自动跳转到jira的默认配置页面,在此我们选择自定义配置,如下: 在数据库方面,我们选择mysql数据库即可,如下: 填写完毕后相关的数据库地址、用户和密码后,就可以点击next按钮,如下: 数据库初始化完毕后,我们来查看下jira数据库的内容,如下: 而连接数据库的配置是/var/atlassian/application-data/jira/dbconfig.xml,如下: cat /var/atlassian/application-data/jira/dbconfig.xml 下面的配置就比较简单了,自定义也可以,默认也可以。 注意:上图中的Mode中,我们在此使用的是Private模式,在这个模式下,用户的创建需要由管理员创建。而在Public模式下,用户是可以自己进行注册。 下面这个页面是需要我们输入jira的license,如下: 注意:上图中的Server ID:BRWS-OZIC-9BTE-YI9F 因为我们没有正式的license,所以需要我们在jira官网注册一个账号,然后利用这个账号申请一个可以试用30天的license,如下: 注意:这个图中的Server ID就是我们上面刚刚截图的Server ID。 通过上图,我们可以很明显的看到试用license已经申请成功。下面开始创建管理员账户,如下: 创建第一个项目,如下: 到此jira7.2.2软件的安装就已经基本快结束了,下面我们来介绍jira的破解和中文。 四、破解jira 破解jira,其实我们已经破解了在第3.1章节复制atlassian-extras-3.1.2.jar到/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/目录下时,再次启动jira时就已经破解了。 我们现在登陆到jira中查看授权信息,如下: 通过上图,我们可以很明显的看到jira我们可以使用到2033年,而目前是2016年。 为了最直观的看出破解前后的版本情况,在此我截图未破解之前的授权信息,如下: 通过上图,我们可以很清晰的看到试用的license只有30天。 五、中文jira jira中文语言包,我们可以到jira的官网进行下载。 https://translations.atlassian.com/dashboard/download?lang=zh_CN#/JIRA Core/7.2.1 中文软件包下载完毕后,我们需要登陆到jira系统找到Add-ons--Manage add-ons--upload add-on,如下: 中文软件包安装完毕后,我们现在配置jira,如下: 通过上图,我们可以很明显的看出,jira已经被中文语言了。 到此有关jira的安装、中文与破解就已经全部结束。 ...

    2017-07-24 未分类 2103
  • CentOS6.5安装与配置Mysql数据库

    一、mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的。 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。 在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大家可以根据自己的操作系统去下载对应的数据库文件,目前最新的版本是5.6.10了。 在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务、jar包都给我们安装好,所以省去了很多不必要的麻烦!!! 二、卸载掉原有mysql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库 [root@xiaoluo ~]# rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 [root@xiaoluo ~]# rpm -e mysql  // 普通删除模式 [root@xiaoluo ~]# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!! 三、通过yum来进行mysql的安装 我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本: [root@xiaoluo ~]# yum list | grep mysql 就可以得到yum服务器上mysql数据库的可下载版本信息:     然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)   [root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve   在等待了一番时间后,yum会帮我们选择好安装mysql数据库所需要的软件以及其它附属的一些软件     我们发现,通过yum方式安装mysql数据库省去了很多没必要的麻烦,当出现下面的结果时,就代表mysql数据库安装成功了     此时我们可以通过如下命令,查看刚安装好的mysql-server的版本   [root@xiaoluo ~]# rpm -qi mysql-server   我们安装的mysql-server并不是最新版本,如果你想尝试最新版本,那就去mysql官网下载rpm包安装就行了,至此我们的mysql数据库已经安装完成了。 四、mysql数据库的初始化及相关配置 我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。 注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如: [root@xiaoluo ~]# service mysqld start 初始化 MySQL 数据库: WARNING: The host 'xiaoluo' could not be looked up with resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges ! Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h xiaoluo password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [确定] 正在启动 mysqld: [确定]   这时我们会看到第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了,如:   [root@xiaoluo ~]# service mysqld restart 停止 mysqld: [确定] 正在启动 mysqld: [确定]   我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过  chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如:   [root@xiaoluo ~]# chkconfig --list | grep mysqld mysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭   我们发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了   [root@xiaoluo ~]# chkconfig mysqld on [root@xiaoluo ~]# chkconfig --list | grep mysql mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭   mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :   /usr/bin/mysqladmin -u root password 'new-password' // 为root账号设置密码   所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号)   [root@xiaoluo ~]# mysqladmin -u root password 'root'  // 通过该命令给root账号设置密码为 root   此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了   五、mysql数据库的主要配置文件 1./etc/my.cnf 这是mysql的主配置文件 我们可以查看一下这个文件的一些信息 [root@xiaoluo etc]# ls my.cnf my.cnf [root@xiaoluo etc]# cat my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 2./var/lib/mysql   mysql数据库的数据库文件存放位置 我们的mysql数据库的数据库文件通常是存放在了/ver/lib/mysql这个目录下   [root@xiaoluo ~]# cd /var/lib/mysql/ [root@xiaoluo mysql]# ls -l 总用量 20488 -rw-rw----. 1 mysql mysql 10485760 4月 6 22:01 ibdata1 -rw-rw----. 1 mysql mysql 5242880 4月 6 22:01 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 4月 6 21:59 ib_logfile1 drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql  // 这两个是mysql数据库安装时默认的两个数据库文件 srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 6 21:59 test // 这两个是mysql数据库安装时默认的两个数据库文件   我们可以自己创建一个数据库,来验证一下该数据库文件的存放位置   创建一个我们自己的数据库: mysql> create database xiaoluo; Query OK, 1 row affected (0.00 sec) [root@xiaoluo mysql]# ls -l 总用量 20492 -rw-rw----. 1 mysql mysql 10485760 4月 6 22:01 ibdata1 -rw-rw----. 1 mysql mysql 5242880 4月 6 22:01 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 4月 6 21:59 ib_logfile1 drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 6 21:59 test drwx------. 2 mysql mysql 4096 4月 6 22:15 xiaoluo  // 这个就是我们刚自己创建的xiaoluo数据库 [root@xiaoluo mysql]# cd xiaoluo/ [root@xiaoluo xiaoluo]# ls db.opt 3./var/log mysql数据库的日志输出存放位置 我们的mysql数据库的一些日志输出存放位置都是在/var/log这个目录下 [root@xiaoluo xiaoluo]# cd [root@xiaoluo ~]# cd /var/log [root@xiaoluo log]# ls amanda cron maillog-20130331 spice-vdagent.log anaconda.ifcfg.log cron-20130331 mcelog spooler anaconda.log cups messages spooler-20130331 anaconda.program.log dirsrv messages-20130331 sssd anaconda.storage.log dmesg mysqld.log tallylog anaconda.syslog dmesg.old ntpstats tomcat6 anaconda.xlog dracut.log piranha wpa_supplicant.log anaconda.yum.log gdm pm-powersave.log wtmp audit httpd ppp Xorg.0.log boot.log ibacm.log prelink Xorg.0.log.old btmp lastlog sa Xorg.1.log btmp-20130401 libvirt samba Xorg.2.log cluster luci secure Xorg.9.log ConsoleKit maillog secure-20130331 yum.log   其中mysqld.log 这个文件就是我们存放我们跟mysql数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息   因为我们的mysql数据库是可以通过网络访问的,并不是一个单机版数据库,其中使用的协议是 tcp/ip 协议,我们都知道mysql数据库绑定的端口号是 3306 ,所以我们可以通过 netstat -anp 命令来查看一下,Linux系统是否在监听 3306 这个端口号: 结果如上所示,Linux系统监听的3306端口号就是我们的mysql数据库!!!! ...

    2017-07-24 未分类 1956
  • CentOS 6.5 下安装 Redis

    CentOS 6.5 下安装 Redis wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make   前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。 异常一: make[2]: cc: Command not found 异常原因:没有安装gcc 解决方案:yum install gcc-c++   异常二: zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory 异常原因:一些编译依赖或原来编译遗留出现的问题 解决方案:make distclean。清理一下,然后再make。     在make成功以后,需要make test。在make test出现异常。 异常一: couldn't execute "tclsh8.5": no such file or directory 异常原因:没有安装tcl 解决方案:yum install -y tcl。   在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。 方便期间用cp命令复制到usr目录下运行。 cp redis-server /usr/local/bin/ cp redis-cli /usr/local/bin/ 然后新建目录,存放配置文件 mkdir /etc/redis mkdir /var/redis mkdir /var/redis/log mkdir /var/redis/run mkdir /var/redis/6379   在redis解压根目录中找到配置文件模板,复制到如下位置。 cp redis.conf /etc/redis/6379.conf 通过vim命令修改 daemonize yes pidfile /var/redis/run/redis_6379.pid logfile /var/redis/log/redis_6379.log dir /var/redis/6379 最后运行redis: $ redis-server /etc/redis/6379.conf ...

    2017-07-21 未分类 1835
  • zookeeper3.4.9集群部署

      在安装Zookeeper之前,首先需要确保的就是主机名称(可选)、hosts都已经更改,并且JDK成功安装。  vi /etc/hosts 10.5.172.214   slave-01   10.5.172.215   slave-02   10.5.172.216   slave-03   修改 /etc/hosts之后执行service network restart 使修改后的配置生效 1、安装Zookeeper 使用命令“tar -zxvf”命令将gz压缩文件解压。笔者Zookeeper的安装目录为:“/home/”,解压后的目录为/home/zookeeper-3.4.9”,最好确保Master、Slave1、Slave2机器上的Zookeeper安装路径一致。   2、配置Zookeeper的环境变量 成功安装Zookeeper后,接下来要做的事情就是配置Zookeeper的环境变量,并通过命令“source /etc/profile”命令使修改后的配置生效,如下所示: vi /etc/profile Shell代码   #ZOOKEEPER ZOOKEEPER=/home/zookeeper-3.4.9 PATH=$PATH:$ZOOKEEPER/bin  source /etc/profile 3、修改Zookeeper的配置文件 首先将/home/zookeeper-3.4.9/conf/zoo_sample.cfg文件复制一份,并更名为zoo.cfg,如下所示: cd zookeeper-3.4.9/conf/ cp zoo_sample.cfg zoo.cfg Shell代码   # The number of milliseconds of each tick   tickTime=2000   # The number of ticks that the initial    # synchronization phase can take   initLimit=10   # The number of ticks that can pass between    # sending a request and getting an acknowledgement   syncLimit=5   # the directory where the snapshot is stored.   # do not use /tmp for storage, /tmp here is just    # example sakes.   dataDir=/home/sl/data    dataLogDir=/home/sl/log  # the port at which the clients will connect   clientPort=2181   # the maximum number of client connections.   # increase this if you need to handle more clients   #maxClientCnxns=60   #   # Be sure to read the maintenance section of the    # administrator guide before turning on autopurge.   #   # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance   #   # The number of snapshots to retain in dataDir   #autopurge.snapRetainCount=3   # Purge task interval in hours   # Set to "0" to disable auto purge feature   #autopurge.purgeInterval=1   server.1=slave-01:3333:4444  server.2=slave-02:3333:4444 server.3=slave-03:3333:4444   server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。   根据dataDir和dataLogDir变量创建相应的目录。 mkdir -p /home/sl/data mkdir -p /home/sl/log 4、创建myid文件 在dataDir目录下创建一个myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。 echo "1" > /home/sl/data/myid echo "2" > /home/sl/data/myid echo "3" > /home/sl/data/myid 5、启动Zookeeper 执行命令“zkServer.sh start”将会启动Zookeeper。在此大家需要注意,和在Master启动Hadoop不同,不同节点上的Zookeeper需要单独启动。而执行命令“zkServer.sh stop”将会停止Zookeeper。   开发人员可以使用命令“JPS”查看Zookeeper是否成功启动,以及执行命令“zkServer.sh status”查看Zookeeper集群状态,如下所示: Shell代码   #10.5.172.214 JMX enabled by default   Using config: /home/zookeeper-3.4.9/bin/../conf/zoo.cfg   Mode: follower      #10.5.172.215  JMX enabled by default   Using config: /home/zookeeper-3.4.9/bin/../conf/zoo.cfg   Mode: leader      #10.5.172.216  JMX enabled by default   Using config: /home/zookeeper-3.4.9/bin/../conf/zoo.cfg   Mode: follower     Zookeeper集群在启动的过程中,查阅zookeeper.out,会有如下异常: Java代码   java.net.ConnectException: Connection refused           at java.net.PlainSocketImpl.socketConnect(Native Method)           at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)           at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)           at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)           at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)           at java.net.Socket.connect(Socket.java:579)           at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)           at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)           at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)           at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)           at java.lang.Thread.run(Thread.java:745)     上述异常可以忽略,因为集群环境中某些子节点还没有启动zookeeper。 ...

    2017-07-18 CentOS相关 2000
  • Mongodb集群搭建配置

    Mongodb集群有三种模式:  Replica Set 、 Sharding、Master-Slaver 这里举例说明Replica Set的搭建方式 Mongodb版本:mongodb-linux-x86_64-2.2.6.tgz 下载地址:wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.6.tgz Mongodb的安装配置很简单,下载源码包解压后配置参数启动即可 服务器分布情况: 主节点IP     10.7.10.228   备节点IP     10.7.10.229 仲裁点IP     10.7.10.230 一、在每台机器上解压源包并建立数据目录: tar zxf mongodb-linux-x86_64-2.2.6.tgz mv mongodb-linux-x86_64-2.2.6 /home/mongodb mkdir -p /home/mongodb/logs mkdir -p /home/mongodb/master                 ---在主节点服务器10.7.10.228上创建master目录 mkdir -p /home/mongodb/slave                    ---在备节点服务器10.7.10.229上创建master目录 mkdir -p /home/mongodb/arbiter               --在仲裁点服务器10.7.10.230上创建arbiter目录 mkdir -p /home/mongodb/master.pid    ---在主节点服务器10.7.10.228上创建master目录 mkdir -p /home/mongodb/slave.pid             ---在备节点服务器10.7.10.229上创建master目录 mkdir -p /home/mongodb/arbiter.pid         --在仲裁点服务器10.7.10.230上创建arbiter目录 二、建立配置文件: 主节点: vi /home/mongodb/mongodb_master.conf #master.conf dbpath=/home/mongodb/master logpath=/home/mongodb/logs/master.log pidfilepath=/home/mongodb/master.pid #keyFile=/home/mongodb/mongodb.key directoryperdb=true logappend=true replSet=slb bind_ip=10.7.10.228   port=27017 #auth=true oplogSize=100 fork=true noprealloc=true #maxConns=4000 备节点: vi /home/mongodb/mongodb_slave.conf #slave.conf dbpath=/home/mongodb/slave logpath=/home/mongodb/logs/slave.log pidfilepath=/home/mongodb/slave.pid #keyFile=/home/data/mongodb.key directoryperdb=true logappend=true replSet=slb bind_ip=10.7.10.229 port=27017 #auth=true oplogSize=100 fork=true noprealloc=true #maxConns=4000 仲裁点: vi /home/mongodb/mongodb_arbiter.conf #arbiter.conf dbpath=/home/mongodb/arbiter logpath=/home/mongodb/logs/arbiter.log pidfilepath=/home/mongodb/arbiter.pid #keyFile=/home/mongodb/mongodb.key directoryperdb=true logappend=true replSet=slb bind_ip=10.7.10.230 port=27019 #auth=true oplogSize=100 fork=true noprealloc=true #maxConns=4000 备注: keyFile和auth选项要在集群配置好后,并且添加了验证用户后在启用 参数说明: dbpath:存放数据目录 logpath:日志数据目录 pidfilepath:pid文件 keyFile:节点之间用于验证文件,内容必须保持一致,权限600,仅Replica Set 模式有效 directoryperdb:数据库是否分目录存放 logappend:日志追加方式存放 replSet:Replica Set的名字 bind_ip:mongodb绑定的ip地址 port:端口 auth:是否开启验证 oplogSize:设置oplog的大小(MB) fork:守护进程运行,创建进程 moprealloc:是否禁用数据文件预分配(往往影响性能) maxConns:最大连接数,默认2000 三、启动mongodb(可以相对路径也可以绝对路径) /home/mongodb/bin/mongod -f /home/mongodb/mongodb_master.conf /home/mongodb/bin/mongod -f /home/mongodb/mongodb_slave.conf /home/mongodb/bin/mongod -f /home/mongodb/mongodb_arbiter.conf 四、在主节点上配置 /home/mongodb/bin/mongo 10.7.10.228     #因为备节点和仲裁点在同一个机器以端口区分,所以登陆时要加上端口 >use admin >cfg={ _id:"slb", members:[ {_id:0,host:'10.7.10.228:27017',priority:2},{_id:1,host:'10.7.10.229:27017',priority:1},{_id:2,host:'10.7.10.230:27019',arbiterOnly:true}] }; > rs.initiate(cfg)          #使cfg配置生效 说明: cfg名字可选,只要跟mongodb参数不冲突,_id为Replica Set名字,members里面的优先级priority值高的为主节点,对于仲裁点一定要加上arbiterOnly:true,否则主备模式不生效 查看是否生效:rs.status() 结果显示每天机器的信息,stateStr字段为主备仲裁节点的标志,下面会显示字样:"ok" : 1 QA: 如果服务起不来,记得开IPTABLET ...

    2017-07-18 CentOS相关 1963
  • VMware 磁盘管理工具

    用虚拟磁盘管理软件 打开宿主机中的命令行或终端(Linux中的命令行),以运行虚拟磁盘管理软件。在Windows宿主机中,更改目录为你安装Workstation软件所在的目录。默认的安装目录为C:\Program Files\VMware\VMware Workstation。...

    2017-07-12 VMware相关 1930
  • 很实用的Linux 系统运维常用命令及常识(超实用)

    作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维的朋友可以来学习一下。...

    2017-03-24 CentOS相关 2310

联系我们

在线咨询:点击这里给我发消息

微信号:chensj923

工作日:9:00-23:00,节假日休息

扫码关注