首页 文章 精选 留言 我的

精选列表

搜索[私有AI],共10003篇文章
优秀的个人博客,低调大师

企业私有云之mariadb集群高可用

上篇文章介绍了openstack组件rabbitmq高可用,现在介绍其另一个重要组件mysql高可用。 我是本次选择mysql的版本是mariadb,集群方法是galera cluster多主集群。 其实也有很多其他方案,如pxc、mha等等,选择galera的原因是安装方便,使用与维护也方便,多主模式任何一个节点挂了都可以在另外节点查看数据,同时openstack各组件也支持配置集群方式的配置。 简介 MariaDBGaleraCluster是一套在mysqlinnodb存储引擎上面实现multi-master及数据实时同步的系统架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到各个节点上去。在数据方面完全兼容MariaDB和MySQL。 特性 (1).同步复制Synchronousreplication (2).Active-activemulti-master拓扑逻辑 (3).可对集群中任一节点进行数据读写 (4).自动成员控制,故障节点自动从集群中移除 (5).自动节点加入 (6).真正并行的复制,基于行级 (7).直接客户端连接,原生的MySQL接口 (8).每个节点都包含完整的数据副本 (9).多台数据库中数据同步由wsrep接口实现 不过局限性也有很多,比如复制仅支持innode,节点必须是3个等等,具体看官网介绍。 下面是安装 环境 系统centos 7.1 /etc/hosts是 node1192.168.1.18 node2192.168.1.20 node3192.168.1.19 一、安装基础库(所有节点运行) yum-yinstallmakecmakebcgccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5-devellibidnlibidn-developensslopenssl-develnss_ldapopenldapopenldap-developenldap-clientsopenldap-serverslibxslt-devellibevent-develntplibtool-ltdlbisonlibtoolvim-enhancedtarwgetreadline-devellibyaml-develpatchtelnetlrzszsysstatscreenpartedrsynclibselinux-pythondmidecodentpdatesaropenssh-clientsman 二、配置mariadb源(所有节点运行) cat>/etc/yum.repos.d/mariadb.repo<<EOF #MariaDB10.1CentOSrepositorylist-created2016-05-2407:59UTC #http://mariadb.org/mariadb/repositories/ [mariadb] name=MariaDB baseurl=http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF 三、安装(所有节点运行) yuminstallMariaDB-serverMariaDB-client-y 四、配置 1、在node1里运行 主要是修改bind-address、wsrep_cluster_name、wsrep_node_address、wsrep_node_name [root@mysql-cluster-1my.cnf.d]#cat/etc/my.cnf.d/server.cnf|grep-v'^#'|sed'/^$/d' [server] [mysqld] collation-server=utf8_general_ci init-connect='SETNAMESutf8' character-set-server=utf8 skip-name-resolve skip-host-cache open_files_limit=65535 max_connections=5000 bind-address=192.168.1.18 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 innodb_file_per_table character-set-server=utf8 [galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_provider_options="pc.recovery=TRUE;gcache.size=300M" wsrep_cluster_address='gcomm://' wsrep_cluster_name='ck-galera' wsrep_node_address='192.168.1.18' wsrep_node_name='m-1' wsrep_sst_method=rsync [embedded] [mariadb] [mariadb-10.1] 启动 systemctlenablemariadb systemctlstartmariadb 初始化 [root@mysql-cluster-1log]#mysql_secure_installation NOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMariaDB SERVERSINPRODUCTIONUSE!PLEASEREADEACHSTEPCAREFULLY! InordertologintoMariaDBtosecureit,we'llneedthecurrent passwordfortherootuser.Ifyou'vejustinstalledMariaDB,and youhaven'tsettherootpasswordyet,thepasswordwillbeblank, soyoushouldjustpressenterhere. Entercurrentpasswordforroot(enterfornone): OK,successfullyusedpassword,movingon... SettingtherootpasswordensuresthatnobodycanlogintotheMariaDB rootuserwithouttheproperauthorisation. Setrootpassword?[Y/n]y Newpassword: Re-enternewpassword: Passwordupdatedsuccessfully! Reloadingprivilegetables.. ...Success! Bydefault,aMariaDBinstallationhasananonymoususer,allowinganyone tologintoMariaDBwithouthavingtohaveauseraccountcreatedfor them.Thisisintendedonlyfortesting,andtomaketheinstallation goabitsmoother.Youshouldremovethembeforemovingintoa productionenvironment. Removeanonymoususers?[Y/n]y ...Success! Normally,rootshouldonlybeallowedtoconnectfrom'localhost'.This ensuresthatsomeonecannotguessattherootpasswordfromthenetwork. Disallowrootloginremotely?[Y/n]n ...skipping. Bydefault,MariaDBcomeswithadatabasenamed'test'thatanyonecan access.Thisisalsointendedonlyfortesting,andshouldberemoved beforemovingintoaproductionenvironment. Removetestdatabaseandaccesstoit?[Y/n]y -Droppingtestdatabase... ...Success! -Removingprivilegesontestdatabase... ...Success! Reloadingtheprivilegetableswillensurethatallchangesmadesofar willtakeeffectimmediately. Reloadprivilegetablesnow?[Y/n]y ...Success! Cleaningup... Alldone!Ifyou'vecompletedalloftheabovesteps,yourMariaDB installationshouldnowbesecure. ThanksforusingMariaDB! 查询集群数量 [root@mysql-cluster-1log]#mysql-uroot-p-e"showstatuswhereVariable_namelike'wsrep_cluster_size'" Enterpassword: +--------------------+-------+ |Variable_name|Value| +--------------------+-------+ |wsrep_cluster_size|1| +--------------------+-------+ 可以看到只有一个 查看当前集群ip [root@mysql-cluster-1log]#mysql-uroot-p-e"showstatuswhereVariable_namelike'wsrep_incoming_addresses'" Enterpassword: +--------------------------+-------------------+ |Variable_name|Value| +--------------------------+-------------------+ |wsrep_incoming_addresses|192.168.1.18:3306| +--------------------------+-------------------+ 2、在node里配置 同样修改bind-address、wsrep_cluster_name、wsrep_node_address、wsrep_node_name [root@mysql-cluster-2log]#grep-v'^#'/etc/my.cnf.d/server.cnf|sed'/^$/d' [server] [mysqld] collation-server=utf8_general_ci init-connect='SETNAMESutf8' character-set-server=utf8 skip-name-resolve skip-host-cache open_files_limit=65535 max_connections=5000 bind-address=192.168.1.20 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 innodb_file_per_table character-set-server=utf8 [galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_provider_options="pc.recovery=TRUE;gcache.size=300M" wsrep_cluster_address='gcomm://192.168.1.18' wsrep_cluster_name='ck-galera' wsrep_node_address='192.168.1.20' wsrep_node_name='m-2' wsrep_sst_method=rsync [embedded] [mariadb] [mariadb-10.1] 启动 systemctlenablemariadb systemctlstartmariadb 查看集群数量 [root@mysql-cluster-2log]#mysql-uroot-p-e"showstatuswhereVariable_namelike'wsrep_cluster_size'" Enterpassword: +--------------------+-------+ |Variable_name|Value| +--------------------+-------+ |wsrep_cluster_size|2| +--------------------+-------+ 可以看到已经有2个节点了 查看集群ip [root@mysql-cluster-2log]#mysql-uroot-p-e"showstatuswhereVariable_namelike'wsrep_incoming_addresses'" Enterpassword: +--------------------------+-------------------------------------+ |Variable_name|Value| +--------------------------+-------------------------------------+ |wsrep_incoming_addresses|192.168.1.20:3306,192.168.1.18:3306| +--------------------------+-------------------------------------+ 可以看到node1与node2都在里面 3、在node3里配置 修改跟node1与node2一样 [root@mysql-cluster-3~]#grep-v'^#'/etc/my.cnf.d/server.cnf|sed'/^$/d' [server] [mysqld] collation-server=utf8_general_ci init-connect='SETNAMESutf8' character-set-server=utf8 skip-name-resolve skip-host-cache open_files_limit=65535 max_connections=5000 bind-address=192.168.1.19 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 innodb_file_per_table character-set-server=utf8 [galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_provider_options="pc.recovery=TRUE;gcache.size=300M" wsrep_cluster_address='gcomm://192.168.1.18,192.168.1.20' wsrep_cluster_name='ck-galera' wsrep_node_address='192.168.1.19' wsrep_node_name='m-3' wsrep_sst_method=rsync [embedded] [mariadb] [mariadb-10.1] 启动 systemctlenablemariadb systemctlstartmariadb 查看集群数量 [root@mysql-cluster-3~]#mysql-uroot-p-e"showstatuswhereVariable_namelike'wsrep_cluster_size'" Enterpassword: +--------------------+-------+ |Variable_name|Value| +--------------------+-------+ |wsrep_cluster_size|3| +--------------------+-------+ 查看集群ip [root@mysql-cluster-3~]#mysql-uroot-p-e"showstatuswhereVariable_namelike'wsrep_incoming_addresses'" Enterpassword: +--------------------------+-------------------------------------------------------+ |Variable_name|Value| +--------------------------+-------------------------------------------------------+ |wsrep_incoming_addresses|192.168.1.19:3306,192.168.1.20:3306,192.168.1.18:3306| +--------------------------+-------------------------------------------------------+ 可以看到3个节点都在里面了。 下一步大家如果想测试,可以在任意一个节点里创建数据库与表,插入数据后,在另外节点里查看是否有对应信息,我这里就不列举了。

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

kodexplorer开源私有云程序配置文件解析

config/setting_user.php 追加内容(一下都是,注意不要使用中文引号、双引号及分号) //【指定多语言只保留中文】 $GLOBALS['config']['settings']['language'] = 'zh-CN'; //【自定义群组创建时自动新建的目录】 $GLOBALS['config']['settingSystemDefault']['newGroupFolder'] = 'share,文档,图片,视频'; //【自定义用户桌面文件夹目录】 $GLOBALS['config']['settingSystemDefault']['desktopFolder'] = 'desktop'; //【配置静态文件CDN访问URL】 // 步骤:先将kod下面static文件夹上传到CDN服务器,配置到如下即可 // 例如官网demo的静态文件cdn路径:http://static.kodcloud.com/kod/static/4.25/ $GLOBALS['config']['settings']['staticPath'] = ""; //【配置插件静态文件到CDN】 $GLOBALS['config']['settings']['pluginHost'] = ''; //【上传速度优化】 $GLOBALS['config']['settings']['updloadThreads'] = 10;//多线程上传,同时上传线程数 $GLOBALS['config']['settings']['updloadChunkSize'] = 1024*1024*20; //分片上传分片大小(不能大于php.ini中设置的上传大小限制,否则文件会上传不成功) //【nginx优化文件下载速度】 // 调用nginx直接输出下载,提升速度 http://www.laruence.com/2012/05/02/2613.html; // https://www.lovelucy.info/x-sendfile-in-nginx.html $GLOBALS['config']['settings']['httpSendFile'] = true; //新用户初始化默认配置 $GLOBALS['config']['settingDefault'] = array( 'listType' => "icon", // 文件列表模式 列表|图标|分栏 ==> list||icon||split 'listSortField' => "name", // 排序字段 文件名|文件大小|扩展名|最后修改时间 ==> name||size||ext||mtime 'listSortOrder' => "up", // 升序降序 默认升序 up||down 'fileIconSize' => "80", // 图标模式图标大小 'animateOpen' => "1", // 界面动画动画,默认开启 'soundOpen' => "0", // 操作音效 'theme' => "win10", // 默认主题; app theme [mac,win7,win10,metro,metro_green,alpha] 'wall' => "8", // 默认壁纸 "fileRepeat" => "replace", // 同名文件默认处理方式: 同时保留,替换,跳过 ==> rename,replace,skip "recycleOpen" => "1", // 是否开启回收站 1 | 0 代表是否开启 'resizeConfig' => // 列表模式不同字段宽度初始值 '{"filename":250,"filetype":80,"filesize":80,"filetime":215,"editorTreeWidth":200,"explorerTreeWidth":200}' ); $GLOBALS['config']['editorDefault'] = array( 'fontSize' => '14px', 'theme' => 'tomorrow', 'autoWrap' => 1, //自适应宽度换行 'autoComplete' => 1, 'functionList' => 1, "tabSize" => 4, "softTab" => 1, "displayChar" => 0, //是否显示特殊字符 "fontFamily" => "Menlo", //字体 "keyboardType" => "ace" //ace vim emacs ); 配置apiLoginTonken同上打开 /config/setting_user.php;追加如下行; //自行设置;长度不小于5,为安全考虑建议尽量复杂;该数值切勿泄露,建议定时更换; $GLOBALS['config']['settings']['apiLoginTonken'] = 'ffmoipwjeij'; 去除随机壁纸 管理员登陆,右上角打开系统设置——选中『其他』tab——在自定义css中追加 #random-wallpaper,.randomImage{display:none;visibility: hidden;} 去除授权标识 系统设置右上角授权版标识 管理员登陆,右上角打开系统设置——选中『其他』tab——在自定义css中追加 .setting-page .version-vip{display:none;visibility: hidden;}

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

搭建私有git服务器进行版本控制

一、安装git 分别在服务器和本地安装最新版本的git 1、服务器上源码安装最新版git 通常centos上使用yum源安装的git版本过低 检查系统上是否已经安装git,若已有则卸载 // 查看当前git版本# git --version git version1.7.1// 卸载旧版本# yum remove -y git 安装依赖包,下载最新版本git源码 #yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel#wget https://github.com/git/git/archive/v2.13.2.tar.gz#tar zxf v2.13.2.tar.gz 安装git,配置环境变量 #cdgit-2.13.2#make prefix=/usr/local/git all#make prefix=/usr/local/git install#echo"export PATH=$PATH:/usr/local/git/bin">> /etc/bashrc#source/etc/bashrc // 实时生效 查看git版本号,正确显示则安装成功 # git --version gitversion2.13.2 若编译时报错如下 libgit.a(utf8.o): Infunction`reencode_string_iconv': /usr/local/src/git-2.13.2/utf8.c:463: undefined reference to `libiconv' libgit.a(utf8.o): Infunction`reencode_string_len': /usr/local/src/git-2.13.2/utf8.c:524: undefined reference to `libiconv_open' /usr/local/src/git-2.13.2/utf8.c:535: undefined reference to `libiconv_close' /usr/local/src/git-2.13.2/utf8.c:529: undefined reference to `libiconv_open' collect2: ld returned 1exitstatus make: *** [git-credential-store] Error 1 可以按照如下方式解决 // 对之前git的make 操作进行 make clean#make clean#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz#tar zxf libiconv-1.14.tar.gz#cdlibiconv-1.14#./configure --prefix=/usr/local/libiconv#make && make install // 创建一个软链接到/usr/lib#ln -s /usr/local/lib/libiconv.so /usr/lib#ln -s /usr/local/lib/libiconv.so.2 /usr/lib 然后 #make configure#./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv/#make && make install#echo"export PATH=$PATH:/usr/local/git/bin">> /etc/bashrc#source/etc/bashrc 配置git 用户名及邮箱 #git config --global user.name'your name'#git config --global user.email'your email address' 2、本地安装最新版git(此处演示为Windows上安装) windows上安装直接下载最新版安装包,双击->下一步… 即可完成安装 所有选项默认即可 打开 git-bash,配置git 用户名和邮箱,同服务端配置第6步 想要学习Java高架构、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频免费获取 架构群:835544715 点击链接加入群聊【JAVA高级架构】:https://jq.qq.com/?_wv=1027&k=5dbERkY 二、服务器设置 1、添加一个git用户,为安全起见禁用shell登录 # useradd git // 为安全起见,禁用 git 用户的shell登录 #vim/etc/passwd // 修改 git 用户的shell为 git-shell,路径使用 which git-shell查看 // 找到如下一行 git:x:1001:1001::/home/git:/bin/bash // 修改成如下 git:x:1001:1001::/home/git:/usr/local/git/bin/git-shell 2、初始化一个项目目录为一个仓库 // 进入到项目目录# git init 3、将该目录克隆成为裸仓库(作为中介)并设置裸仓库所有者为git用户 // 创建一个裸仓库#gitclone--bare ProjectPath /srv/myProject.git 4、将裸仓库添加为远程仓库 // 进入到项目目录# git remote add origin /srv/myProject.git// 修改远程仓库所属主和所属组# chown -R git.git /srv/myProject.git 5、将服务器上的项目添加到远程仓库即 /srv/myProject.git #git add .#git commit -m'comment'#git push origin master 6、在该用户的家目录下面保存本地用户的公钥 #su git$cd~$make .ssh$chmod 700 .ssh$cd.ssh$touch authorized_keys$chmod 600 authorized_keys // 然后在 authorized_keys 文件中加入本地用户的公钥 id_rsa.pub 7、打开git服务器的RSA认证 # vim /etc/ssh/sshd_config//找到下面3行并去掉注释1.RSAAuthenticationyes 2.PubkeyAuthenticationyes 3.AuthorizedKeysFile .ssh/authorized_keys 三、本地设置(Windows端) 1、生成公钥并交给服务端 // 打开 git-bash,生成公钥 $ ssh-keygen-t rsa// 在用户目录下的.ssh目录里面会生成 id_rsa, id_rsa.pub// 将 id_rsa.pub 里的内容拷贝到服务器上 2、在保存公钥的同级目录下面新建config文件指定ssh端口(可选) ==类似使用搬瓦工VPS的可能默认ssh端口不是22的需要配置这个== Host your domain nameorserver ip User 服务端添加的git用户名 Hostname your domain nameorserver ip Port ssh 端口 IdentityFile ~/.ssh/id_rsa 3、从服务器克隆项目到本地 $gitcloneyrscgit@yrsc0597.com:/srv/yrsc.git 4、添加远程仓库 四、测试 本地更改,添加,删除项目,然后推送修改到远程仓库 服务器项目目录下拉取最新的版本

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

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

用户登录
用户注册