科技公司钟爱的50款开源工具
大数据
1 Hadoop
Apache主持的这个项目是最广为人知的大数据工具。众多公司为Hadoop提供相关产品或商业支持,包括亚马逊网络服务、Cloudera、Hortonworks、IBM、Pivotal、Syncsort和VMware。知名用户包括:阿里巴巴、美国在线、电子港湾、Facebook、谷歌、Hulu、领英、Spotify、推特和雅虎。
支持的操作系统:Windows、Linux和OS X
相关网站:http://hadoopapacheorg
2 Hypertable
Hypertable在互联网公司当中非常流行,它由谷歌开发,用来提高数据库的可扩展性。用户包括百度、电子港湾、Groupon和Yelp。它与Hadoop兼容,提供商业支持和培训。
支持的操作系统:Linux和OS X
相关网站:http://wwwhypertablecom
3 Mesos
Apache Mesos是一种资源抽象工具,有了它,企业就可以鼗整个数据中心当成一个资源池,它在又在运行Hadoop、Spark及类似应用程序的公司当中很流行。使用它的企业组织包括:Airbnb、欧洲原子核研究组织(CERN)、思科、Coursera、Foursquare、Groupon、网飞(Netflix)、推特和优步。
支持的操作系统:Linux和OS X
相关网站:http://mesosapacheorg
4 Presto
Presto由Facebook开发,自称是“一款开源分布式SQL查询引擎,用于对大大小小(从GB级到PB级)的数据源运行交互式分析查询。”Facebook表示,它将Presto用于对300PB大小的数据仓库执行查询,其他用户包括Airbnb和Dropbox。
支持的操作系统:Linux
相关网站:https://prestodbio
5 Solr
这种“快若闪电”的企业搜索平台声称高度可靠、扩展和容错。使用它的公司包括:AT&T、Ticketmaster、康卡斯特、Instagram、网飞、IBM、Adobe和SAP Hybris。
支持的操作系统:与操作系统无关
相关网站:http://luceneapacheorg/solr/
6 Spark
Apache Spark声称,“它在内存中运行程序的速度比Hadoop MapReduce最多快100倍,在磁盘上快10倍。”Spark“支持”的企业组织包括:亚马逊、百度、Groupon、日立解决方案、IBM、MyFitnessPal、诺基亚和雅虎。
支持的操作系统:Windows、Linux和OS X
相关网站:http://sparkapacheorg
7 Storm
正如Hadoop用来处理批量数据,Apache Storm用来处理实时数据。官方网站上显示用户包括:天气频道、推特、雅虎、WebMD、Spotify、威瑞信(Verisign)、Flipboard和Klout。
支持的操作系统:Linux
相关网站:https://stormapacheorg
云计算
8 Cloud Foundry
Cloud Foundry提供用于构建平台即服务的开源工具。它声称“由行业领袖为行业领袖构建”,其支持者包括IBM、 Pivotal、惠普企业、VMware、英特尔、SAP和EMC。
支持的操作系统:Linux
相关网站:https://wwwcloudfoundryorg
9 CloudStack
这个交钥匙IaaS解决方案构成了许多公共云和私有云的基础。它的用户极多,包括阿尔卡特-朗讯、苹果、Autodesk、英国电信、冠群科技、思杰、Cloudera、戴尔、富士通、SAP和韦里逊。
支持的操作系统:与操作系统无关
相关网站:http://cloudstackapacheorg
10 OpenStack
这种很受欢迎的云计算平台声称,“世界上成百上千个大品牌”每天依赖它。支持者包括:AT&T、Ubuntu、惠普企业、IBM、英特尔、Rackspace、红帽、SUSE、思科、戴尔、EMC、赛门铁克及另外许多知名科技公司。
支持的操作系统:与操作系统无关
相关网站:http://wwwopenstackorg
11 Scalr
这种云管理平台备受市场研究公司的好评,它简化了管理多个云环境的过程。知名用户包括Expedia、三星、美国宇航局喷气推进实验室、埃森哲、索尼和Autodesk。
支持的操作系统:Linux
相关网站:http://wwwscalrcom
容器
12 Docker
Docker在相对新兴的容器领域迅速确立起了主导平台这一地位。科技界的许多大牌公司在构建或提供扩展或使用Docker技术的产品,包括亚马逊、微软、IBM、惠普企业、红帽、Rackspace和Canonical。
支持的操作系统:Windows、Linux和OS X
相关网站:https://wwwdockercom
输入标题 内容管理
13 DNN
这款内容管理解决方案之前名为DotNetNuke,承诺构建丰富的交互式网站时,只要花较少的精力,就能收到显著的成效。用户包括佳能、时代华纳有线电视、德州仪器和美国银行。
支持的操作系统:Windows
相关网站:http://wwwdnnsoftwarecom
14 Drupal
Drupal声称,98000多个开发人员在为这个极其流行的内容管理系统积极贡献代码。支持者包括微软、Zend、Fastly和New Relic,其内容市场有数百家公司参与其中,它们提供了相关的产品和服务。
支持的操作系统:与操作系统无关
相关网站:https://wwwdrupalorg
15 Joomla
Joomla为数百万个网站提供平台,其下载量超过了5000万人次。许多用户当中就有这些公司:电子港湾、巴诺书店、MTV和标致。
支持的操作系统:与操作系统无关
相关网站:https://wwwjoomlaorg
16 MediaWiki
MediaWiki以维基百科使用的软件而出名,它还为百度、Vistaprint、Novell、英特尔和美国宇航局支持网站。它是构建可编辑网页的不错选择,许多企业组织用它来构建内部知识库。
支持的操作系统:Windows、Linux/Unix和OS X
相关网站:https://wwwmediawikiorg/wiki/MediaWiki
数据库
17 Cassandra
这种NoSQL数据库由Facebook开发,其用户包括苹果、欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHub、GoDaddy、Hulu、Instagram、Intuit、网飞、Reddit及其他科技公司。它支持极其庞大的数据集,声称拥有非常高的性能和出色的耐用性和弹性。可通过第三方获得支持。
支持的操作系统:与操作系统无关
相关网站:http://cassandraapacheorg
18 CouchDB
CouchDB为Web而开发,这种NoSQL数据库将数据存储在JSON文档中,这类文档可通过HTTP来加以查询,并用JavaScript来处理。Cloudant现在归IBM所有,它提供一款专业人员支持的软件版本,用户包括:三星、Akamai、Expedia、微软游戏工作室及其他公司。
支持的操作系统:Windows、Linux、OS X和安卓
相关网站:http://couchdbapacheorg
19 MongoDB
MongoDB是一种NoSQL数据库,声称“针对关键任务型部署环境进行了优化”,用户包括Foursquare、《福布斯》、Pebble、Adobe、领英、eHarmony及其他公司。提供收费的专业版和企业版。
支持的操作系统:Windows、Linux、OS X和Solaris
相关网站:http://wwwmongodborg
20 MySQL
MySQL自称是“世界上最流行的开源数据库”,备受众多互联网公司的青睐,比如YouTube、贝宝、谷歌、Facebook、推特、电子港湾、领英、优步和亚马逊。除了免费社区版外,它还有多款收费版。最新更新版声称速度比老版本快三倍。
支持的操作系统:Windows、Linux、Unix和OS X
相关网站:http://wwwmysqlcom
21 Neo4j
Neo4J自诩为“世界上领先的图形数据库”,用于欺诈检测、推荐引擎、社交网站、主数据管理及更多领域。用户包括电子港湾、沃尔玛、思科、惠普、埃森哲、CrunchBase、eHarmony、Carecom及另外许多企业组织。
支持的操作系统:Windows和Linux
相关网站:http://neo4jcom
开发工具
22 Bugzilla
Bugzilla是开源社区的宠儿,用户包括Mozilla、Linux基金会、GNOME、KDE、Apache、LibreOffice、Open Office、Eclipse、红帽、Novell及其他公司。这款软件缺陷追踪系统(bugtracker)的重要功能包括:高级搜索功能、电子邮件通知、预定报告、时间追踪、出色的安全及更多特性。
支持的操作系统:Windows、Linux和OS X
相关网站:https://wwwbugzillaorg
23 Eclipse
Eclipse项目最为知名的是,它是一种大受欢迎的面向Java的集成开发环境(IDE),它还提供面向C/C++和PHP的IDE,此外提供另外一大批开发工具。主要支持者包括冠群科技、谷歌、IBM、甲骨文、红帽和SAP。
支持的操作系统:与操作系统无关
相关网站:http://wwweclipseorg
24 Emberjs
这种框架用于“构建野心勃勃的Web应用程序”,旨在为JavaScript开发人员提高工作效率。官方网站上显示用户包括雅虎、Square、Livingsocial、Groupon、Twitch、TED、网飞、Heroku和微软。
支持的操作系统:与操作系统无关
相关网站: http://emberjscom
25 Grunt
Grunt是一种JavaScript任务运行工具,有助于自动处理重复性的开发任务。使用它的知名科技公司包括:Adobe、推特、Mozilla、Cloudant和WordPress。
支持的操作系统:与操作系统无关
相关网站:http://gruntjscom
26 LoopBack
这个Nodejs框架旨在让用户很容易构建REST API,并连接到后端数据存储区。知名用户包括GoDaddy、美国能源部和赛门铁克。
支持的操作系统:Windows、Linux、OS X、安卓和iOS
相关网站:http://loopbackio
27 Nodejs
Nodejs的成名之处在于,它让开发人员可以使用JavaScript,编写服务器端应用程序。开发工作之前由Joyent管控,现在交由Nodejs基金会监管。用户包括IBM、微软、雅虎、SAP、领英、贝宝和网飞。
支持的操作系统:Windows、Linux和OS X
相关网站:https://nodejsorg/en/
28 PhoneGap
Apache Cordova是一种开源框架,让开发人员可以使用HTML、CSS和JavaScript等Web技术,构建移动应用程序。PhoneGap是最受欢迎的Cordova发行版。使用某一种Cordova发行版的科技公司包括:维基百科、Facebook、 Salesforce、IBM、微软、Adobe和黑莓。
支持的操作系统:Window、Linux和OS X
相关网站:http://phonegapcom
29 React Native
React Native由Facebook开发,这种框架可用于使用JavaScript和React JavaScript库(同样由Facebook开发),构建原生移动应用程序。其他用户包括:《探索》频道和CBS体育新闻网。
支持的操作系统:OS X
相关网站:http://facebookgithubio/react-native/
30 Ruby on Rails
这个Web开发框架在开发人员当中极其流行,它声称“为确保编程员满意和持续高效地工作进行了优化”。用户包括Basecamp、推特、Shopify和GitHub等公司。
支持的操作系统:Windows、Linux和OS X
相关网站:http://rubyonrailsorg
31 Sencha Touch
Sencha Touch自称是“一种用于构建通用移动应用程序的领先的跨平台移动Web应用程序框架,基于HTML5和JavaScript”。它既有开源许可证版本,也有商业许可证版本。据官方网站声称,《财富》100强中60%使用它。
支持的操作系统:与操作系统无关
相关网站:https://wwwsenchacom/products/touch/
32 ZK
索尼、Sun、IBM、Adobe、电子港湾、富士通、梦工厂和优利系统等公司使用这种Java Web框架来构建Web和移动应用程序。提供收费支付及相关工具。
支持的操作系统:与操作系统无关
相关网站:http://wwwzkossorg
中间件
33 JBoss
红帽的JBoss中间件包括各种轻量级、对云计算友好的工具,同时结合、集成和自动化各个企业应用程序和系统。用户包括:橡树岭国家实验室、日产、思科、冠群科技、AMD及其他公司。
支持的操作系统:Linux
相关网站:http://wwwredhatcom/en/technologies/jboss-middleware
操作系统
34 红帽企业版Linux
红帽最知名的产品就是其旗舰Linux发行版,这需要付费订购。据该公司声称,《财富》全球500强公司中超过90%在使用红帽产品。
相关网站:http://wwwredhatcom/en/technologies/linux-platforms/enterprise-linux
35 SUSE Linux企业版
这款面向企业的Linux发行版同样备受大企业的追捧,它也需要付费订购。该公司声称,它有13000多个企业用户,包括伦敦证券交易所、SAP、天睿(Teradata)和沃尔格林连锁药店(Walgreens)。
相关网站:https://wwwsusecom
36 Ubuntu
Ubuntu提供广受欢迎的Linux发行版,有多个版本:桌面版、服务器版、云版、手机版、平板电脑版和物联网版。声称用户包括亚马逊、IBM、维基百科和英伟达。
相关网站:http://wwwubuntucom/index_kylin
项目管理
37 Project Libre
这个屡获奖项的项目是微软Project的替代者,下载量已有近200万人次。它有一大批用户,包括IBM、埃森哲、美国能源部、思科、ATI和AMD。
支持的操作系统:Windows、Linux和OS X
相关网站:http://wwwprojectlibreorg
存储
38 FreeNAS
这款开源网络附加存储(NAS)软件声称,它备受联合国、迪士尼互动媒体集团、路透社和Dr Phil等用户的“喜爱”。它可以安装到几乎任何硬件上,而TrueNAS提供的预先构建的设备就基于该技术。
支持的操作系统:FressBSD
相关网站:http://wwwfreenasorg
39 Gluster
Gluster是一种可高度扩展的网络文件系统,适合云计算环境。红帽提供一款基于该技术的收费产品,用户包括卡西欧和Intuit。
支持的操作系统:Linux
相关网站:http://wwwglusterorg
40 Lustre
Lustre是另一种可高度扩展的文件系统,旨在支持高性能计算(HPC)环境。一些最早采用它的用户包括美国的几大国家实验室:劳伦斯·利物莫尔国家实验室、桑迪亚国家实验室、橡树岭国家实验室和洛斯阿拉莫斯国家实验室。
支持的操作系统:Linux
相关网站:http://lustreorg
系统管理工具
41 Ansible
Ansible现在归红帽所有,它自称是“一种异常简单的IT自动化引擎,可以使云服务配置、配置管理、应用程序部署、服务内部的编排以及其他许多IT操作实现自动化。”使用它的科技公司包括:思科、瞻博网络、Evernote、推特、威瑞信、GoPro、EA Sports、Atlassian和韦里逊。它既有免费版,也有收费版。
支持的操作系统:Linux
相关网站:http://wwwansibleworkscom
42 Chef
作为另一款自动化工具,Chef支持开发运维方法,同时改善了速度、协作和安全性。拥有免费版和收费版。官方网站上显示用户包括:塔吉特(Target)、诺德斯特龙(Nordstrom)、Facebook、Etsy、IGM、雅虎和彭博社。
支持的操作系统:Windows、Linux和OS X
相关网站:https://wwwchefio/chef/
43 Hudson
Hudson在使用敏捷和开发运维方法的企业当中很流行,它是一种可扩展的持续集成服务器系统,可以监控重复作业的执行。这个项目得到了Eclipse基金会、甲骨文、Atlassian和YourKit的支持。
支持的操作系统:与操作系统无关
相关网站:http://hudson-ciorg
44 Puppet
Puppet号称“使用最广泛的开源IT管理系统”,它包括40多个基础设施管理方面的开源项目。除了开源版本外,它还有一款收费的企业版本。它声称,用户包括25000多家企业,比如迪士尼、沃尔玛、1-800-Flowerscom、Heartland Payment Systems、盖蒂社(Getty Images)和Yelp。
支持的操作系统:Windows、Linux、Unix和OS X
相关网站:https://puppetlabscom/puppet/open-source-projects
版本控制
45 Bazaar
Bazaar由Canonical管理,被许多开源项目所使用,包括Ubuntu、 GNU基金会、Linux基金会、MySQL、Bugzilla、 Debian和Maria DB。它简单易学,支持任何工作流程和工作区间模式,承诺存储效率很高、速度很快。
支持的操作系统:Windows、Linux和OS X
相关网站:http://bazaarcanonicalcom/en/
46 Git
这个版本控制系统已变得极受欢迎,这一方面归功于GitHub服务的使用日益广泛。使用它的公司和项目包括:谷歌、Facebook、微软、推特、领英、网飞、Perl、PostgreSQL、安卓、Rails、QT、Gnome和Eclipse。
支持的操作系统:Windows、Linux和OS X
相关网站:http://git-scmcom
47 Mercurial
Mercurial是一种分布式源代码控制管理工具,专注于帮助团队更轻松、更快速地协同工作。用户包括OpenJDK和NetBeans等各大项目。
支持的操作系统:Windows、Linux和OS X
相关网站:https://wwwmercurial-scmorg
48 Subversion
这个企业级版本控制系统得到Apache的支持,首次发布于2000年。使用它的企业组织包括Apache软件基金会自己、Hobby Lobby、Mono、Plone和GNU Enterprise。
支持的操作系统:Windows、Linux和OS X
相关网站:http://subversionapacheorg
Web服务器
49 Apache HTTP Server
Apache至今已有20年多的历史,专利是自1996年以来互联网上最受欢迎的Web服务器系统。据W3Techs声称,目前所有网站中553%是由Apache支持的。
支持的操作系统:Windows、Linux和OS X
相关网站:http://httpdapacheorg
50 Nginx
Nginx的人气也极旺,它被互联网上所有网站中的大约四分之一所使用。除了俄罗斯许多访问量很大的网站外,用户还包括网飞和WordPresscom。
支持的操作系统:Windows、Linux和OS X
相关网站:http://nginxorg
APOC是Neo4j 33版本推出时正式推荐的一个Java用户扩展过程包,里面包含丰富的函数和过程,作为对Cypher所不能提供的复杂图算法和数据操作功能的补充,APOC还具有使用灵活、高性能等优势。
APOC的安装:
启动neo4j,运行如下cypher,判断类型
return apocmetatype('hello') 返回 STRING ,注意返回值都是大写。
return apocmetatype(["hello", "world"]) 返回 LIST
create(n:Fruit{name:'apple', color:['red', 'green']})
match(n:Fruit) return apocmetatype(ncolor) 返回 STRING[]
return apocmetatype(1) 返回 INTEGER
Tip:
如果出现上面的错误,是因为安装的时候没有修改配置文件
应用:
对Neo4j中的数据进行修改,将字符串数组压平为字符串,但是该属性中既有字符串,又有字符串数组,需要判断该属性是哪种数据类型,进行相应的操作。Cypher自带的 size 函数,对于字符串返回的是字符串的长度,对于集合类型返回的是其中的元素个数。例如:
在前边 create(n:Fruit{name:'apple', color:['red', 'green']}) 的基础上 create(:Fruit{name:'banana', color:'yellow'})
查询 match(n:Fruit) return nname, size(ncolor)
使用apoc中的函数: apocmetatype()
查询 match(n:Fruit) return nname, apocmetatype(ncolor)
查找所有color属性为字符串数组类型的节点:
match(n:Fruit) where apocmetatype(ncolor) = 'STRING[]' return nname, ncolor
此外 apocmetatypeName() 函数和 apocmetatype() 相同
压平:
对数据类型为字符串数组的属性值进行压平,中间用逗号隔开,逗号后边跟一个空格,末尾不带有括号。
create(n:Fruit{name:'grape', color:['purple', 'green', 'white']})
match(n:Fruit) where apocmetatype(ncolor) = 'STRING[]' return substring(reduce(s='', x IN ncolor | s + ', ' + x), 2)
这里使用到了Cypher自带的 reduce 函数。
若将color属性为字符串数组的,设置为字符串数组中的第一个元素:
match(n:Fruit) where apocmetatype(ncolor) = 'STRING[]' set ncolor = ncolor[0]
连接:
参考:
linux下如何启动/停止/重启mysql: 一、启动方式 1、使用linux命令service 启动: service mysqld start 2、使用 mysqld 脚本启动: /etc/inintd/mysqld start 3、使用 safe_mysqld 启动: safe_mysqld& 二、停止 1、使用 service 启动: servi
Neo4j就是一个数据库(可以理解成一个类似HBASE的东西,不过Neo4j是几乎是单机数据库,于HBASE不同,HBASE的数据时存储在
HDFS上,由HDFS进行维护,HDFS将数据存储在exfat等单机文件系统上。Neo4j直接将数据格式化到单机文件系统)
每一个服务器保存完整的图数据。
GraphX是一个计算引擎(类似于maprece的东西),它的数据是从SHARK中使用SQL读取数据,或者RDD运算符从文件中读取,然后直接进行计算
另外数据库和计算引擎都可以进行计算任务,不过数据库的接口比较弱,只支持简单的查询
计算引擎提供了强大的计算接口,方便了编程,可以很容易的实现pagerank等图算法
GraphX做数据挖掘应该更方便,有通用的编程几口
Neo4j就需要自己写代码了编程比较麻烦,不过性能上或许有优势
1、shell脚本自动化部署neo4j
#!/bin/bash
host_name=(
wyl01
wyl02
wyl03
)
host_ip=(
1010252151
1010252112
1010252127
)
#neo4j部分信息
NEO4J_VERSION='neo4j-community-314' #neo4j的版本,注意这里不targz
NEO4J_INSTALL_PATH='/opt' #noe4j的安装路径
#1 步骤输出 紫色
#2 正确输出 绿色
#3 错误输出 红色
#4 提示输出 蓝色
#5 警告输出 **
#根据不同的颜色打印出提示信息
function echo_fun(){
if [ $# -ge 2 ];then
params_num=$1
shift 1
params_mes=$@
else
echo_fun 3 请至少输入两个参数 echo_fun
exit
fi
case $params_num in
1)
echo -e "\n\033[35;40;1m ${params_mes} \033[0m\r\n"
;;
2)
echo -e "\033[32;40;1m ${params_mes}\033[0m\r\n"
;;
3)
echo -e "\n\033[31;40;1m ${params_mes}\033[0m\r\n"
;;
4)
echo -e "\033[36;40;1m ${params_mes}\033[0m\r\n"
;;
5)
echo -e "\033[33;40;1m ${params_mes} \033[0m\r\n"
;;
)
echo_fun 3 参数异常第一个参数应为1,2,3,4,5
;;
esac
}
function check_ok(){
if [ $ -ne 0 ];then
echo_fun 3 执行失败,请查看日志
exit 1
fi
}
function adduser(){
useradd -d /home/$1 $1
expect -c"
spawn passwd $1
expect {
\"yes/no\" {send \"yes\r\";exp_continue}
\"New password:\" {send \"$2\r\";exp_continue}
\"Retype new password:\" {send \"$2\r\";exp_continue}
}"
}
function check_exist_user(){
num_user=`cat /etc/passwd|grep -w $1|wc -l`
if [ ${num_user} -eq 1 ];then
echo_fun 2 该机器已经创建了$1用户,无需再创建,继续下一步
num_user=`echo 1`
else
echo_fun 4 创建$1用户
num_user=`echo 0`
fi
}
function check_catalog_exist(){
test -d $1 && echo_fun 5 $1的安装目录已经存在,请检查 && exit
}
#检查环境变量---单台
function check_etc_profile(){
echo_fun 4 配置环境变量
#检查环境变量中是否已经配置了
path_num=`cat /etc/profile |grep -w $1 |wc -l `
if [ ${path_num} -ge 1 ];then
echo_fun 5 该机器环境变量中已经配置,请检查准确性
#回滚,删除之前的软连接和安装包
rm -rf $1
rm -rf $2
exit
fi
}
#解压neo4j的二进制包,并设置软连接,和改变其属组属性。
function extract_neo4j(){
cd $SOFTWARE_PATH
echo_fun 4 解压neo4j二进制包,并创建软连接
tar -xf ${NEO4J_VERSION}-unixtargz -C ${NEO4J_INSTALL_PATH}
check_ok
ln -s ${NEO4J_INSTALL_PATH}/${NEO4J_VERSION} ${NEO4J_INSTALL_PATH}/neo4j
cd ${NEO4J_INSTALL_PATH}
chown -R $1:$1 ${NEO4J_INSTALL_PATH}/neo4j
sleep 1s
}
function alter_neo4j_config(){
echo_fun 4 修改neo4j配置文件内容
sleep 1s
cd /${NEO4J_INSTALL_PATH}/neo4j/conf/
sed -i '/#dbmsdirectoriesdata/s/^#//' neo4jconf
sed -i '/#dbmsdirectoriesplugins/s/^#//' neo4jconf
sed -i '/#dbmsdirectoriescertificates/s/^#//' neo4jconf
sed -i '/#dbmsdirectorieslogs/s/^#//' neo4jconf
sed -i '/#dbmsdirectorieslib/s/^#//' neo4jconf
sed -i '/#dbmsdirectoriesrun/s/^#//' neo4jconf
sed -i '/#dbmsconnectorsdefault_listen_address/s/^#//' neo4jconf
sed -i '/#dbmsconnectorbolttls_leve/s/^#//' neo4jconf
sed -i 's/#dbmsconnectorboltlisten_address=:7687/dbmsconnectorboltlisten_address='"${host_ip[0]}"':7687/g' neo4jconf
sed -i 's/#dbmsconnectorhttplisten_address=:7474/dbmsconnectorhttplisten_address='"${host_ip[0]}"':7474/g' neo4jconf
sed -i 's/#dbmsconnectorhttpslisten_address=:7473/dbmsconnectorhttpslisten_address='"${host_ip[0]}"':7473/g' neo4jconf
sed -i '/#dbmssecurityallow_csv_import_from_file_urls=true/s/^#//' neo4jconf
sed -i '/#dbmsshellenabled/s/^#//' neo4jconf
sed -i 's/#dbmsshellhost=127001/dbmsshellhost='"${host_ip[0]}"'/g' neo4jconf
sed -i '/#dbmsshellport=1337/s/^#//' neo4jconf
}
function start_neo4j(){
echo_fun 4 启动neo4j进程
su - ${NEO4J_USER} <<EOF
cd /opt/neo4j
nohup /bin/neo4j start >/home/${NEO4J_USER}/neo4jlog 2>&1
EOF
}
function step_fun_4(){
echo_fun 4 检查neo4j安装目录是否存在
check_catalog_exist ${NEO4J_INSTALL_PATH}/${NEO4J_VERSION}
echo_fun 5 请输入neo4j的属组用户
read -p "neo4j_user=" neo4j_user
check_exist_user ${neo4j_user}
if [ $num_user -eq 0 ]; then
echo_fun 4 给neo4j用户输入密码
read -p "neo4j_password=" neo4j_passwd
adduser ${neo4j_user} ${neo4j_passwd}
fi
#解压,设置软连接
extract_neo4j ${neo4j_user}
#修改配置文件
alter_neo4j_config
#检查环境变量
echo_fun 4 检查环境变量
check_etc_profile ${NEO4J_INSTALL_PATH}/neo4j ${NEO4J_INSTALL_PATH}/${NEO4J_VERSION}
#配置环境变量
if [ ${path_num} -lt 1 ];then
echo -e '\nexport NEO4J_HOME='${NEO4J_INSTALL_PATH}'/neo4j\nexport PATH=${NEO4J_HOME}/bin:$PATH'>> /etc/profile
source /etc/profile
fi
#启动neo4j
start_neo4j
neo4j_pid_num=`ps -ef |grep neo4j|grep -v grep|wc -l`
if [ ${neo4j_pid_num} -eq 1 ];then
echo_fun 2 neo4j has started
echo_fun 2 在浏览器输入${host_ip[0]}:7474
else
echo_fun 3 启动失败,请查看错误日志信息/home/${NEO4J_USER}/neo4jlog
fi
}
step_fun_4
执行结果如下:
语言无关类
操作系统
鸟哥的Linux私房菜 (简体)
Linux 系统高级编程
The Linux Command Line (中英文版)
Linux 设备驱动 (第三版)
深入分析Linux内核源码
UNIX TOOLBOX
Docker中文指南
Docker —— 从入门到实践
FreeRADIUS新手入门
Mac 开发配置手册
FreeBSD 使用手册
Linux 命令行(中文版)
智能系统一步步搭建物联网系统
web服务器Nginx开发从入门到精通 (淘宝团队出品)
版本控制Git教程 (本文由 @廖雪峰 创作,如果觉得本教程对您有帮助,可以去 iTunes 购买)
git – 简易指南
猴子都能懂的GIT入门
Git 参考手册
Pro Git
Git Magic
GotGitHub
Git Community Book 中文版
Mercurial 使用教程
HgInit (中文版)
沉浸式学 Git
Git-Cheat-Sheet (感谢 @flyhigher139 翻译了中文版)
GitHub秘籍
NoSQLNoSQL数据库笔谈 (PDF)
Redis 设计与实现
Redis 命令参考
带有详细注释的 Redis 30 代码
带有详细注释的 Redis 26 代码
The Little MongoDB Book
The Little Redis Book
Neo4j 简体中文手册 v18
Neo4j rb 中文资源
MySQLMySQL索引背后的数据结构及算法原理
项目相关持续集成(第二版) (译言网)
让开发自动化系列专栏
追求代码质量
selenium 中文文档
Joel谈软件
约耳谈软体(Joel on Software)
Web关于浏览器和网络的 20 项须知
前端知识体系
浏览器开发工具的秘密
Chrome 开发者工具中文手册
Chrome扩展开发文档
Grunt中文文档
移动Web前端知识库
正则表达式30分钟入门教程
前端开发体系建设日记
移动前端开发收藏夹
JSON风格指南
HTTP 接口设计指北
前端资源分享(一)
前端资源分享(二)
前端代码规范 及 最佳实践
w3school教程整理
大数据大数据/数据挖掘/推荐系统/机器学习相关资源
编程艺术程序员编程艺术
每个程序员都应该了解的内存知识(译)第一部分
取悦的工序:如何理解游戏 (豆瓣阅读,免费书籍)
其他OpenWrt智能、自动、透明**路由器教程
语言相关类 AWKawk程序设计语言
C/C++C++ 并发编程指南 (@傅海平ICT)
Linux C编程一站式学习 (宋劲杉, 北京亚嵌教育研究中心)
CGDB中文手册
100个gdb小技巧
100个gcc小技巧
ZMQ 指南
How to Think Like a Computer Scientist (中英文版)
跟我一起写Makefile(PDF)
GNU make中文手册
GNU make 指南
Google C++ 风格指南
C/C++ Primer (by @andycai)
简单易懂的C魔法
Cmake 实践 (PDF版)
C++ FAQ LITE(中文版)
C++ Primer 5th Answers
CSS/HTML学习CSS布局
通用 CSS 笔记、建议与指导
CSS参考手册
Emmet 文档
前端代码规范 (腾讯alloyteam团队)
DartDart 语言导览
FortranFortran77和90/95编程入门
Java实时 Java 系列
Apache Shiro 用户指南
使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序
第 1 部分: Web Services 服务端应用程序
第 2 部分: Web 服务客户端应用程序
JavaServer Faces 12 入门
第 1 部分: 构建基本应用程序
第 2 部分: JSF 生命周期、转换、检验和阶段监听器
用 Eclipse Europa 进行 Web 开发
第 1 部分: Eclipse Java EE
第 2 部分: PHP 开发工具
第 3 部分: Ruby Development Toolkit 和 RadRails
使用 JavaServer Faces 构建 Apache Geronimo 应用程序
第 1 部分: 使用 Eclipse 和 Apache MyFaces Core 构建基本的应用程序
第 2 部分: 在 JavaServer Faces 中使用 Tomahawk
第 3 部分: 使用 ajax4jsf 添加 Ajax 功能
第 4 部分: 使用 Apache Trinidad 组件扩展 JSF
第 5 部分: 将 JSF 应用程序与 Spring 集成
Apache Geronimo 和 Spring 框架
第 1 部分: 开发方法学
第 2 部分: 构建第一个应用程序
第 3 部分: 集成 DAO 与 ORM
第 4 部分: 混合使用 Spring AOP 和 Spring Web Flow
第 5 部分: Spring MVC
第 6 部分: Spring MVC:使用 Web 视图技术
终极 mashup —— Web 服务和语义 Web
第 1 部分: 使用与组合 Web 服务
第 2 部分: 管理 Mashup 数据缓存
第 3 部分: 理解 RDF 和 RDFs
第 4 部分: 创建本体
第 5 部分: 切换 Web 服务
Jersey 2x 用户指南
MyBatis中文文档
JavaScriptGoogle JavaScript 代码风格指南
Airbnb JavaScript 规范
JavaScript 标准参考教程(alpha)
Javascript编程指南 (源码)
javascript 的 12 个怪癖
JavaScript 秘密花园
JavaScript核心概念及实践 (PDF) (此书已由人民邮电出版社出版发行,但作者依然免费提供PDF版本,希望开发者们去购买,支持作者)
《JavaScript 模式》翻译,此书中文版有售,但是纸质书翻译的还没有这个版本翻译的好
命名函数表达式探秘 (注:原文由为之漫笔翻译,原始地址无法打开,所以此处地址为我博客上的备份)
学用 JavaScript 设计模式 (开源中国)
深入理解JavaScript系列
ECMAScript 6 入门 (作者:阮一峰)
jQuery
jQuery 解构
简单易懂的JQuery魔法
How to write jQuery plugin
Nodejs
Node入门
七天学会NodeJS
Nodejs Wiki Book (繁体中文)
expressjs 中文文档
koa 中文文档
使用 Express + MongoDB 搭建多人博客
Express框架
nodejs文档
Nodejs 包教不包会
Learn You The Nodejs For Much Win! (中文版)
Node debug 三法三例
underscorejs
Underscorejs中文文档
backbonejs
backbonejs入门教程 (PDF)
Backbonejs入门教程第二版
Developing Backbonejs Applications(中文版)
AngularJS
AngularJS最佳实践和风格指南
AngularJS中译本
AngularJS入门教程
构建自己的AngularJS
在Windows环境下用Yeoman构建AngularJS项目
zepto 简明中文手册
Seajs
Hello Seajs
CoffeeScript
CoffeeScript Cookbook
The Little Book on CoffeeScript中文版
ExtJS
Ext410 中文文档
Chrome扩展及应用开发
JavaScript入门教程
PHPPHP调试技术手册(PDF)
XDebug 2中文手册(译) (CHM)
PHP之道
PHP 最佳实践
PHP安全最佳实践
深入理解PHP内核
PHP扩展开发及内核应用
CodeIgniter 用户指南
Laravel4 中文文档
Laravel 入门
Symfony2中文文档 (未译完)
Phalcon中文文档(翻译进行中)
YiiBook几本Yii框架的在线教程
简单易懂的PHP魔法
swoole文档及入门教程
iOSiOS开发60分钟入门
iOS7人机界面指南
Google Objective-C Style Guide 中文版
iPhone 6 屏幕揭秘
Apple Watch开发初探
马上着手开发 iOS 应用程序
网易斯坦福大学公开课:iOS 7应用开发字幕文件
AndroidAndroid Design(中文版)
Google Android官方培训课程中文版
Android学习之路
Python小白的Python教程
简明Python教程
零基础学Python
Python 27 官方教程中文版
Python 33 官方教程中文版
深入 Python 3
PEP8 Python代码风格规范
Google Python 风格指南 中文版
Python入门教程 (PDF)
Python的神奇方法指南
笨办法学 Python (PDF版下载)
Django 文档中文版
Django 最佳实践
The Django Book 中文版
webpy 03 新手指南
Webpy Cookbook 简体中文版
Dive Into Python 中文版
Bottle 文档中文版 (需**)
Flask 文档中文版
Jinja2 文档中文版
Werkzeug 文档中文版
Flask之旅
Introduction to Tornado 中文翻译
Python自然语言处理中文版 (感谢陈涛同学的翻译,也谢谢 @shwley 联系了作者)
Python 绘图库 matplotlib 官方指南中文翻译
Scrapy 025 文档
ThinkPython
RubyRuby 风格指南
Rails 风格指南
笨方法学 Ruby
Ruby on Rails 指南
Ruby on Rails 实战圣经
Ruby on Rails Tutorial 原书第 2 版 (本书网页版免费提供,电子版以 PDF、EPub 和 Mobi 格式提供购买,仅售 99 美元)
编写Ruby的C拓展
Ruby 源码解读
ShellShell脚本编程30分钟入门
GoGo编程基础
Go入门指南
学习Go语言 (PDF)
Go Web 编程 (此书已经出版,希望开发者们去购买,支持作者的创作)
Go实战开发 (当我收录此项目时,作者已经写完第三章,如果读完前面章节觉得有帮助,可以给作者捐赠,以鼓励作者的继续创作)
Network programming with Go 中文翻译版本
Groovy实战 Groovy 系列
LaTeX一份其实很短的 LaTeX 入门文档
一份不太简短的 LATEX 2ε 介绍 (PDF版)
LISPANSI Common Lisp 中文翻译版
LuaLua编程入门
HaskellReal World Haskell 中文版
RR语言忍者秘笈
ScalaScala课堂 (Twitter的Scala中文教程)
Effective Scala(Twitter的Scala最佳实践的中文翻译)
Scala指南
SwiftThe Swift Programming Language 中文版
PerlModern Perl 中文版
Perl 程序员应该知道的事
Prolog笨办法学Prolog
Vim中文文档
Vimscript笨方法学Vimscript 中译本
Vim中文文档
读书笔记及其它 读书笔记编译原理(紫龙书)中文第2版习题答案
把《编程珠玑》读薄
Effective C++读书笔记
Golang 学习笔记、Python 学习笔记、C 学习笔记 (PDF)
Jsoup 学习笔记
学习笔记: Vim、Python、memcached
图灵开放书翻译计划–C++、Python、Java等
蒂姆·奥莱利随笔 (由译言网翻译,电子版免费)
Octave 入门 (PDF版)
SICP 解题集
精彩博客集合
正则表达式简明参考
常见的非关系型数据库有:1、mongodb;2、cassandra;3、redis;4、hbase;5、neo4j。其中mongodb是非常著名的NoSQL数据库,它是一个面向文档的开源数据库。
常见的几种非关系型数据库:
1、MongoDB
MongoDB是最著名的NoSQL数据库。它是一个面向文档的开源数据库。MongoDB是一个可伸缩和可访问的数据库。它在c++中。MongoDB同样可以用作文件系统。在MongoDB中,JavaScript可以作为查询语言使用。通过使用sharding MongoDB水平伸缩。它在流行的JavaScript框架中非常有用。
人们真的很享受分片、高级文本搜索、gridFS和map-reduce功能。惊人的性能和新特性使这个NoSQL数据库在我们的列表中名列第一。
特点:提供高性能;自动分片;运行在多个服务器上;支持主从复制;数据以JSON样式文档的形式存储;索引文档中的任何字段;由于数据被放置在碎片中,所以它具有自动负载平衡配置;支持正则表达式搜索;在失败的情况下易于管理。
优点:易于安装MongoDB;MongoDB Inc为客户提供专业支持;支持临时查询;高速数据库;无模式数据库;横向扩展数据库;性能非常高。
缺点:不支持连接;数据量大;嵌套文档是有限的;增加不必要的内存使用。
2、Cassandra
Cassandra是Facebook为收件箱搜索开发的。Cassandra是一个用于处理大量结构化数据的分布式数据存储系统。通常,这些数据分布在许多普通服务器上。您还可以添加数据存储容量,使您的服务保持在线,您可以轻松地完成这项任务。由于集群中的所有节点都是相同的,因此不需要处理复杂的配置。
Cassandra是用Java编写的。Cassandra查询语言(CQL)是查询Cassandra数据库的一种类似sql的语言。因此,Cassandra在最佳开源数据库中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。
特点:线性可伸缩;;保持快速响应时间;支持原子性、一致性、隔离性和耐久性(ACID)等属性;使用Apache Hadoop支持MapReduce;分配数据的最大灵活性;高度可伸缩;点对点架构。
优点:高度可伸缩;无单点故障;Multi-DC复制;与其他基于JVM的应用程序紧密集成;更适合多数据中心部署、冗余、故障转移和灾难恢复。
缺点:对聚合的有限支持;不可预知的性能;不支持特别查询。
3、Redis
Redis是一个键值存储。此外,它是最著名的键值存储。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C语言编写的。此外,它是根据BSD授权的。
特点:自动故障转移;将其数据库完全保存在内存中;事务;Lua脚本;将数据复制到任意数量的从属服务器;钥匙的寿命有限;LRU驱逐钥匙;支持发布/订阅。
优点:支持多种数据类型;很容易安装;非常快(每秒执行约11万组,每秒执行约81000次);操作都是原子的;多用途工具(在许多用例中使用)。
缺点:不支持连接;存储过程所需的Lua知识;数据集必须很好地适应内存。
4、HBase
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。
HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
5、neo4j
Neo4j被称为原生图数据库,因为它有效地实现了属性图模型,一直到存储层。这意味着数据完全按照白板的方式存储,数据库使用指针导航和遍历图。Neo4j有数据库的社区版和企业版。企业版包括Community Edition必须提供的所有功能,以及额外的企业需求,如备份、集群和故障转移功能。
特点:它支持唯一的约束;Neo4j支持完整的ACID(原子性、一致性、隔离性和持久性)规则;Java API: Cypher API和本机Java API;使用Apache Lucence索引;简单查询语言Neo4j CQL;包含用于执行CQL命令的UI: Neo4j Data Browser。
优点:容易检索其相邻节点或关系细节,无需连接或索引;易于学习Neo4j CQL查询语言命令;不需要复杂的连接来检索数据;非常容易地表示半结构化数据;大型企业实时应用程序的高可用性;简化的调优。
缺点:不支持分片
0条评论