分享

微软有没有类似hadoop的技术?

我刚接触hadoop,在搜百度新闻印象中有微软的hadoop,但是又找不到了。莫非是我眼花弄错了。因为需要用到很多微软的库文件,比如activeX、DLL。因此在Linux上写MapReduce涉及到activeX和DLL中包含的算法调用会很麻烦。

所以想问问大家,有没有在Windows上跑的hadoop或者类似并行计算的框架。云环境是私有云。

已有(11)人评论

跳转到指定楼层
yuwenge 发表于 2015-5-9 19:20:06


微软推出 Windows Azure HDInsight Windows Azure HDInsight 现在支持使用预览版 Hadoop 群集。

什么是Windows Azure HDInsight?
Windows Azure HDInsight 是 Microsoft 在Windows Azure 部署的完全基于 Apache Hadoop 的解决方案。Hadoop 是一个分布式存储和处理平台,可对大量关系数据和非关系数据进行分析。通过HDInsight,Azure 客户可利用 Windows Azure Blob 存储中的数据或计算节点本地的本机 HDFS 文件系统中的数据。然后可动态配置 Hadoop 群集,以处理您的数据并利用 Windows Azure 进行灵活缩放。阅读CIO 杂志聚焦,它重点介绍了一些客户如何利用 HDInsight 处理大量数据并将新的数据类型整合到分析中。
HDInsight包括storm、hive等

想了解更多
在HDInsight中开始使用Hadoop与Hive来分析移动手机使用

HDinsight Storm介绍

在HDInsight中开始使用Hadoop与Hive来分析移动手机使用

使用Windows Azure HDInsight, Hadoop和Mahout机器学习建立一个推荐引擎

Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集


Microsoft .NET SDK For Hadoop


回复

使用道具 举报

huntagain 发表于 2015-5-10 08:39:27
yuwenge 发表于 2015-5-9 19:20
微软推出 Windows Azure HDInsight , Windows Azure HDInsight 现在支持使用预览版 Hadoop 群集。

...

微软那个是公有云,我司是私有云建集群,所以微软那个不适合。
公司想用hadoop做并行运算和分布式存储。但代码是c++和c#。微软的hdinsight是公有云服务,我司是私有云不合适。然后我看到hortonworks公司推出hdp windows版,还是开源的。请问有人用过吗?


如果hortonworks的产品可以在私有云上部署且支持activeX dll调用就可以用。想问问有没有人知道。请告知,谢谢
回复

使用道具 举报

arBen 发表于 2015-5-11 14:00:17
这个没听说过.
回复

使用道具 举报

Alkaloid0515 发表于 2015-5-11 14:43:27
huntagain 发表于 2015-5-10 08:39
微软那个是公有云,我司是私有云建集群,所以微软那个不适合。
公司想用hadoop做并行运算和分布式存储。 ...

Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”),

对于上面版本,我们对于Apache及Cloudera了解的比较多。
从这两个版本来看,他们的特性都是一致的,也就是说hadoop有什么特性,Cloudera就有什么特性。为什么会产生Cloudera,比如:
部署方便,监控方便,使用方便。但是本质都一样的,大家都是使用Java语言,都是跑mapreduce,都是使用yarn。
如果想使用其它语言,了解hadoop stream ,thrift,来进行转换。


HDP是与Cloudera一样的,对hadoop进行的封装,也就是说他们本质是一样的。也就是说它也是直接支持Java的,想使用其它语言,同样需要使用hadoop stream ,thrift,来进行转换。
并且对hdp官网逛了下,他们所说的是支持在window下安装,但是并不意味着就能够直接支持其它语言。
hdp在安装的时候,可以选择安装vs,并不是必须的,这是唯一和C#挂钩的地方。


网址:http://docs.hortonworks.com/


1.png
回复

使用道具 举报

huntagain 发表于 2015-5-13 15:11:24
Alkaloid0515 发表于 2015-5-11 14:43
Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改 ...

我的问题是Linux系统下不方便调用window环境s下编译的动态库。所以如果hadoop可以放在Window平台上建立集群,是不是就可以很好的调用windows下编译的动态库呢?就是Hadoop语言当然还是Java,我只需要用Java去调用windows下编译的动态库如dll就好了。

国内应该很多小型企业项目是用C++和C#写的,需要用到Windows环境的应该很多啊。但是为什么HortonWorks在我们这边的资料少之又少。我总共就搜到2篇博客,一篇windows版刚尝试搭建了3个节点的集群,一篇是体验了HDP2.0单机版,安装看教程也很简单。

我现在就在下载安装包,1.9G比原生的hadoop2.6 才180M真的大了好多。
回复

使用道具 举报

huntagain 发表于 2015-5-16 10:52:08
huntagain 发表于 2015-5-13 15:11
我的问题是Linux系统下不方便调用window环境s下编译的动态库。所以如果hadoop可以放在Window平台上建立集 ...

hdp for windows 首先安装了VMware WorkStation虚拟机,虚拟机上装windows server 2008 R2 企业版。

先尝试单节点安装。

安装前的准备:
VC++ 2010 RUNTIME
Python2.7 (版本太高会装不上去,安装需要VC++ RUNTIME支持,若VC++版本低了装不上)
JDK1.7以上版本(前面傻乎乎装的1.6版本,启动hdp服务出错,马上意识到时hadoop最近的版本不支持1.6了)
.NET FrameWork 4.0以上

关闭防火墙,控制面板-防火墙-高级-预配置 公共配置 专用配置防火墙都关闭

关闭IPV6支持,网络设置里去勾选

使能远程脚本功能:在windows PowerShell中一行一行运行脚本
  • Set-ExecutionPolicy "AllSigned"  
  • Enable-PSRemoting  
  • Set-item wsman:localhost\client\trustedhosts -value "localhost"  
  •   
  • winrm quickconfig  
  • winrm set winrm/config/client '@{TrustedHosts="localhost"}'  
运行安装包msiexec /i "hdp-1.1.0-GA.winpkg.msi"
配置窗口里设置
    #Log directory
    HDP_LOG_DIR=c:\hadoop\logs
    #Data directory
    HDP_DATA_DIR=c:\hdp\data
    #Hosts (Roles for the host machines in your cluster)
    NAMENODE_HOST=localhost
    SECONDARY_NAMENODE_HOST=localhost
    JOBTRACKER_HOST=localhost
    HIVE_SERVER_HOST=localhost
    OOZIE_SERVER_HOST=localhost
    TEMPLETON_HOST=localhost
    SLAVE_HOSTS=localhost
    #Database host
    DB_FLAVOR=derby
    DB_HOSTNAME=localhost
    #Hive properties
    HIVE_DB_NAME=hive
    HIVE_DB_USERNAME=hive
    HIVE_DB_PASSWORD=hive
    #Oozie properties
    OOZIE_DB_NAME=oozie
    OOZIE_DB_USERNAME=oozie
    OOZIE_DB_PASSWORD=oozie

20分钟安装好后启动服务start_local_hdp_services.cmd

验证安装
Run-SmokeTests.cmd  
然而namenode 都没有启动,还不知道怎么查看日志,没有找到namenode的日志。
接着无聊直接想装多节点的,master slave1 slave2。这回是服务都是Stop状态。目前是这样。
Master nodes: start master
1 Master nodes successfully started.
10 Master nodes failed to start.
PSComputerName      Service             Message             Status            
--------------      -------             -------             ------            
master              derbyserver         服务“Apache Had... Stopped            
master              hiveserver2         服务“Apache Had... Stopped            
master              jobhistoryserver    服务“Apache Had... Stopped            
master              metastore           服务“Apache Had... Stopped            
master              namenode            服务“Apache Had... Stopped            
master              resourcemanager     服务“Apache Had... Stopped            
master              secondarynamenode   服务“Apache Had... Stopped            
master              templeton           服务“Apache Had... Stopped            
master              timelineserver      服务“Apache Had... Stopped            
master              zkServer            服务“Apache Had... Stopped            

StartStop-HDPServices : Manually start services on Master nodes then retry full
cluster start.  Exiting.
所在位置 C:\hdp\manage_remote_hdp_services.ps1:187 字符: 47
+ if ($mode -eq "start") { StartStop-HDPservices <<<< ($mode) }
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorExcep
   tion
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
   n,StartStop-HDPServices

本人正在很傻比的再卸载重装。
回复

使用道具 举报

huntagain 发表于 2015-5-16 11:53:04
huntagain 发表于 2015-5-16 10:52
hdp for windows 首先安装了VMware WorkStation虚拟机,虚拟机上装windows server 2008 R2 企业版。

...

好的,这回单节点的hdp算是安装好了。冒烟测试第一次失败,第二次运行也通过了。
大致过程:
cmd或者windows PowerShell中 安装包所在目录 运行脚本 msiexec /i hdp-2.2.4.2.winpkg.msi
出现配置窗口。设置Hadoop用户密码,删除存在的hdp数据,数据库设置Hive,OOzie,DBFlavor选择DERBY。(用社区版的hadoop,我只用到mapreduce和hdfs,其他没有用到,也没有设置,但是这个发行版需要设置这些数据库,也有服务,),去勾选额外的组件,DBFlavor默认是MSSQL,但是因为没有安装这些数据库所以改为DERBY。所以,这里说的只是体验下,和生产无关。

冒烟测试用例
先创建/user/smoketest在HDFS上的目录,官方给出的是这样的
%HADOOP_HOME%\bin\hdfs dfs -mkdir -p /user/smoketest
用hadoop用户运行脚本,因为还是管理员用户
runas /user:hadoop "cmd /K %HADOOP_HOME%\Run-SmokeTests.cmd"

运行结果
第一次失败了,说是copyLocal找不到本地的路径
第二次目前还在跑,但是wordcount的mapreduce例子是跑通了,其他的pig的一些我不懂的例子,目前没看到报错,说明单节点安装是没有问题。

我以为单节点安装的意义是确定这个节点的机器环境是正确的,然后在批量克隆虚拟机建立集群。

多节点集群的部署,我以为就是远程访问PowerShell脚本要运行一下,确认可以远程Invoke-Command -ComputerName 远程主机名 -ScriptBlock {hostname},若可以正确显示主机名,那么在安装时输入窗口的内容就都可以用master,slave1,slave2这些作为地址。
多节点部署应该没有什么问题。

先部署看看,试试写个mapreduce类,类中调用C#和C++动态库的方法,看行不行。
回复

使用道具 举报

langke93 发表于 2015-5-16 13:23:04
huntagain 发表于 2015-5-16 11:53
好的,这回单节点的hdp算是安装好了。冒烟测试第一次失败,第二次运行也通过了。
大致过程:
cmd或者wi ...


虚拟机利用好快照,防止重复卸载和安装。装坏了,恢复下就好了

使用虚拟机搭建hadoop、openstack集群必备基础知识:虚拟机快照
回复

使用道具 举报

huntagain 发表于 2015-5-18 09:56:01
langke93 发表于 2015-5-16 13:23
虚拟机利用好快照,防止重复卸载和安装。装坏了,恢复下就好了

使用虚拟机搭建hadoop、openstack集 ...

对快照不了解。看HDFS时也有提到快照。你这里提到的我感觉就像系统还原,安装hadoop失败又要重新卸载很花时间,直接用快照恢复到最开始的状态。感觉像像打BOSS打不过去,幸亏有存档不用再走一遍走过的老路。

点评

理解很到位  发表于 2015-5-18 10:04
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条