科技公司钟爱的50款开源工具

科技公司钟爱的50款开源工具,第1张

大数据

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秘籍

NoSQL

NoSQL数据库笔谈 (PDF)

Redis 设计与实现

Redis 命令参考

带有详细注释的 Redis 30 代码

带有详细注释的 Redis 26 代码

The Little MongoDB Book

The Little Redis Book

Neo4j 简体中文手册 v18

Neo4j rb 中文资源

MySQL

MySQL索引背后的数据结构及算法原理

项目相关

持续集成(第二版) (译言网)

让开发自动化系列专栏

追求代码质量

selenium 中文文档

Joel谈软件

约耳谈软体(Joel on Software)

Web

关于浏览器和网络的 20 项须知

前端知识体系

浏览器开发工具的秘密

Chrome 开发者工具中文手册

Chrome扩展开发文档

Grunt中文文档

移动Web前端知识库

正则表达式30分钟入门教程

前端开发体系建设日记

移动前端开发收藏夹

JSON风格指南

HTTP 接口设计指北

前端资源分享(一)

前端资源分享(二)

前端代码规范 及 最佳实践

w3school教程整理

大数据

大数据/数据挖掘/推荐系统/机器学习相关资源

编程艺术

程序员编程艺术

每个程序员都应该了解的内存知识(译)第一部分

取悦的工序:如何理解游戏 (豆瓣阅读,免费书籍)

其他

OpenWrt智能、自动、透明**路由器教程

语言相关类 AWK

awk程序设计语言

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团队)

Dart

Dart 语言导览

Fortran

Fortran77和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中文文档

JavaScript

Google 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入门教程

PHP

PHP调试技术手册(PDF)

XDebug 2中文手册(译) (CHM)

PHP之道

PHP 最佳实践

PHP安全最佳实践

深入理解PHP内核

PHP扩展开发及内核应用

CodeIgniter 用户指南

Laravel4 中文文档

Laravel 入门

Symfony2中文文档 (未译完)

Phalcon中文文档(翻译进行中)

YiiBook几本Yii框架的在线教程

简单易懂的PHP魔法

swoole文档及入门教程

iOS

iOS开发60分钟入门

iOS7人机界面指南

Google Objective-C Style Guide 中文版

iPhone 6 屏幕揭秘

Apple Watch开发初探

马上着手开发 iOS 应用程序

网易斯坦福大学公开课:iOS 7应用开发字幕文件

Android

Android 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

Ruby

Ruby 风格指南

Rails 风格指南

笨方法学 Ruby

Ruby on Rails 指南

Ruby on Rails 实战圣经

Ruby on Rails Tutorial 原书第 2 版 (本书网页版免费提供,电子版以 PDF、EPub 和 Mobi 格式提供购买,仅售 99 美元)

编写Ruby的C拓展

Ruby 源码解读

Shell

Shell脚本编程30分钟入门

Go

Go编程基础

Go入门指南

学习Go语言 (PDF)

Go Web 编程 (此书已经出版,希望开发者们去购买,支持作者的创作)

Go实战开发 (当我收录此项目时,作者已经写完第三章,如果读完前面章节觉得有帮助,可以给作者捐赠,以鼓励作者的继续创作)

Network programming with Go 中文翻译版本

Groovy

实战 Groovy 系列

LaTeX

一份其实很短的 LaTeX 入门文档

一份不太简短的 LATEX 2ε 介绍 (PDF版)

LISP

ANSI Common Lisp 中文翻译版

Lua

Lua编程入门

Haskell

Real World Haskell 中文版

R

R语言忍者秘笈

Scala

Scala课堂 (Twitter的Scala中文教程)

Effective Scala(Twitter的Scala最佳实践的中文翻译)

Scala指南

Swift

The Swift Programming Language 中文版

Perl

Modern 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查询语言命令;不需要复杂的连接来检索数据;非常容易地表示半结构化数据;大型企业实时应用程序的高可用性;简化的调优。

缺点:不支持分片

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 科技公司钟爱的50款开源工具

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情