扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
ecdhe-rsa-aes256-gcm-sha384 openssl支持么
为荆门等地区用户提供了全套网页设计制作服务,及荆门网站建设行业解决方案。主营业务为成都做网站、成都网站建设、成都外贸网站建设、荆门网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1、postgresql启动。
service postgresql start1
2、进入postgresql配置
sudo -u postgres psql
alter user postgres with password 'admin';12
注意1:’admin’ 这个是密码。
注意2:分号!!!! 一定要带上分号”;”。
注意3:\q:退出数据库
3、修改linux系统的postgres用户的密码(密码与数据库用户postgres的密码相同)
root@kali:~# sudo passwd -d postgres
passwd:密码过期信息已更改。
root@kali:~# sudo -u postgres passwd
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码123456
4、修改PostgresSQL数据库配置实现远程访问
root@kali:~# vi /etc/postgresql/9.4/main/postgresql.conf1
更改#listen_addresses = 'localhost'为listen_addresses = '*'
更改#password_encryption = on为password_encryption = on
root@kali:~# vi /etc/postgresql/9.4/main/pg_hba.conf1
在文档末尾加上以下内容
# to allow your client visiting postgresql server
host all all 0.0.0.0/32 md512
root@kali:~# service postgresql restart 1
注意1:”#”号,一定要把”#”删除掉。
注意2:在vi编辑模式下点击键盘字母a是进入编辑模式,编辑完成后点击“esc”退出编辑模式然后在最下方输入”:wq”保存并退出。
5、管理PostgreSQL用户和数据库
root@kali:~# psql -U postgres -h 127.0.0.1
用户 postgres 的口令:
psql (9.4.6)
SSL连接 (协议: TLSv1.2, 加密:ECDHE-RSA-AES256-GCM-SHA384,二进制位: 256, 压缩比: 关闭)
输入 "help" 来获取帮助信息.
postgres=# create user msf with password 'admin' nocreatedb;
CREATE ROLE
postgres=# create database msf with owner=msf;
CREATE DATABASE
postgres=# \q123456789101112
注意1:还是要注意分号!!!没有分号命令就无法执行。
注意2:注意复制的时候”“符号问题。
注意3:user后面是用户名,password后面是用户名对应的密码。
注意4:命令执行后有返回结果才是执行成功了。
6、msf配置连接
root@kali:~# msfconsole
msf db_status
[*] postgresql selected, no connection
msf db_connect msf:admin@127.0.0.1/msf
[*] Rebuilding the module cache in the background...
msf db_status
[*] postgresql connected to msf
1. 首先登入hadoop 集群里面的一个节点, 创建一个java源文件, 偷懒起见, 基本盗用官方的word count (因为本文的目的是教会你如何快编写和运行一个MapReduce程序, 而不是如何写好一个功能齐全的MapReduce程序)
内容如下:
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class myword {
public static class TokenizerMapper
extends MapperObject, Text, Text, IntWritable{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
public static class IntSumReducer
extends ReducerText,IntWritable,Text,IntWritable {
private IntWritable result = new IntWritable();
public void reduce(Text key, IterableIntWritable values,
Context context
) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
if (otherArgs.length != 2) {
System.err.println('Usage: wordcount in out');
System.exit(2);
}
Job job = new Job(conf, 'word count');
job.setJarByClass(myword.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
与官方版本相比, 主要做了两处修改
1) 为了简单起见,去掉了开头的 package org.apache.hadoop.examples;
2) 将类名从 WordCount 改为 myword, 以体现是我们自己的工作成果 :)
2. 拿到hadoop 运行的class path, 主要为编译所用
运行命令
hadoop classpath
保存打出的结果,本文用的hadoop 版本是Pivotal 公司的Pivotal hadoop, 例子:
/etc/gphd/hadoop/conf:/usr/lib/gphd/hadoop/lib/*:/usr/lib/gphd/hadoop/.//*:/usr/lib/gphd/hadoop-hdfs/./:/usr/lib/gphd/hadoop-hdfs/lib/*:/usr/lib/gphd/hadoop-hdfs/.//*:/usr/lib/gphd/hadoop-yarn/lib/*:/usr/lib/gphd/hadoop-yarn/.//*:/usr/lib/gphd/hadoop-mapreduce/lib/*:/usr/lib/gphd/hadoop-mapreduce/.//*::/etc/gphd/pxf/conf::/usr/lib/gphd/pxf/pxf-core.jar:/usr/lib/gphd/pxf/pxf-api.jar:/usr/lib/gphd/publicstage:/usr/lib/gphd/gfxd/lib/gemfirexd.jar::/usr/lib/gphd/zookeeper/zookeeper.jar:/usr/lib/gphd/hbase/lib/hbase-common.jar:/usr/lib/gphd/hbase/lib/hbase-protocol.jar:/usr/lib/gphd/hbase/lib/hbase-client.jar:/usr/lib/gphd/hbase/lib/hbase-thrift.jar:/usr/lib/gphd/hbase/lib/htrace-core-2.01.jar:/etc/gphd/hbase/conf::/usr/lib/gphd/hive/lib/hive-service.jar:/usr/lib/gphd/hive/lib/libthrift-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-metastore.jar:/usr/lib/gphd/hive/lib/libfb303-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-common.jar:/usr/lib/gphd/hive/lib/hive-exec.jar:/usr/lib/gphd/hive/lib/postgresql-jdbc.jar:/etc/gphd/hive/conf::/usr/lib/gphd/sm-plugins/*:
3. 编译
运行命令
javac -classpath xxx ./myword.java
xxx部分就是上一步里面取到的class path
运行完此命令后, 当前目录下会生成一些.class 文件, 例如:
myword.class myword$IntSumReducer.class myword$TokenizerMapper.class
4. 将class文件打包成.jar文件
运行命令
jar -cvf myword.jar ./*.class
至此, 目标jar 文件成功生成
5. 准备一些文本文件, 上传到hdfs, 以做word count的input
例子:
随意创建一些文本文件, 保存到mapred_test 文件夹
运行命令
hadoop fs -put ./mapred_test/
确保此文件夹成功上传到hdfs 当前用户根目录下
6. 运行我们的程序
运行命令
hadoop jar ./myword.jar myword mapred_test output
顺利的话, 此命令会正常进行, 一个MapReduce job 会开始工作, 输出的结果会保存在 hdfs 当前用户根目录下的output 文件夹里面。
至此大功告成!
如果还需要更多的功能, 我们可以修改前面的源文件以达到一个真正有用的MapReduce job。
但是原理大同小异, 练手的话, 基本够了。
一个抛砖引玉的简单例子, 欢迎板砖。
ALTER Role testaccount VALID UNTIL '2010-12-31 00:00:00';
这样就设置了帐号testaccount 有效期到'2010-12-31 00:00:00'了
Navicat for MySQL过期了怎么办
navicat for postgresql过期了有两种解决方法:
1)重装系统,清理注册表;
2)注册激活,需要注册码才可以。
数据库总大小:17.3GB、总记录数:4千万零450条、信息数量:2千万条、单表最大信息数:400万条一、前言:帝 国CMS 6.0版本最重要的升级功能是对系统构架进行升级,构架更加完美、负载容量更大。然而很多人就问,这个全新的构架有多大的魅力、容量是多少?其实我也不能 准确的告诉你,因为6.0刚发布不久并且没有空闲时间测试,那时我只能告诉你“总体容量可无限放大,单表存放容量是原来的几十倍、甚至更多,副表数据量达 到一定大小后可设置分表,副表支持无限分表,因而副表容量是无限的”。然而理论是需要实践去验证的,所以趁着这两天比较空闲试着测试,并且测试结果令我非 常吃惊,在2000万数据中最大的news单表中从50万导到400万数据无论从生成内容页效率还受理信息列表竟然没有多大差别:单表无论是50万还是400万生成5000个内容页速度为:19秒单表无论是50万还是400万后台管理信息列表速度为:0.009秒 二、测试环境1、硬件配置:使用本人工作使用的机器测试,普通的配置CPU:2.0 GHz 内存:1GB 2、软件环境:使用无任何优化的帝国CMS6.0一键安装包WINDOWS 2003APACHE 2.2.4PHP 5.2.0MYSQL 5.0.27ZEND Optimizer 3.2.6帝国CMS6.0开源版(GBK)(注:因为只是测试所以采用效率比较一般的WINDOWS平台,最好的PHP+MYSQL运行环境建议采用LINUX或UNIX平台。) 三、以2000万数据中最大的news表数据量为400万、数据表大小为3.4GB为例:400万单表情况下生成5000条数据:19秒1、后台点管理信息列表速度:0.008秒2、修改信息页读取数据:0.005秒3、400万单表情况下生成5000条数据:19秒开始生成:生成过程截图:5000条生成时间:19秒查看成后的栏目目录HTML:4、测试在使用内容动态页的数据读取速度:0.0025秒四、由于章节比较多,所以不能在贴子中说明,点击下面链接查看完整的测试过程《2 千万数据、17.3GB数据库用帝国CMS6.0分表合理存放》分成数个篇章对帝国CMS大数据量如何合理存放的进行介绍,整个测试过程都是边运行边截 图,采用透明、公开的方式供大家监督!如果有谁对测评过程和测评结果有疑问,可以自行参照我们的测试过程搭建类似的测试环境自己测试和对比测试结果。点击这里查看完整的测试过程:/ecms6/jm/20000000/20000000.html五、本次2000万数据最终测试数据统计:本次测试经验总结:优点: 6.0在大数据下的优势非常明显,生成内容页、动态内容页效率非常之快且不受数据量影响,解决了CMS负载最大的问题,并且使用按表管理信息列表速度很快,单表几十万和几百万数据没有明显区别。不足之处: 在 于单栏目数据量大于200万时标签调用、栏目列表速度有所下降(指的是增加检索条件的情况),主要由于最耗资源的置顶排序与多重排序,下版会考虑删除置顶 功能与优化列表,并且会增加大数据量标签调用优化处理功能,以达到所有页面速度在大数据量都很优秀,不仅是内容页效率优秀。本次测试 2000万只是本人空闲时搞的小测试,主要让大家知道帝国分表如何处理更好,只要分表均匀可以将一个很大的数据分解成无数个相同效率的表,单表无论是50 万、400万甚至1000万数据在管理信息列表与生成页面效率基本是相同的,例如:5000万数据中12个栏目可以分成每表存放450万,每个450万数 据表效率都是一样的。未来版本帝国将会推出更完美的构架,主表可以像副表一样无限分表,让系统性能再度翻倍提升。做一个完美的安全、稳定高效、强大、灵活 的CMS是我们的终极目标,多年来我们一直朝这个方向迈进,不断创新不断完善。帝国软件以为中国网站提供最完善的建站解决方案为已任,打造国内最好的 CMS程序。帝国CMS对大数据情况建议:数据表结构最好的优化是将所有的自定义字段都存放到副表;主表只存放标题字段;总体的数据表数据分配均匀,主表下的每个副表存放建议100万数据以内;内容页减少标签调用或采用JS调用或者采用.shtml包含最新内容页面的方式;栏目列表设置最大显示数量;过期信息或不再调用的信息进行归档;减少使用搜索,搜索是最耗资源的功能;自行修改文件去除标签和列表的置顶排序(置顶功能下版会默认删除),对性能更高要求的可只采用id排序;优化运行环境,特别是MYSQL数据库优化;服务器配置最好2GB以上内存、采用更快的CPU以及硬盘转速缓存更高IO更快。未来帝国CMS版本对大数据方面功能展望: 标签调用与列表性能优化,删除置顶功能并且对标签调用优化处理;主表结构更加优化。推出更完美的构架,主表可以像副表一样无限分表,让系统无论从维护数据还是生成页面性能将再度翻倍提升。多服务器结构支持,实现负载均衡。增加Oracle、postgresql、Mssql等多种数据库支持。......更多功能我们正在不断的探索与创新,相信会给大家更多的惊喜。附:帝国CMS6.0系统数据构架图
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流