首页 文章 精选 留言 我的

精选列表

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

记录一次docker集群中搭建mongodb副本集

1.创建三个装有mongo的docker容器,这里使用docker-compose,配置如下 mongo: image: mongo command: mongod -f /etc/mongo.conf volumes: - ${DATA_PATH_HOST}/mongo:/data/db - ${CONF_PATH}/mongo/mongo_yaml.conf:/etc/mongo.conf - ${CONF_PATH}/mongo/access.key:/etc/access.key expose: - 27017 ports: - 27017:27017 networks: - backend mongo2: image: mongo command: mongod -f /etc/mongo.conf volumes: - ${DATA_PATH_HOST}/mongo2:/data/db - ${CONF_PATH}/mongo/mongo_yaml.conf:/etc/mongo.conf - ${CONF_PATH}/mongo/access.key:/etc/access.key expose: - 27017 ports: - 27018:27017 networks: - backend mongo3: image: mongo command: mongod -f /etc/mongo.conf volumes: - ${DATA_PATH_HOST}/mongo3:/data/db - ${CONF_PATH}/mongo/mongo_yaml.conf:/etc/mongo.conf - ${CONF_PATH}/mongo/access.key:/etc/access.key expose: - 27017 ports: - 27019:27017 networks: - backend 其中mongo.conf 为yaml格式的mongodb配置文件,内容如下 processManagement: fork: false net: bindIp: 127.0.0.1 port: 27017 storage: dbPath: /data/db systemLog: #destination: file #path: log/mongo27017.log logAppend: true storage: journal: enabled: true replication: oplogSizeMB: 500 replSetName: "r1" secondaryIndexPrefetch: "all" 执行docker-compose up -d mongo mongo2 mongo3 创建三个mongo容器 并指定副本集 r1 2. 登入任意一台机器的MongoDB执行:因为是全新的副本集所以可以任意进入一台执行;要是有一台有数据,则需要在有数据上执行;要多台有数据则不能初始化。我个人是mongo中有数据但是mongo2和mong3是空的数据库,所以我登录mongo1进行副本集初始化。 执行命令 docker-compose exec mongo bash 进入容器 执行命令 mongo 在容器内部连接mongo 执行一下命令初始化副本集 > use admin switched to db admin > config = { "_id": "r1", "members": [{ "_id": 0, "host": "mongo:27017", "priority": 1 }, { "_id": 1, "host": "mongo2:27017", "priority": 1 }, { "_id": 2, "host": "mongo3:27017", "priority": 1 }] } { "_id" : "r1", "members" : [ { "_id" : 0, "host" : "mongo:27017", "priority" : 1 }, { "_id" : 1, "host" : "mongo2:27017", "priority" : 1 }, { "_id" : 2, "host" : "mongo3:27017", "priority" : 1 } ] } > rs.initiate(config) { "ok" : 1, "operationTime" : Timestamp(1539830924, 1), "$clusterTime" : { "clusterTime" : Timestamp(1539830924, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } } 副本集初始化完成,可以使用命令rs.status()查看当前副本集状态,至此mongodb副本集设置完成 3.加入鉴权机制,如果服务端需要开启auth认证,则在启动时通过keyFile三个节点之间的通信授权 使用命令生成keyFile文件 openssl rand -base64 745 > /docker/conf/mongo/mongo-keyfile ch 如果服务器启动时加入了参数--keyFile = /docker/conf/mongo/mongo-keyfile 则mongo服务端启动时会自动开启auth,故应先创建账号。 创建了账号 root pass auth库为admin (步骤省略) 停止所有节点,重新启动mongo服务,并加上 --keyFile参数 发现报错 mongo3_1 | 2018-10-24T06:13:06.323+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' mongo3_1 | 2018-10-24T06:13:06.331+0000 I ACCESS [main] permissions on /etc/access.key are too open mongo2_1 | 2018-10-24T06:13:06.591+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' mongo2_1 | 2018-10-24T06:13:06.605+0000 I ACCESS [main] permissions on /etc/access.key are too open mongo_1 | 2018-10-24T06:13:06.609+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' mongo_1 | 2018-10-24T06:13:06.614+0000 I ACCESS [main] permissions on /etc/access.key are too open 这是因为keyfile权限问题,执行命令将keyfile权限设置为600 chmod 600 /docker/conf/mongo/access.key 再次启动,成功。 进入某一容器执行副本集链接操作,系统提示已成功连接到副本集

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

WIN10下搭建react-native开发Android环境

最近公司要求使用react-native进行移动端开发,据说macOS上开发坑会少的多,但我们是windows,莫法,直接抗吧!周末配置环境遇到很多问题,谨以此文做个记录。。。 准备 安装Chocolatey Chocolatey是一个Windows上的包管理器,类似于linux上的yum和 apt-get 以管理员的身份来运行命令提示符 打开C盘里的Windows\System32,找到cmd.exe,右键‘已管理员身份运行’ 运行@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin 使用chocolatey安装Python 2choco install python2 使用chocolatey安装Nodechoco install nodejs.install 切换npm到淘宝的镜像npm config set registry https://registry.npm.taobao.org --globalnpm config set disturl https://npm.taobao.org/dist --global 使用npm安装Yarn和React Native Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载 React Native的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager) 等任务。 npm install -g yarn react-native-cli 安装完yarn后同理也要设置镜像源:yarn config set registry https://registry.npm.taobao.org --globalyarn config set disturl https://npm.taobao.org/dist --global 安装完yarn之后就可以用yarn代替npm了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install --save 某第三方库名 Android Studio Android Studio包含了运行和测试React Native应用所需的Android SDK和模拟器。 直接去http://www.android-studio.org/下载3.0.1.0的就可以了 直接默认安装就可以了 然后打开,点击右下角的configure配置 3个东西必须安装,其他随意,Android SDK Platform 23和23.0.1和Android Support Repository 另外记住你Sdk的安装位置,后面有用,我是安在D:\Android\Sdk 设置ANDROID_HOME环境变量 打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建用户变量 变量名ANDROID_HOME,变量值D:\Android\Sdk(这是我的,具体看你的sdk位置) 设置完需要关闭所以的命令符窗口,这样新的环境变量才能生效 JAVA Android Studio需要Java Development Kit [JDK] 1.8(暂不支持更高版本) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载 根据自己选择32位还是,64 安装 在D盘新建一个java文件夹,在java文件下新建两个文件夹,分别命名为jdk和jre.3.双击程序进行安装,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为D:\java\jdk,第二次是让你选择jre的安装路径,选择为D:\java\jre 安装完成后,进行环境变量的配置,计算机右击属性,-高级系统设置-环境变量-选择下边的系统变量 新建 变量名:Path 变量值C:\ProgramData\Oracle\Java\javapath;%java_home%\bin;%java_home%\jre\bin 新建 变量名:JAVA_HOME 变量值:D:\java\jdk 新建 变量名:ClassPath 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 测试 打开cmd,输入java 输入java -version 连接真机 自己用的小米6来连接的,没用模拟器,坑多的1匹,慢慢道来 必须关闭MIUI优化 360助手必须卸了,否则端口占用 选择文件传输(MTP) 打开“USB安装”选项 以上都可能导致小米4以上机型跑不起来。。。 运行 连接好了手机我们就可以跑项目了 cmd d: 请不要在命令行默认的System32目录中init项目!会有各种权限限制导致不能运行!所以我跑去D盘安的项目 react-native init rntest cd rntest react-native run-android 好了,手机终于可以看见 welcome to react native了,恭喜。。。 最后 大家好,这里是「 TaoLand 」,这个博客主要用于记录一个菜鸟程序猿的Growth之路。这也是自己第一次做博客,希望和大家多多交流,一起成长!文章将会在下列地址同步更新…… 个人博客:www.yangyuetao.cn 小程序:TaoLand

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

Java编程——如何用Maven搭建SpringMVC+Spring+MyBatis框架

先说说三大框架整合过程 。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!! 先技术,再思想。实践出真知。 SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案。标准的MVC设计模式,将整个系统划分为显示层、Controller层、Service层、Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎。 一. 3个框架详情 Spring是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 SpringMVC属于SpringFrameWork的后续产品,分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 MyBatis是一个基于Java的持久层框架。MyBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java映射成数据库中的记录 二. 创建Maven项目 Eclipse中用Maven创建项目 按默认Next 找到maven-archetype-webapp后,点击next 填写相应的信息,GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。Package填了默认给你建一个包,不写也可以。 刚建好的目录如下 Maven规定必须添加以下Source Folder: src/main/resources src/main/java src/test/resources src/test/java 在这步之前最好先项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre。 分别修改输出路径为,对应关系如下: 将项目转换成Dynamic Web Project,在项目上右键Properties,在左侧选择 Project Facets。 设置部署时的文件发布路径,删除test的两项,因为test是测试使用,并不需要部署。 设置将Maven的jar包发布到lib下。Add -> Java Build Path Entries -> Maven Dependencies -> Finish 欢迎工作一到五年的Java工程师朋友们加入Java架构开发:468947140 点击链接加入群聊【Java-BATJ企业级资深架构】:https://jq.qq.com/?_wv=1027&k=5zMN6JB 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导

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

环境搭建-CentOS服务器之间设置免密码登录

在做大数据项目分布式开发时会用到Hadoop组件,Hadoop集群由Namenode节点和Datanode节点组成,在运行启动集群操作时,需要从Namenode节点登录到Datanode节点,执行相关启动脚本,因此需要配置免密码登录。 1.使用root账户修改shhd_config配置文件 执行命令【vi /etc/ssh/sshd_config】 修改shhd_config配置文件.png 去掉RSAAuthention yes前面的# 去掉PubkeyAuthentication yes前面的# shhd_config.png 然后运行命令【service sshd restart】生效配置 2.使用rsa非对称加密生成密钥 进入用户目录,运行命令【ssh-keygen -t rsa】生成密钥 生成密钥.png 进入【.ssh】目录,会发现生成了如下几个文件: ssh目录.png authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥 id_rsa:私钥文件 id_rsa.pub:公钥文件 3.将公钥添加到需要远程登录机器的authorized_keys文件中 在添加之前先做一个测试,现在通过【ssh localhost】命令试试本机有没有免密码登录 测试.png 出现需要输入密码界面,证明还没有免密,需要将公钥添加到authorized_keys中,运行文件追加命令【cat id_rsa.pub >> authorized_keys】。 再通过【ssh localhost】命令试试本机有没有免密码登录: image.png 测试通过,现在就可以将公钥添加到需要远程登录机器的authorized_keys文件中,然后就实现了Namenode节点到Datanode节点的免密码登录。

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

xming + putty 搭建远程图形化ssh访问ubuntu 14.04

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! putty下载: http://www.putty.org/ 一般我们远程登录linux 服务器,都是使用非加密的 telnet 或者加密的 ssh。这些登录方式有一个特点:只能登录字符界面,不能运行那些带有GUI界面的程序。 有时候为了学习或者工作的需要,我们需要远程打开有图形化界面的 linux application, 今天就给大家介绍一款软件:xming, 配合putty能够很好的完成我们的需求。 我们都知道,putty是一个用来远程登录 unix/linux 服务器的客户端,可以使用Telnet ssh等协议。 那么什么是xming? Xming is the leading X Window System Server for Microsoft Windows 8/7/Vista/XP (+ server 2012/2008/2003). It is fully featured, small and fast, simple to install and because it is standalone native Microsoft Windows, easily made portable (not needing a machine-specific installation). 简而言之,Xming 就是一个基于 c/s 架构的图形显示的x11 server,运行在你用来登录远程服务器的本地机器上。在刚开始的时候,我也很疑惑:既然是运行在本地,为什么是server,而不是client呢? Xming 显示的原理是每一个运行在远端服务器的图形化application 都是一个client,把要显示的图形数据通过 ssh发送给 运行在本地的 Xming server,然后由Xming server 负责显示。所以,从图形显示的角度来说,xming就是server。 一:Xming的安装 到sourceforge上下载:http://sourceforge.net/projects/xming/?source=typ_redirect, 分别下载 xming 与 xming-fonts。 至于安装过程,没什么好说的。 二:Xming的配置 三:Unix/Linux 服务器的配置 修改下要登录的服务器的配置文件,增加对 X11 Forwarding的支持: sudo vi /etc/ssh/sshd_config: (在文件的末尾,增加以下配置) X11Forwarding yes 四:putty的配置

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册