MS kisses Novell:商人的游戏

微软与Novell达成协议,旨在使Suse Linux与Windows在服务器环境中更好地共存。此协议涉及专利纠纷解决、虚拟环境支持及互操作性等多个方面,并预示着微软对Linux态度的转变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微软与Novell签订了协议,双方致力于让Suse Linux和Windows在服务器上和平共处,这条轰动性新闻,包括优快云在内的国内媒体也都有报道。 在一封给开源社区的公开信中,微软和Novell透露了协议的覆盖的范围,包括专利纠纷、虚拟环境和虚拟环境管理、Open Office XML、Mono/OpenOffice/Samba侵权豁免等内容。值得注意的是,公开信中称,微软意识到Linux已成为IT架构中重要的一部分。

这项协议意味着什么?对于个人非商业开发者来说,来自微软的专利诉讼威胁将不复存在。“That's right, Microsoft wants you to keep hacking.”Mono这个试图把.NET Framework移植到Linux平台的项目,是受益者之一。当然,协议带来的思考不止于此,试举数条:

1、微软针对Linux竞争的应对策略发生变化。远交近攻、分化Linux厂商阵营,同时树立自己在开源社群中的“好印象”,是微软的新战略。

2、Linux阵营内部分裂到了一个临界点。如果说Oracle推出Linux是对RedHat的重重一击,则Novell与微软签订的协议,则是给被打懵了的RedHat脸上再添伤口。可怜RedHat还要充胖子,强调这个协议是Linux的胜利,脸反正肿着,真胖假胖自己知道。

3、开放源代码运动本身,也将面临新的问题。我一向不认同将开源运动泛政治化、泛道德化,开源不是共产主义,尤其不是“你的就是我的,我的还是我的”那种伪共产主义。没有像IBM、RedHat、Novell这样的商业大公司,以商业为目的,以商业手段运作,能否做到今天这样,很难说。开源和商业,真的是对立概念吗?或者,微软就一定是商业的代名词吗?如果微软更积极主动地参与,对开源运动会产生什么影响呢?

4、国内厂商,包括商业和开源厂商,还有个人开发者,都应注意法律问题。即便是开放源代码,也要遵守知识产权相关法律。此次协议,微软将支付1亿美元予Novell,用于了结双方在专利方面的纠纷,Mono等项目也因此而避免了被起诉的命运。许多国内厂商在使用开源产品时,严重违反知识产权契约,未来必有大患。

根据协议,微软将总共向Novell支付3亿零8百万美元,除了上面提到的专利纠纷外,还有2亿4千万用于对Suse Enterprise Server的客户支持,9千4百万是推广Suse的市场经费。这是一场商人的游戏,一场有钱人的游戏。游戏必有规则,要跟别人玩,先学会游戏规则吧。

 
<think>好的,我现在需要帮助用户完成Hadoop集群的搭建和配置任务,包括启动HDFS/YARN服务、创建文件并上传到HDFS、运行WordCount程序,以及Hive数据库的相关操作。用户的问题比较详细,涉及多个步骤,我需要一步步拆解,确保每个部分都正确无误。 首先,用户想要搭建一个包含1个NameNode和2个DataNode的Hadoop集群。这意味着需要至少三台机器,或者在一台机器上通过不同的端口模拟多个节点。不过,考虑到实际情况,可能用户会使用虚拟机或者云主机来部署。我需要先确认Hadoop的安装和配置步骤,包括核心配置文件如core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml的设置。接下来是启动HDFS和YARN服务。这部分需要确保NameNode和DataNode正确启动,ResourceManager和NodeManager也正常运行。用户之前提到的引用中有关于配置文件的内容,比如core-site.xml中指定NameNode的地址,hdfs-site.xml中设置副本数。同时,用户之前可能遇到集群ID不一致的问题,需要注意格式化NameNode后clusterID的一致性。然后是创建目录和上传文件到HDFS,这部分需要用到hdfsdfs命令,例如创建目录、上传文件等操作。运行WordCount程序需要用户编写或使用示例的MapReduce任务,并确保输出路径不存在,否则会报错。关于Hive部分,用户需要创建三个表:学生信息表、课程信息表和成绩信息表。这涉及到Hive的DDL语句,如CREATETABLE,以及加载数据的方式,比如LOAD DATALOCAL INPATH。需要确保Hive服务已经正确安装,并且配置了元数据存储(比如使用MySQL或Derby)。查询部分需要按学号升序排序,这可以通过ORDERBY子句实现。可能遇到的问题包括Hadoop服务启动失败、端口冲突、权限问题,以及Hive元数据存储配置错误。需要引导用户查看日志文件,如检查DataNode和NameNode的日志,确认是否有错误信息。例如引用[3]中的集群ID不一致问题,用户需要删除data目录下的内容并重新格式化。 此外,用户可能对Hadoop和Hive的环境搭建不够熟悉,需要详细说明每个配置项的作用,比如fs.defaultFS指定NameNode的地址,hadoop.tmp.dir设置临时目录的位置。同时,Hive的配置需要确保Hadoop服务已经启动,并且Hive能够连接到HDFS。最后,生成相关问题时要覆盖用户可能感兴趣的扩展内容,比如性能调优、安全配置、高可用性设置以及数据备份策略。这些可以帮助用户进一步深入学习和解决问题。</think>### Hadoop集群搭建与操作指南 --- #### 一、Hadoop集群搭建(1 NameNode + 2 DataNode) **1. 环境准备** - 至少3台服务器(物理机/虚拟机/容器),建议使用CentOS 7+ - 配置SSH免密登录 - 安装JDK 8+并配置环境变量 **2. 关键配置文件** - **core-site.xml**(NameNode地址与临时目录)[^2] ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/tmp</value> </property> </configuration> ``` - **hdfs-site.xml**(副本数与数据存储路径) ```xml <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop/hdfs/datanode</value> </property> ``` - **workers文件**(DataNode列表) ``` datanode1 datanode2 ``` **3. 集群启动流程** ```bash # 格式化HDFS(仅在首次执行) hdfs namenode -format # 启动HDFS start-dfs.sh # 启动YARN start-yarn.sh ``` *验证服务状态:* - HDFS UI: `http://namenode:9870` - YARN UI: `http://namenode:8088` --- #### 二、HDFS文件操作与WordCount **1. 创建目录与上传文件** ```bash hdfs dfs -mkdir /input hdfs dfs -put localfile.txt /input ``` **2. 运行WordCount程序** ```bash hadoop jar hadoop-mapreduce-examples.jar wordcount /input /output hdfs dfs -cat /output/part-r-00000 ``` --- #### 三、Hive数据库操作 **1. 创建表结构** ```sql -- 学生表 CREATE TABLE students ( stu_id STRING, name STRING, gender STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; -- 课程表 CREATE TABLE courses ( course_id STRING, course_name STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; -- 成绩表 CREATE TABLE scores ( stu_id STRING, course_id STRING, score INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; ``` **2. 加载本地数据** ```sql LOAD DATA LOCAL INPATH '/data/students.csv' INTO TABLE students; ``` **3. 查询示例(按学号排序)** ```sql SELECT * FROM students ORDER BY stu_id ASC; ``` --- #### 四、常见问题排查 1. **DataNode不显示**:检查`clusterID`是否一致[^3],删除数据目录后重新格式化 2. **端口冲突**:确认`9000`(HDFS)、`8088`(YARN)未被占用 3. **权限错误**:使用`hdfs dfs -chmod`修改权限 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值