首页 文章 精选 留言 我的

精选列表

搜索[自动装配],共10012篇文章
优秀的个人博客,低调大师

CentOS.6.6中 PHP-5.5.38安装配置

检查并安装相关依赖包 [root@lnmp02 tools]# rpm -qazlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel [root@lnmp02 tools]# rpm -qafreetype-devel libpng-devel gd-devel libcurl-devel libxslt libxslt-devel pcrepcre-devel [root@lnmp02 tools]# yum -yinstall zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel [root@lnmp02 tools]# yum -yinstall freetype-devel libpng-devel gd-devel libcurl-devel libxslt libxslt-develpcre pcre-devel 注意yum源里无libiconv-devel包,需要用源码包单独安装 [root@lnmp02 tools]# wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz [root@lnmp02 tools]# tar zxvflibiconv-1.14.tar.gz [root@lnmp02 tools]# cdlibiconv-1.14 [root@lnmp02 libiconv-1.14]#./configure --prefix=/usr/local/libiconv [root@lnmp02 libiconv-1.14]#make [root@lnmp02 libiconv-1.14]#make install 安装libmcrypt-devel、mcrypt、mhash、mhash-devel包,由于官方yum源里无此四个包,所以选择epel yum源安装 [root@lnmp02 ~]# wget -O/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo ###安装epel yum源,此yum源于官方的不冲突,官方找不到需要的包时,才会从epel里找相应的包 [root@lnmp02 ~]# yum -y installlibmcrypt-devel mcrypt mhash mhash-devel 编译安装PHP [root@lnmp02 php-5.5.38]#./configure --prefix=/application/php-5.5.38 --with-mysql=mysqlnd--with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-png-dir--with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath--enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl--enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd--enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl--enable-sockets --with-xmlrpc --enable-soap --enable-short-tags--enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp [root@lnmp02 php-5.5.38]# make =============================================================================== 编译过程中报错1: /home/wangning/tools/php-5.5.38/sapi/cli/php:error while loading shared libraries: libmysqlclient.so.18: cannot open sharedobject file: No such file or directory make: *** [ext/phar/phar.php]Error 127 解决报错1方法: [root@lnmp02 php-5.5.38]# ln -s/application/mysql/lib/libmysqlclient.so.18/usr/lib64/ [root@lnmp02 php-5.5.38]# touchext/phar/phar.phar 或者 [root@lnmp02 php-5.5.38]# echo"/application/mysql/lib">>/etc/ld.so.conf [root@lnmp02 php-5.5.38]# ldconfig 编译过程中报错2: /usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exitstatus make: *** [sapi/fpm/php-fpm]Error 1 解决报错2方法: [root@lnmp02 php-5.5.38]# yum-y install libtool-ltdl-devel =============================================================================== [root@lnmp02 php-5.5.38]# makeinstall [root@lnmp02 php-5.5.38]# ln -s/application/php5.3.27/ /application/php 配置php配置文件 [root@lnmp02 php-5.5.38]# cpphp.ini-production /application/php/lib/php.ini [root@lnmp02 php-5.5.38]# cp/application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf 把配置好的php-fpm.conf上传到/application/php/etc目录下 php-fpm.conf见附件 [root@lnmp02 etc]# mkdir/app/logs -p ###创建logs目录,php-fpm.conf文件里定义的日志路径 [root@lnmp02 etc]#/application/php/sbin/php-fpm ###启动PHP服务 [root@lnmp02 etc]# ps -ef|grepphp ###查看php进程 [root@lnmp02 etc]# lsof -i:9000 ###通过端口号查看php进程是否起来 本文转自 茁壮的小草 51CTO博客,原文链接:http://blog.51cto.com/wn2100/1941570,如需转载请自行联系原作者

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

Docker虚拟化技术系列之-Docker安装配置

如何在Centos6.x系列服务器安装,默认docker只有在centos6.5以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epel。 docker官方文档说要求Linux kernel至少3.8以上,一般为centos6.5或者Ubuntu系统,那centos6.5如何来安装呢? 在Centos6.x系列安装docker软件,首先要关闭selinux,然后需要安装相应的epel源,如下: 1 2 3 sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config wgethttp: //ftp .riken.jp /Linux/fedora/epel/6/x86_64/epel-release-6-8 .noarch.rpm rpm-ivhepel-release-6-8.noarch.rpm yum install lxc libcgroupdevice-mapper-event-libs 然后安装docker: #yuminstalldocker-io yum install device-mapper* -y 安装完后: 启动docker进程:/etc/init.d/docker start 查看docker进程:ps -ef |grep docker Docker简单使用: 要使用docker虚拟化,首先我们需要去下载一个镜像,然后使用docker命令启动,为了好让大家理解,我这里直接利用docker启动一个新的centos系统哦。 去公共仓库下载centos镜像,下载的速度取决于网速哦。 http://182.92.188.163/centos6.5.tar(如果地址无法访问,可以docker search centos,然后docker pull id去下载对应的images即可) 本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1899808

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

centos 6.5 Atlas 中间件的安装配置

前言: Atlasy由奇虎出品,在mysqp-proxy上开发而已,自带lua脚本,th用于取代 mysql-proxy和amoebo ,后两者已经停止开发. atlas :192.168.168.130 master:192.168.168.128 slave: 192.168.168.129 配置master和slave 主从: 参考:http://752030200.blog.51cto.com/8936921/1853460 首先从官方下载rpm安装包。https://github.com/Qihoo360/Atlas/releases ## el6 代表用于centos 6.x系统,el5 用于centos 5.x 3.安装:rpm -i Atlas-2.2.1.el6.x86_64.rpm #默认安装路径:/usr/local/mysql-proxy/ 4.vim /usr/local/mysql-proxy/conf/test.cnf #修改配置文件,注意 true,false 参数后面不能有空格,不然会报错,判断方法:非编辑模式下光标向右移动不能移动到最后表示无空间,否则有空格。 主要根据实际调整几个: [mysql-proxy] #带#号的为非必需的配置项目 #管理接口的用户名 admin-username = atlas #管理接口的密码 admin-password = atlas #Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔 proxy-backend-addresses = 192.168.168.128:3306 #Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔 proxy-read-only-backend-addresses = 192.168.168.129:3306@1 #用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,下行的user1和user2为示例,将其替换为你的MySQL的用户名和加密密码! #密码加密: encrypt 123456 结果等于: /iZxz+0GRoA= pwds = root@yaho:/iZxz+0GRoA= 5. 启动 / 停止 /重启 atlas (加配置文件名): [root@yaho ~]# /usr/local/mysql-proxy/bin/mysql-proxydteststart [root@yaho ~]# /usr/local/mysql-proxy/bin/mysql-proxydteststop [root@yaho ~]# /usr/local/mysql-proxy/bin/mysql-proxydtestrestart 6. 登录atlas管理界面: [root@yaho ~]# mysql -u atlas -patlas -h127.0.0.1 -P2345 --大写P mysql> SELECT * FROM help;---查看所有可用的命令帮忙 mysql> SELECT * FROM backends; --查看后端的信息 +-------------+----------------------+------+-------+---------+ | backend_ndx | address | state | type | +-------------+----------------------+------+-------+---------+ | 1 | 192.168.168.128:3306 | up | rw | | 2 | 192.168.168.129:3306 | up | ro | +-------------+----------------------+----+---------+---------+ 2 rows in set (0.00 sec) 验证: 7. 先登录slave 先把slave停止. mysql>slave stop; 8. 登录atlas对mysql进行操作: [root@yaho ~]# mysql -u root -p123456 -h127.0.0.1 -P1234 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 5 rows in set (0.00 sec) mysql>create database TOP; --新建一个数据库TOP,成功 Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | TOP | | mysql | | test | +--------------------+ 4 rows in set (0.01 sec) 9. 登录master 查看是否有 TOP 数据库 [root@yaho ~]# mysql mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | TOP | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec) 10. 登录 SLAVE查看是否有 TOP 数据库 [root@yaho ~]# mysql mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec) 11 .登录slave 把slave开启 mysql>slave start; 12. [root@yaho ~]# mysql mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | TOP | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec) 可以看到在atlas 新建一个TOP数据库时,成功写入到master上,并且SLAVE 成功从MASTER上复制过来。 注意:1.用户名和加密密码这段用来登录mysql进行操作。 2. 管理接口用户用来管理 atlas 。 3.当atlas 没有启动时,用restart不能启动atlas服务,并会报错。 本文转自笔下生辉 51CTO博客,原文链接:http://blog.51cto.com/752030200/1871864,如需转载请自行联系原作者

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

Mahout 安装配置及一个简单测试

Mahout 简介 Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类、聚类等。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。 Hadoop http://blog.csdn.net/fenglailea/article/details/53318459 风.fox 环境 Centos7 服务器 当前最新版 0.12.2 Mahout下载地址 http://archive.apache.org/dist/mahout/ http://archive.apache.org/dist/mahout/0.12.2/ wget http://archive.apache.org/dist/mahout/0.12.2/apache-mahout-distribution-0.12.2.tar.gz tar -zxvf apache-mahout-distribution-0.12.2.tar.gz 这里放到 Hadoop 目录里 mv apache-mahout-distribution-0.12.2 /home/hadoop/mahout Mahout环境变量设置 设置全局/etc/bashrc,当前用户~/.bashrc 这里使用当前用户 vim ~/.bashrc mahout环境变量 export MAHOUT_HOME=/home/hadoop/mahout export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH hadoop环境变量 export HADOOP_HOME=/home/hadoop/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$HADOOP_HOME/bin export HADOOP_HOME_WARN_SUPPRESS=not_null 应用环境变量 . ~/.bashrc 查询是否安装成功, mahout 若出现一下,表示安装成功 arff.vector: : Generate Vectors from an ARFF file or directory baumwelch: : Baum-Welch algorithm for unsupervised HMM training canopy: : Canopy clustering cat: : Print a file or resource as the logistic regression models would see it cleansvd: : Cleanup and verification of SVD output clusterdump: : Dump cluster output to text clusterpp: : Groups Clustering Output In Clusters cmdump: : Dump confusion matrix in HTML or text formats cvb: : LDA via Collapsed Variation Bayes (0th deriv. approx) cvb0_local: : LDA via Collapsed Variation Bayes, in memory locally. describe: : Describe the fields and target variable in a data set evaluateFactorization: : compute RMSE and MAE of a rating matrix factorization against probes fkmeans: : Fuzzy K-means clustering hmmpredict: : Generate random sequence of observations by given HMM itemsimilarity: : Compute the item-item-similarities for item-based collaborative filtering kmeans: : K-means clustering lucene.vector: : Generate Vectors from a Lucene index matrixdump: : Dump matrix in CSV format matrixmult: : Take the product of two matrices parallelALS: : ALS-WR factorization of a rating matrix qualcluster: : Runs clustering experiments and summarizes results in a CSV recommendfactorized: : Compute recommendations using the factorization of a rating matrix recommenditembased: : Compute recommendations using item-based collaborative filtering regexconverter: : Convert text files on a per line basis based on regular expressions resplit: : Splits a set of SequenceFiles into a number of equal splits rowid: : Map SequenceFile<Text,VectorWritable> to {SequenceFile<IntWritable,VectorWritable>, SequenceFile<IntWritable,Text>} rowsimilarity: : Compute the pairwise similarities of the rows of a matrix runAdaptiveLogistic: : Score new production data using a probably trained and validated AdaptivelogisticRegression model runlogistic: : Run a logistic regression model against CSV data seq2encoded: : Encoded Sparse Vector generation from Text sequence files seq2sparse: : Sparse Vector generation from Text sequence files seqdirectory: : Generate sequence files (of Text) from a directory seqdumper: : Generic Sequence File dumper seqmailarchives: : Creates SequenceFile from a directory containing gzipped mail archives seqwiki: : Wikipedia xml dump to sequence file spectralkmeans: : Spectral k-means clustering split: : Split Input data into test and train sets splitDataset: : split a rating dataset into training and probe parts ssvd: : Stochastic SVD streamingkmeans: : Streaming k-means clustering svd: : Lanczos Singular Value Decomposition testnb: : Test the Vector-based Bayes classifier trainAdaptiveLogistic: : Train an AdaptivelogisticRegression model trainlogistic: : Train a logistic regression using stochastic gradient descent trainnb: : Train the Vector-based Bayes classifier transpose: : Take the transpose of a matrix validateAdaptiveLogistic: : Validate an AdaptivelogisticRegression model against hold-out data set vecdist: : Compute the distances between a set of Vectors (or Cluster or Canopy, they must fit in memory) and a list of Vectors vectordump: : Dump vectors from a sequence file to text viterbi: : Viterbi decoding of hidden states from given output states sequence Mahout 和Hadoop 集成测试 首先,hadoop 要安装完成及启动 http://blog.csdn.net/fenglailea/article/details/53318459 下载测试数据 http://archive.ics.uci.edu/ml/databases/synthetic_control/ wget http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data hadoop 上传测试数据 hadoop fs -mkdir -p ./testdata hadoop fs -put synthetic_control.data ./testdata 查看目录及文件 hadoop fs -ls hadoop fs -ls ./testdata 使用Mahout中的kmeans聚类算法进行测试 mahout -core org.apache.mahout.clustering.syntheticcontrol.kmeans.Job XX执行完成,最后几行如下 1.0 : [distance=55.039831561905785]: [33.67,38.675,39.742,41.989,37.291,43.975,31.909,25.878,31.08,15.858,13.95,23.097,19.983,21.692,31.579,38.57,33.376,38.843,41.936,33.534,39.195,32.897,25.343,18.523,15.089,17.771,22.614,25.313,23.687,29.01,41.995,35.712,40.872,41.669,32.156,25.162,24.98,23.705,18.413,20.975,14.906,26.171,30.165,27.818,35.083,39.514,37.851,33.967,32.338,34.977,26.589,28.079,19.597,24.669,23.098,25.685,28.215,34.94,36.91,39.749] 16/11/24 16:47:52 INFO ClusterDumper: Wrote 6 clusters 16/11/24 16:47:52 INFO MahoutDriver: Program took 22175 ms (Minutes: 0.3695833333333333) 查看输出 hadoop fs -ls ./output Found 15 items -rw-r--r-- 1 hadoop supergroup 194 2016-11-24 16:47 output/_policy drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusteredPoints drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-0 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-1 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-10-final drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-2 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-3 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-4 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-5 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-6 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-7 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-8 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/clusters-9 drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/data drwxr-xr-x - hadoop supergroup 0 2016-11-24 16:47 output/random-seeds 查看数据 mahout vectordump -i ./output/data/part-m-00000 查看 http://itindex.net/detail/51681-mahout http://blog.csdn.net/wind520/article/details/38851367

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

HBase基础和伪分布式安装配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/43796441 一、HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的。 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 列族(column family),列的集合。 一张表中有多个行健,一个行健读取出来的是一条记录,列族和MySQL中的列差不多,但是它是列的集合 HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。 HBase表中的数据存储在本地磁盘上的时候,每个列族单独一个作为文件存储。 上图表示HBase中表的一行 和关系型数据库不同的是 关系型数据库一行中每一个列的值只能是一个,如: UserId UserName 1 JChubby 而在NoSql中,一行里面某一个列的值可能是多个的,如上图,或者: UserId UserName 1 JChubby Looky 其中省略了timestamp时间戳这一列,但是在NoSql中读取这一行数据的出来时,数据应该是和关系型数据库读出来的是差不多的 时间戳列起到了标识列数据版本的作用,当没有指定时间戳的时候默认取的是最新的列数据,具体请参照上图 1.4 存储的数据都是字节数组。 二、HBase的物理模型 2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。 2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。 如:在一个有1W行健的表中,每2K个行健拆分成一个region分别存储在不同的节点中,每个region记录着行健的起始位置和最终位置[startkey,endkey] 许多个region存储在region server(单独的物理机器)中的。 这样,对表的操作转化为对多台region server的并行查询。 HBase中有两种特殊的表,分别是-ROOT和.META .META中记录着各个region的起止行健,当.META中的记录很大时,又会按照相同的规则拆分成不同的region记录中-ROOT表中 如上图所示,当要查询数据时,先找-ROOT表中记录的region信息,找到对应的.META表中的region,在到实际的节点上的region查询数据 三、HBase的体系结构 3.1 HBase是主从式结构,HMaster、HRegionServer 四、HBase伪分布安装 HBase的安装是是建立在hadoop和zookeeper集群之上的 安装时确保hadoop和zookeeper集群已安装成功并启动 4.1 解压缩、重命名、设置环境变量 把hbase-0.94.2-security.tar.gz复制到/home/hadoop 解压hbase-0.94.2-security.tar.gz与重命名 #cd /home/hadoop #tar -zxvf hbase-0.94.2-security.tar.gz #mv hbase-0.94.2-security hbase 修改/etc/profile文件。 #vi /etc/profile 增加 export HBASE_HOME=/home/hadoop/hbase 修改 export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin 保存退出 #source /etc/profile 4.2 修改$HBASE_HOME/conf/hbase-env.sh,修改内容如下: export JAVA_HOME=/usr/java/jdk1.6.0_45 export HBASE_MANAGES_ZK=true 第一个配置java环境变量 第二个配置在本机器上的HBase可以自己启动zookeeper和使用 4.2 修改$HBASE_HOME/conf/hbase-site.xml,修改内容如下: <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> hbase.rootdir配置在hdfs文件系统上hbase存储的路径 hbase.cluster.distributed配置是否是分布式的 hbase.zookeeper.quorum配置zookeeper在哪个节点上 dfs.replication配置副本个数 注意:hbase.rootdir的主机和端口号与hadoop的配置文件core-site.xml的fs.default.name的主机和端口号一致 4.3 (可选)文件regionservers的内容为master,该文件记录regionserver的各个节点的主机名,因为是伪分布式安装,所只写一个,localhost或者主机名都可以 4.4 启动hbase,在bin目录下执行命令start-hbase.sh ******启动hbase之前,确保hadoop是运行正常的,并且可以写入文件******* 4.5 验证是否安装成功: (1)执行jps,发现新增加了3个java进程,分别是HMaster、HRegionServer、HQuorumPeer (2)使用浏览器访问http://master:60010,可以进入和hadoop类似的web管理页面

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

一文了解Docker核心概念和安装配置

核心概念 Docker 有三大核心概念,分别是镜像,容器,仓库。 Docker 镜像 Docker 镜像类似于虚拟机的镜像,可以把它理解为一个只读的模板,例如一个镜像可以包含一个基本的操作系统环境,里面仅仅安装了Apache应用程序,可以把它称之为一个Apache镜像。镜像是创建Docker容器的基础。通过版本管理和增量文件系统,Docker提供了一套十分简单的机制来更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并进行使用。 Docker 容器 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,它可以启动,开始停止删除,这些容器彼此相互隔离,互相不可见。可以把容器看做一个简易版的Linux系统环境,以及运行在其中的应用程序打包而成的盒子。 Docker 仓库 Docker仓库类似于代码仓库,是Docker集中保存镜像文件的场所。根据保存的镜像是否公开与否,Docker仓库可以分为公开仓库和私有仓库两种形式。 安装Docker引擎 下面的实例,是在Windows下安装docker 访问官网的首页。https://www.docker.com/ 单击立即适用,选择windows版本的下载 单击项目进行安装 进行安装 检验是否安装成功打开powershell 输入docker 这样,windows 版本的docker已经安装完毕 使用Docker镜像 对于docker镜像的使用如下 获取镜像 获取docker镜像,使用如下的命令。输入命令获取docker镜像 docker pull ubuntu 从下载的过程可以看到,对于docker容器来说,镜像文件一般由若干层组成, 每一个字符串都是唯一的id,使用docker的pull命令的时候,会一层层的下载相关的镜像,并由上一层镜像指向上上一层的镜像。 查看镜像的信息 使用docke的images命令,查看docker的镜像信息。 上方使用images列出docker的镜像信息。 使用tag命令添加镜像的标签 为了方便于docker镜像的使用,使用docker的tag命令,添加docker的镜像标签。 docker tag ubuntu:latest myubuntu:laster 使用的效果如下 使用inspect命令查看docker的详细信息 docker image inspect ubuntu 查看信息如下 PS C:\Users\Administrator\Desktop> docker image inspect ubuntu [ { "Id": "sha256:74435f89ab7825e19cf8c92c7b5c5ebd73ae2d0a2be16f49b3fb81c9062ab303", "RepoTags": [ "myubuntu:laster", "ubuntu:latest" ], "RepoDigests": [ "ubuntu@sha256:35c4a2c15539c6c1e4e5fa4e554dac323ad0107d8eb5c582d6ff386b383b7dce" ], "Parent": "", "Comment": "", "Created": "2020-06-17T01:20:56.323568224Z", "Container": "9477bb1d88721b63e0c6a359eb48a081741a0992480bf34bbcebf4e5734fcf67", "ContainerConfig": { "Hostname": "9477bb1d8872", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/bin/bash\"]" ], "ArgsEscaped": true, "Image": "sha256:5412cfe47ff528df823761788f99a11568e2d25f48a4245a3d67cdc3e564c839", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": {} }, "DockerVersion": "18.09.7", "Author": "", "Config": { "Hostname": "", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/bash" ], "ArgsEscaped": true, "Image": "sha256:5412cfe47ff528df823761788f99a11568e2d25f48a4245a3d67cdc3e564c839", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": null }, "Architecture": "amd64", "Os": "linux", "Size": 73856440, "VirtualSize": 73856440, "GraphDriver": { "Data": { "LowerDir": "/var/lib/docker/overlay2/63e1c7f313e414bd5465953da0ceb615cc9c5906c9b539ed164560b18020bc85/diff:/var/lib/docker/overlay2/09f0332099bc97d0052e07879f18271f2c7ea879501498a1eca00711065c9e9a/diff:/var/lib/docker/overlay2/8fef100fbab32d7aa7a3cc70740ef97b45cc9dcfce91453dd10cc502a3fa10f7/diff", "MergedDir": "/var/lib/docker/overlay2/3ec5eeae7aa3781aa605fa1a1dc598c39d7774796600b3c1f86e8190c24d5a47/merged", "UpperDir": "/var/lib/docker/overlay2/3ec5eeae7aa3781aa605fa1a1dc598c39d7774796600b3c1f86e8190c24d5a47/diff", "WorkDir": "/var/lib/docker/overlay2/3ec5eeae7aa3781aa605fa1a1dc598c39d7774796600b3c1f86e8190c24d5a47/work" }, "Name": "overlay2" }, "RootFS": { "Type": "layers", "Layers": [ "sha256:e1c75a5e0bfa094c407e411eb6cc8a159ee8b060cbd0398f1693978b4af9af10", "sha256:9e97312b63ff63ad98bb1f3f688fdff0721ce5111e7475b02ab652f10a4ff97d", "sha256:ec1817c93e7c08d27bfee063f0f1349185a558b87b2d806768af0a8fbbf5bc11", "sha256:05f3b67ed530c5b55f6140dfcdfb9746cdae7b76600de13275197d009086bb3d" ] }, "Metadata": { "LastTagTime": "2020-07-06T13:37:35.064486339Z" } } ] 使用history命令查看镜像历史 docker history ubuntu PS C:\Users\Administrator\Desktop> docker history ubuntu IMAGE CREATED CREATED BY SIZE COMMENT 74435f89ab78 2 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B <missing> 2 weeks ago /bin/sh -c mkdir -p /run/systemd && echo 'do… 7B <missing> 2 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' > /… 811B <missing> 2 weeks ago /bin/sh -c [ -z "$(apt-get indextargets)" ] 1.01MB <missing> 2 weeks ago /bin/sh -c #(nop) ADD file:b2342c7e6665d5ff3… 72.8MB PS C:\Users\Administrator\Desktop> 搜索相关的镜像 搜索官方带nginx的关键字的镜像 PS C:\Users\Administrator\Desktop> docker search --filter=is-official=true nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 13426 [OK] PS C:\Users\Administrator\Desktop> 删除和清理镜像 对镜像镜像相关的删除 使用标签删除镜像 docker rmi ubuntu PS C:\Users\Administrator\Desktop> docker rmi ubuntu Untagged: ubuntu:latest Untagged: ubuntu@sha256:35c4a2c15539c6c1e4e5fa4e554dac323ad0107d8eb5c582d6ff386b383b7dce PS C:\Users\Administrator\Desktop> 使用镜像ID删除镜像 PS C:\Users\Administrator\Desktop> docker images REPOSITORY TAG IMAGE ID CREATED SIZE myubuntu laster 74435f89ab78 2 weeks ago 73.9MB ubuntu latest 74435f89ab78 2 weeks ago 73.9MB PS C:\Users\Administrator\Desktop> docker rmi ubuntu Untagged: ubuntu:latest Untagged: ubuntu@sha256:35c4a2c15539c6c1e4e5fa4e554dac323ad0107d8eb5c582d6ff386b383b7dce PS C:\Users\Administrator\Desktop> docker images REPOSITORY TAG IMAGE ID CREATED SIZE myubuntu laster 74435f89ab78 2 weeks ago 73.9MB PS C:\Users\Administrator\Desktop> docker rmi 74435f89ab78 Untagged: myubuntu:laster Deleted: sha256:74435f89ab7825e19cf8c92c7b5c5ebd73ae2d0a2be16f49b3fb81c9062ab303 Deleted: sha256:8a8d1f0b34041a66f09e49bdc03e75c2190f606b0db7e08b75eb6747f7b49e11 Deleted: sha256:f1b8f74eff975ae600be0345aaac8f0a3d16680c2531ffc72f77c5e17cbfeeee Deleted: sha256:27d46ebb54384edbc8c807984f9eb065321912422b0e6c49d6a9cd8c8b7d8ffc Deleted: sha256:e1c75a5e0bfa094c407e411eb6cc8a159ee8b060cbd0398f1693978b4af9af10 PS C:\Users\Administrator\Desktop> docker images REPOSITORY TAG IMAGE ID CREATED SIZE PS C:\Users\Administrator\Desktop> 清理镜像 使用docker镜像来进行清理 PS C:\Users\Administrator\Desktop> docker image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y Total reclaimed space: 0B PS C:\Users\Administrator\Desktop> docker images REPOSITORY TAG IMAGE ID CREATED SIZE PS C:\Users\Administrator\Desktop> 创建镜像 基于已有的容器创建镜像 查看运行的容器列表 PS C:\Users\Administrator\Desktop> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ff7a974b9771 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 80/tcp fervent_curie 创建相关的容器 docker container commit -m "ming" -a "mingming" ff7a974b9771 test:0.1 再次查看 PS C:\Users\Administrator\Desktop> docker images REPOSITORY TAG IMAGE ID CREATED SIZE test 0.1 54a6eb8d4483 5 seconds ago 132MB ubuntu latest 74435f89ab78 2 weeks ago 73.9MB nginx latest 2622e6cca7eb 3 weeks ago 132MB PS C:\Users\Administrator\Desktop> 完整的过程如下图 使用模板方式创建 https://download.openvz.org/template/precreated/ 下载相关的模板 导入相关的镜像 cat centos-6-x86-minimal.tar.gz|docker import - centos6 使用dockerFile创建 # 构建阶段 FROM node # 指定工作目录 WORKDIR / # 指定工作端口 EXPOSE 4000 # 安装gitbook RUN npm install gitbook -g; RUN npm install gitbook-cli -g; # 拉取文件 RUN git clone https://github.com/mySoul8012/SE-Basic-knowledge.git # 进入目录 WORKDIR /SE-Basic-knowledge # 初始化镜像 RUN gitbook init CMD ["gitbook", "serve"] 输入构建的镜像 docker image build -t ming:0.1 保存和载入镜像 存出镜像 PS C:\Users\Administrator\Desktop> docker save -o ubuntu.tar ubuntu PS C:\Users\Administrator\Desktop> 载入镜像 PS C:\Users\Administrator\Desktop> docker load -i ubuntu.tar Loaded image: ubuntu:latest PS C:\Users\Administrator\Desktop> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ff7a974b9771 nginx "/docker-entrypoint.…" 12 minutes ago Up 12 minutes 80/tcp fervent_curie PS C:\Users\Administrator\Desktop> docker images REPOSITORY TAG IMAGE ID CREATED SIZE test 0.1 54a6eb8d4483 10 minutes ago 132MB ubuntu latest 74435f89ab78 2 weeks ago 73.9MB nginx latest 2622e6cca7eb 3 weeks ago 132MB PS C:\Users\Administrator\Desktop> 上传镜像 上传镜像到docker PS C:\Users\Administrator\Desktop> docker push test The push refers to repository [docker.io/library/test] 53d99160caf2: Preparing f978b9ed3f26: Preparing 9040af41bb66: Preparing 7c7d7f446182: Preparing d4cf327d8ef5: Preparing 13cb14c2acd3: Waiting denied: requested access to the resource is denied PS C:\Users\Administrator\Desktop> 可以看到拒绝,这里先登录账号 docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: melovemingming Password: Login Succeeded 再进行文件的上传 docker push melovemingming/nginx 需要注意,上传的镜像格式必须为 用户名/镜像名 查看docker hub 可以看到docker镜像的上传可以看到docker镜像已经上传

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

CentOS 7.2 下安装配置Node.js和Yarn

安装node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 首先更新源node.js的yum源这里我们安装最新V8.x版本 # curl --silent --location https://rpm.nodesource.com/setup_8.x | bash - yum安装node.js # yum install -y nodejs 使用npm国内阿里源 # npm config set registry=https://registry.npm.taobao.org 查看node.js版本 # node -v 安装node.js版本管理器n # npm install -g n 版本管理 // 安装指定版本 # n <version> // 安装稳定版本 # n stable // 安装最新版本 # n latest // 删除某个版本 # n rm <version> // 查看所有版本 # n list 安装yarn Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的。 使用shell脚本安装yarn # curl -o- -L https://yarnpkg.com/install.sh | bash 配置使用yarn国内的源 # yarn config set registry https://registry.npm.taobao.org

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

OpenTSDB 2.3+及TCollector 1.3+安装配置排错

其实不太想用opentsdb,一直以来用influxdb+grafana挺方便的,而且tsdb依赖hbase,虽说容量和速度有保证,但是分布式系统对于一个监控平台来说,终归还是有些重了,出问题定位更繁琐,但领导说用那就用吧。 在这里必须吐一下OpenTSDB和Tcollector的文档更新,太落后,看官方文档根本找不到配置文件的位置。最后还得看源码,尤其是TCollector,这个tsdb官方推出的数据采集器。不光文档落后,除了核心,周边辅助的代码也落后。而且插件方式设计的各种数据收集器太奇葩了,运行不了就狂报错。 安装tsdb还是比较方便的,找一台hbase的regionserver直接rpm就可以。主要是搞了tcollector以后排错,不过问题主要是在tcollector上,不赖tsdb。 不过tsdb装完以后,需要自己运行一个脚本叫create_table.sh来在hbase里创建tsdb需要的表。这块坑了我几分钟,安装官方文档的说法,创建表格时采用何种压缩方式并不重要,然后运行脚本,半个小时表都没创建起来,脚本默认会采用LZO方式选择压缩,就是建不起来,必须在命令行写env COMPRESSION='NONE' ... 才可以。不过我这集群是支持lzo的啊。不过跟tcollector相比,这就不算事。 tsdb的配置也算简单,就不细说了。 tcollector是opentsdb官方推出的数据采集器,符合个人开源风格,文档长期不更新。参看官方文档硬是找不到在哪配置能访问opentsdb,文档写的文件根本在代码里不存在,只能翻源码。 tcollector安装也不复杂,自带一个rpm的打包Makefile,直接make rpm就可以打包成rpm,然后放到repo里面yum安装即可,主要问题是安装以后跑起来没数据。 那就开始排错吧,首先确定opentsdb能不能接收到数据。停掉tsdb,用 nc -l 4242 启动一个TCP Server,监听在原tsdb的端口上,然后启动tcollector,nc接收到一个version,然后就没了。好吧,去看tcollector的源码。 #weusetheversioncommandasitisveryloweffortfortheTSD #torespond LOG.debug('verifyingourTSDconnectionisalive') try: self.tsd.sendall('version\n') exceptsocket.error,msg: self.tsd=None self.blacklist_connection() returnFalse 嗯,version其实是相当于发送一个ping命令,如果没有响应,就把服务器放到黑名单里。我不明白,往单一服务器发送的程序,要黑名单干什么。 继续nc -l,收到version给个响应。 收到version以后,直接在nc控制台里打2,随便给个响应就行,立刻数据就上来了。好吧,tcollector发送数据其实没问题,那问题一定是在tsdb这边了。 打开tsdb的日志,没有任何报错。 打开 /etc/opentsdb/logback.xml 将日志等级从INFO提升为DEBUG,opentsdb采用slf4j作为日志记录。 <rootlevel="DEBUG"> <!--<appender-refref="STDOUT"/>--> <appender-refref="CYCLIC"/> <appender-refref="FILE"/> </root> 重启tsdb,再去看日志,来了。 16:58:27.470 DEBUG [PutDataPointRpc.execute] - put: unknown metric: No such name for 'metrics': 'tcollector.reader.lines_collected' 说hbase的tsdb表里没有metrics这个列名,翻看官方文档,有个配置叫 tsd.core.auto_create_metrics = true 默认是false,设置成true以后重启tsdb,数据进入hbase,没有问题了。 不过数据进到hbase里面又出现一个问题,没有cpu的度量信息,看源码得知cpu信息在collector里面的sysload.py里面,不过翻看Makefile打包出来的rpm,里面不包含这个文件。没办法,接着回去看tcollector的Makefile和rpm的spec文件,顺手修复了一下centos6下的bug。 Makefile倒是没看出什么问题,几个选项,all, rpm, clean, distclean, swix,分别对应 make all, make rpm, make clean等,那应该就是在spec文件里面了。 果然,spec文件的第一个问题是rpm调用的python被硬指向了python 2.7,而centos6里面是没有2.7的,顺手改之。 %globalpy2_sitelib/usr/lib/python2.6/site-packages 第二个问题,安装的插件指向的是具体文件。 %filescollectors %{tcollectordir}/collectors/0/dfstat.py %{tcollectordir}/collectors/0/ifstat.py %{tcollectordir}/collectors/0/iostat.py %{tcollectordir}/collectors/0/netstat.py %{tcollectordir}/collectors/0/procnettcp.py %{tcollectordir}/collectors/0/procstats.py %{tcollectordir}/collectors/0/smart_stats.py 所以结果是这几个文件才会被打包到rpm,这明显是主要代码更新了,而周边辅助的代码没更新导致的。 不过改成 * 是不优雅的,因为有些新增的插件因为调用依赖问题,启动后会一直报错,所以,需要根据具体需求来执行都安装哪些插件,所以,从这一点上说,这部分代码的产品化程度还远远不够,最起码要做出插件判断啊,缺少依赖就别运行了。 更新了spec,重新打包,需要的数据就都进入hbase了。 而tcollector的配置是最大的槽点,放到最后压轴来说,根据官方文档,理应有一个startstop脚本,将上报服务器配置为opentsdb的服务器,结果源码里死都找不到这个startstop脚本。然后通过阅读源码得知,他娘的核心配置文件是放在插件文件夹里的,这思路,简直是灾难啊。在 tcollector/collectors/etc/config.py里面,其实并不复杂,但是比较烦人。 defaults={ 'verbose':False, 'no_tcollector_stats':False, 'evictinterval':6000, 'dedupinterval':300, 'deduponlyzero':False, 'allowed_inactivity_time':600, 'dryrun':False, 'maxtags':8, 'max_bytes':64*1024*1024, 'http_password':False, 'reconnectinterval':0, 'http_username':False, 'port':4242, 'pidfile':'/var/run/tcollector.pid', 'http':False, 'http_api_path':"api/put", 'tags':[], 'remove_inactive_collectors':False, 'host':'to.your.opentsdb.server', 'backup_count':1, 'logfile':'/var/log/tcollector.log', 'cdir':default_cdir, 'ssl':False, 'stdin':False, 'daemonize':False, 'hosts':False } 嗯,这是我目前逛街发现的最坑的有公司维护的开源代码了,设计出这个代码结构的工程师应该拉出去枪毙半小时。浪费我2小时宝贵的撸码时间装这破玩意。 然后,我发现我司有一台服务器上面是有tcollector的代码的,文件创建时间是15年,那会我还没来,说明其实我司早就调研过这个,但是一直没搞起来可能,这东西没多难,但是文档确实坑人。 感觉产品设计,从来就不是互联网码农的强项,快速开发实现功能就行了,从不考虑产品化工程化代码结构优化的问题。 最后,领导愿意看用gnuplot画的图我也就不说什么了。我还是把opentsdb作为数据源接入到grafana里面,用那个看更漂亮一点。

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

手把手教你安装配置Openfire服务器

1. 登陆Openfire官网,下载最新版本的Openfire,目前最新版本为3.9.3. http://www.igniterealtime.org/downloads/index.jsp#openfire openfire提供了windows版本的两种安装包,我下载的是exe安装包。 2. 安装Openfire,一路next下去即可,傻瓜式安装就是好。安装完成后,启动Openfire服务器。 3. 启动Openfire成功后,选择“Launch Admin”,启动Openfire控制台,第一次进入Openfire控制台,需要配置服务器。 4. 设置Openfire服务器语言为简体中文,继续“continue”。 5. 配置服务器域名,本机或局域网使用的话,“域”配置为机器名,localhost,127.0.0.1何局域网的IP地址都是可以的。 如果是局域网或外网访问的话,“域”应配置为外网IP地址。 6. 配置数据库。配置为“嵌入的数据库”,对于学习的目的来说,这种方式简便实用。 7. 特性配置。默认的方式即可。 8. 配置管理员账户。电子邮件配置可省略这一步。新密码和确认密码设置为“admin”。 9. 安装完成。 10. 使用“admin/admin”登陆到控制器。 11. 登陆成功后,会显示如下所示的界面。这时可以通过Spark、jwchat等链接该地址进行IM聊天。 至此,Openfire服务器安装成功。接下来,将介绍安装Spark客户端,并使用Spark客户端进行聊天。 本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1618995,如需转载请自行联系原作者

资源下载

更多资源
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应用均可从中受益。

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部分的功能。

用户登录
用户注册