设为首页 收藏本站
查看: 1357|回复: 0

[经验分享] tomcat7,jdk7,mongoDB最新版(搭建replacia set模式),maven 服务器nexus,,svn, php

[复制链接]

尚未签到

发表于 2018-10-27 10:50:06 | 显示全部楼层 |阅读模式
  环境需求:tomcat7,jdk7,mongoDB最新版(搭建replacia set模式),maven 服务器nexus,,svn, php
  linux 版本centos
  jdk7+tomcat7+centos 安装
  http://blog.sina.com.cn/s/blog_704836f40100yyc9.html
  安装jdk7的时候要先卸载之前的 OpenJDK
  [root@localhost ~]# java -version
  java version "1.6.0_24"
  OpenJDK Runtime Environment (IcedTea6 1.11.13) (rhel-1.65.1.11.13.el6_4-x86_64)
  OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
  [root@localhost ~]# rpm -qa | grep java
  java-1.6.0-openjdk-1.6.0.0-1.65.1.11.13.el6_4.x86_64
  tzdata-java-2013g-1.el6.noarch
  [root@localhost ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.65.1.11.13.el6_4.x86_64
  [root@localhost ~]# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
  [root@localhost ~]# rpm -qa | grep java
  [root@localhost bin]# cd commons-daemon-1.0.15-native-src/unix/
  [root@localhost unix]# ./configure
  *** Current host ***
  checking build system type... x86_64-unknown-linux-gnu
  checking host system type... x86_64-unknown-linux-gnu
  checking cached host system type... ok
  *** C-Language compilation tools ***
  checking for gcc... no
  checking for cc... no
  checking for cc... no
  checking for cl... no
  configure: error: no acceptable C compiler found in $PATH
  See `config.log' for more details.
  需要安装gcc组件
  yum -y install gcc
  nexus做Mave私服
  http://my.oschina.net/shootercn/blog/12269
  http://blog.csdn.net/cuker919/article/details/6338039
  Maven.pdf 2.2节基于unix的系统上安装
  Maven.pdf 第9章Nexus 创建私服
  出现这个状况是因为 nexus目录权限的问题修改权限即可。
  chown -R apaduser:apaduser nexus-2.6.4-02
  chown -R apaduser:apaduser nexus
  install MongoDB on Red Hat Enterprise,CentOS,or Fedora Linux
  http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux/
  mongodb replica set configuration
  http://docs.mongodb.org/manual/reference/replica-configuration/
  centos svn server 安装配置
  http://www.ha97.com/4467.html
  相关下载:
  jdk7_linux_64
  http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm
  apche-tomcat7.0.42
  http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz
  ————————————————————————————————————————————————————————
  mongodb安装(centos or redhat)
  vim /etc/yum.repos.d/mongodb.repo
  [mongodb]
  name=MongoDB Repository
  baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
  gpgcheck=0
  enabled=1
  yum install mongo-10gen mongo-10gen-server
  yum install mongo-10gen-2.4.6 mongo-10gen-server-2.4.6
  防止意外的升级mongodb 在 /etc/yum.conf 增加如下内容
  exclude=mongo-10gen,mongo-10gen-server
  配置文件位置/etc/mogod.conf ,初始化脚本位置/etc/rc.d/init.d/mongod
  这个MongoDB实例,的数据文件在/var/lib/mongo 日志文件位置 /var/log/mongo
  #如果切换用户运行MongoDB进程,需要修改/var/lib/mongo 和/var/log/mongo 的文件夹权限。
  启动MongoDB
  service mongod start
  停止MongoDB
  service mongod stop
  重启MongoDB
  service mongod restart
  ————————————————————————————————————————————————————————
  第五部分架构篇第二十一章 Replica Sets 复制集
  MongoDB 支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只有一台是用于写操作。正是由于这个情况,为 MongoDB 提供了数据一致性的保障。担当 Primary 角色的机器能把读操作分发给 slave。
  MongoDB 高可用可用分两种:
  Master-Slave 主从复制:
  只需要在某一个服务启动时加上–master 参数,而另一个服务加上–slave 与–source 参数, 即可实现同步。MongoDB 的最新版本已不再推荐此方案。
  ReplicaSets复制集:
  MongoDB 在 1.6 版本对开发了新功能 replica set,这比之前的 replication 功能要强大一些,增加了故障自动切换和自动修复成员节点,各个 DB 之间数据完全一致,大大降低了维护成功。auto shard 已经明确说明不支持 replication paris,建议使用 replica set,replica set 故障切换完全自动。
  如果上图所示,Replica Sets 的结构非常类似一个集群。是的,你完全可以把它当成集群,因为它确实跟集群实现的作用是一样的,其中一个节点如果出现故障,其它节点马上会将业务接过来而无须停机操作。
  21.1 部署 Replica Sets 接下来将一步一步的给大家分享一下实施步骤:
  1、创建数据文件存储路径
  2、创建日志文件路径
  [root@localhost ~]# mkdir -p /data/log
  3、创建主从 key 文件,用于标识集群的私钥的完整路径,如果各个实例的 key file 内容不一致,程序将不能正常用。
  4、启动 3 个实例
  [root@localhost ~]# mkdir -p /data/data/r0
  [root@localhost ~]# mkdir -p /data/data/r1
  [root@localhost ~]# mkdir -p /data/data/r2
  [root@localhost ~]# mkdir -p /data/key
  [root@localhost ~]# echo "this is rs1 super secret key" > /data/key/r0
  [root@localhost ~]# echo "this is rs1 super secret key" > /data/key/r1
  [root@localhost ~]# echo "this is rs1 super secret key" > /data/key/r2
  [root@localhost ~]# chmod 600 /data/key/r*
  [root@localhost ~]# /Apps/mongo/bin/mongod --replSet rs1 --keyFile /data/key/r0 --fork --port 28010 --dbpath /data/data/r0 --logpath=/data/log/r0.log --logappend
  all output going to: /data/log/r0.log
  forked process: 6573
  [root@localhost ~]# /Apps/mongo/bin/mongod --replSet rs1 --keyFile /data/key/r1 --fork --port 28011 --dbpath /data/data/r1 --logpath=/data/log/r1.log --logappend
  all output going to: /data/log/r1.log
  forked process: 6580
  [root@localhost ~]# /Apps/mongo/bin/mongod --replSet rs1 --keyFile /data/key/r2 --fork --port 28012 --dbpath /data/data/r2 --logpath=/data/log/r2.log --logappend
  all output going to: /data/log/r2.log
  forked process: 6585
  [root@localhost ~]#
  5、配置及初始化 Replica Sets
  配置 replca set
  [root@localhost data]# mongo -port 28010
  MongoDB shell version: 2.4.6
  connecting to: 127.0.0.1:28010/test
  > config_rs1 = {_id:'rs1',members:[
  ... {_id: 0,host:'localhost:28010',priority:1},
  ... {_id: 1,host:'localhost:28011'},
  ... {_id: 2,host:'localhost:28012'}]
  ... }
  {
  "_id" : "rs1",
  "members" : [
  {
  "_id" : 0,
  "host" : "localhost:28010",
  "priority" : 1
  },
  {
  "_id" : 1,
  "host" : "localhost:28011"
  },
  {
  "_id" : 2,
  "host" : "localhost:28012"
  }
  ]
  }
  初始化配置
  > rs.initiate(config_rs1);
  {
  "info" : "Config now saved locally. Should come online in about a minute.",
  "ok" : 1
  }
  查看复制集的状态
  rs1:SECONDARY> rs.status()
  {
  "set" : "rs1",
  "date" : ISODate("2013-10-25T11:14:53Z"),
  "myState" : 1,
  "members" : [
  {
  "_id" : 0,
  "name" : "localhost:28010",
  "health" : 1, 1表示正常;0表示异常
  "state" : 1, 1表明是 Primary;2表示是 Secondary;
  "stateStr" : "PRIMARY", 表明此机器是主库
  "uptime" : 1168,
  "optime" : Timestamp(1382699470, 1),
  "optimeDate" : ISODate("2013-10-25T11:11:10Z"),
  "self" : true
  },
  {
  "_id" : 1,
  "name" : "localhost:28011",
  "health" : 1,
  "state" : 2,
  "stateStr" : "SECONDARY",
  "uptime" : 218,
  "optime" : Timestamp(1382699470, 1),
  "optimeDate" : ISODate("2013-10-25T11:11:10Z"),
  "lastHeartbeat" : ISODate("2013-10-25T11:14:53Z"),
  "lastHeartbeatRecv" : ISODate("2013-10-25T11:14:53Z"),
  "pingMs" : 0,
  "syncingTo" : "localhost:28010"
  },
  {
  "_id" : 2,
  "name" : "localhost:28012",
  "health" : 1,
  "state" : 2,
  "stateStr" : "SECONDARY",
  "uptime" : 218,
  "optime" : Timestamp(1382699470, 1),
  "optimeDate" : ISODate("2013-10-25T11:11:10Z"),
  "lastHeartbeat" : ISODate("2013-10-25T11:14:53Z"),
  "lastHeartbeatRecv" : ISODate("2013-10-25T11:14:52Z"),
  "pingMs" : 0,
  "syncingTo" : "localhost:28010"
  }
  ],
  "ok" : 1
  }
  还可以用 isMaster 查看 Replica Sets 状态。
  rs1:PRIMARY> rs.isMaster()
  {
  "setName" : "rs1",
  "ismaster" : true,
  "secondary" : false,
  "hosts" : [
  "localhost:28010",
  "localhost:28012",
  "localhost:28011"
  ],
  "primary" : "localhost:28010",
  "me" : "localhost:28010",
  "maxBsonObjectSize" : 16777216,
  "maxMessageSizeBytes" : 48000000,
  "localTime" : ISODate("2013-10-25T11:18:38.231Z"),
  "ok" : 1
  }
  读写分类
  1,主库中插入一条测试数据
  [root@localhost data]# mongo --port 28010
  MongoDB shell version: 2.4.6
  connecting to: 127.0.0.1:28010/test
  rs1:PRIMARY> db.c1.insert({age:30})
  rs1:PRIMARY> db.c1.find()
  { "_id" : ObjectId("526a5841f38d5f1304bcff8c"), "age" : 30 }
  2,在从库中进行查询等操作
  rs1:SECONDARY> show collections
  Fri Oct 25 19:40:29.837 error: { "$err" : "not master and slaveOk=false", "code" : 13435 } at src/mongo/shell/query.js:128
  rs1:SECONDARY> db.getMongo().setSlaveOk()
  rs1:SECONDARY> db.c1.find()
  { "_id" : ObjectId("526a5841f38d5f1304bcff8c"), "age" : 30 }
  rs1:SECONDARY> show collections
  c1
  system.indexes
  ————————————————————————————————————————————————————————
  软件下载
  apache-maven
  http://apache.fayea.com/apache-mirror/maven/binaries/apache-maven-3.0.5-bin.tar.gz
  nexus
  http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz
  maven安装配置
  1,创建用户和用户组
  groupadd apaduser
  useradd -g apaduser apaduser
  passwd apaduser //设置密码
  2,创建解压目录
  mkdir -p /opt/maven
  mv apache-maven-3.0.5-bin.tar.gz /opt/maven
  cd !$
  tar -zvxf apache-maven-3.0.5-bin.tar.gz
  ln -s apache-maven-3.0.5 apache-maven
  chown -R apaduser:apaduser /opt/maven
  3,配置环境变量
  cd
  vim .bash_profile
  # .bash_profile
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  # User specific environment and startup programs
  PATH=$PATH:$HOME/bin
  export PATH
  M2_HOME=/opt/maven/apache-maven
  export M2_HOME
  PATH=$PATH:$M2_HOME/bin
  export PATH
  source .bash_profile
  4,查看版本
  /opt/maven/apache-maven/bin -version
  5,查看.m2目录
  cd /home/apaduser/.m2
  如果没有这个目录则创建一个
  mkdir .m2
  6、如果需要把maven的repository目录指定到其他目录,则修改maven安装目录下conf中的配置文件settings.xml文件
  1. #vi /opt/maven/apache-maven/conf/settings.xml
  2. 将文件中….的注释打开
  3. 或者在文件中增加在这个注释下增加
  4. your repository path
  二、搭建nexus私服
  1、解压nexus-oss-webapp-1.8.0-bundle.tar.gz文件到指定目录
  使用root用户进行操作
  1.#cp nexus-oss-webapp-1.8.0-bundle.tar.gz /usr/local
  2.#tar -zvxf nexus-oss-webapp-1.8.0-bundle.tar.gz
  3.#ln –s nexus-oss-webapp-1.8.0 nexus
  4.chown -R apaduser:apaduser /usr/local/sonatype-work/ /usr/local/nexus /usr/local/nexus-2.6.4-02/
  2、启动nexus
  1.#cd /usr/local/nexus/bin/jsw
  2.
  3.选择自己机器的版本:
  4.
  5.#cd linux-x86-64/
  6.#./nexus start
  7.
  8.重启:
  9.#./nexus restart
  10.停止:
  11.#./nexus stop
  3、运行nexus
  在浏览器中输入:http://changethislocalhost:8081/nexus
  就可以看到nexus 的主页,点击右上角Log in
  默认用户名和密码是:admin/admin123
  运行后会自动生成一个nexus工作目录sonatype-work,nexus下载的jar包会存放在
  sonatype-work/nexus/storage中
  4、配置
  1) 点击左侧菜单Repositories
  分别将右侧列表中
  1. Apache Snapshots 2. Codehaus Snapshots 3. Maven Central
  三个repository 的configuration配置选项中的Download Remote Index 配置改为True,并保存设置,
  然后在列表中分别右键点击三个Repository,点击ReIndex
  true是开启,false是关闭由于中央仓库内容比较多,因此其索引文件比较大,需要查看下载是否完成了,我们可以单击界面左边导航栏中的 Scheduled Tasks 链接后,就可以看到系统调度的任务其状态为 runing,在说哦因下载完毕之后,该任务就会消失。
  Scheduled Tasks 界面:
  只有下载了,在search查询才会有东西,不然什么都搜索不到。
  2)增加新的Repository,有一些比较常用jar包在nexus提供的repository中可能找不到,
  一般比较常用的有
  1.JBOSS的两个:
  2.http://repository.jboss.org/maven2/
  3.http://repository.jboss.org/nexus/content/repositories/releases/
  4.SUN的:
  5.http://download.java.net/maven/2/
  6.K-INT的:
  7.http://developer.k-int.com/maven2/
  8.
  9.因为找juel:juel-impl:2.2.1这个jar包,所以我还添加了一个自己找的:
  10.http://repository.exoplatform.org/content/groups/public/
  添加步骤:

  点击Add->Proxy Repository->填写Repository>  3) 将新增的Repository添加到Public Repositories中
  在Public Repositories 的Configuration中,将多选Select中的项全部添加到左边,然后保存。
  4) 添加自己的jar
  1.在repository列表中有一个3rd party,也就是第三方jar包,点击会看到一个Artifact Upload选项卡,点击后,填写相应的信息。
  2.GAV Definition 一般选择 GAV Parameters
  3.然后添加Group:Artifact:Version:Package
  4.示例  juel:juel-impl:2.2.1:jar
  然后选择要上传的jar包,保存即可
  比如我们项目需要如下几个包:
  javax.jms:jms:1.1:jar
  proxool:proxool:0.9.1:jar
  proxool:proxool-cglib:0.9.1:jar
  com.lowagie:itextasian:1.0:jar
  com.danga.MemCached:memcached:2.0.1:jar
  5) nexus中设置代理服务器
  选择左侧administrator菜单中的Server选项,在右侧打开的页面的中下部,有一个选择项:Default HTTP Proxy Settings(optional) 将前面的复选框选中,填写相应的代理服务器信息即可。web-proxy.cce.hp.com:8080
  6) 编写自己的settings.xml,文件内容如下:
  1.
  2.
  3.  
  4.   normal
  5.   true
  6.   http
  7.   deployment
  8.   deploy
  9.   changethislocalhost:8081/nexus
  10.   80
  11.   changethislocalhost:8081/nexus
  12.  
  13.
  14.
  15.
  16.  
  17.   
  19.   nexus-public-snapshots
  20.   public-snapshots
  21.   http://changethislocalhost:8081/nexus/content/groups/public-snapshots
  22.  
  23.  
  24.   
  25.   nexus
  26.   *
  27.   http://changethislocalhost:8081/nexus/content/groups/public
  28.  
  29.
  30.
  31.
  32.  
  33.   nexus
  34.   
  35.   
  36.     central
  37.     http://central
  38.     true
  39.     true
  40.   
  41.   
  42.   
  43.   
  44.     central
  45.     http://central
  46.     true
  47.     true
  48.   
  49.   
  50.  
  51.  
  52.   
  53.   public-snapshots
  54.   
  55.   
  56.     public-snapshots
  57.     http://public-snapshots
  58.     false
  59.     true
  60.   
  61.   
  62.   
  63.   
  64.     public-snapshots
  65.     http://public-snapshots
  66.     false
  67.     true
  68.   
  69.   
  70.  
  71.
  72.
  73.  nexus
  74.
  75.
  将settings.xml文件复制到${user}/.m2目录下
  7) 测试
  创建一个maven项目
  #mvn archetype:generate
  如果创建一个web项目可以选择83
  填写相应的信息,maven会从私服上下载相应的jar包,看到的地址应该都是changethislocalhost的
  项目创建成功后,将自己的pom.xml文件放在项目,执行
  #mvn install 或者#mvn package
  mvn会下载pom.xml文件定义的jar依赖
  下载完成后,你可以在自己指定的repository目录下, 如果没有指定则是在 .m2/repository目录下查看自己的jar包
  至此,我们的maven安装以及私服的搭建工作就完成了。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627049-1-1.html 上篇帖子: MongoDB实战(4)MapReduce-Coder 下篇帖子: MongoDB实战(5)数据管理和控制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表