建立学习用小型Hadoop集群

2019-03-28 14:22|来源: 网络

最近在学习Hadoop,运行了单机模式和伪分布模式后也想尝试一下真正的分布式。于是找了几台闲置的PC准备做个小集群,这些机器都是淘汰下来的Dell optiplex 745/755。

1. 安装基本系统

找一台机器安装Ubuntu 11.04,内核选server,然后装sun-java-6-jdk,建立hadoop用户,下载hadoop设置环境变量,细节请参考官方文档。一台机器装好以后用clonezilla做个系统镜像,其他机器可以直接用clonezilla通过ssh reimage。

总结几个问题:

1.1 ubuntu 11.04启动以后显示器休眠,需要按ctrl+alt+F1激活显示,开始还以为是显卡的问题,10.10好像没这个问题。

1.2 ubuntu 的partner 源出了问题,sun-java-6的路径找不到,可以直接到http://archive.canonical.com/pool/partner/s/sun-java6/下载sun-java6-bin_6.26-1natty1_amd64.deb,sun-java6-jre_6.26-1natty1_all.deb,sun-java6-jdk_6.26-1natty1_amd64.deb,然后用dpkg -i 安装。

1.3 放置clonezilla镜像的机器要允许root登录,否则显示权限错误,sudo passwd root,结束后关闭sudo passwd -l root。

1.4 镜像后的机器网络有问题,ifconfig显示ip地址是127.0.0.1,ifup eth0显示错误SIOCSIFADDR: No such device。google发现是/etc/udev/rules.d/70-persistent-net.rules记录了原来机器的MAC地址。注释其中的MAC地址记录并重启后可以正确从dhcp获得ip。

1.5 dhcp服务器不能记录linux机器的ip地址和主机名,在/etc/dhcp/dhclient.conf添加 send host-name "your-host-name"也没有用,可能是dhcp服务器不支持。试了下dhcpcd也不行。最后决定用static ip,希望IT不要来找我的麻烦。

1.6 把静态ip设置到几台机器的hosts文件,sudo vi scp://root@hostname//etc/hosts,不sudo的话yank后好像不能p,而且远程机器上要打开root才能保存。

PS,hadoop用openjdk也运行的很好,不用费尽找Sun的了,http://wiki.apache.org/hadoop/HadoopJavaVersions。

相关问答

更多
  • 《Linux操作系统应用》以Red Hat Enterprise Linux 5 Server为例,通过11个学习情境(包括43个子学习情境),介绍了Linux桌面应用、嵌入式开发和服务器管理与维护等工作中的应用技能,包括Linux操作系统的安装、登录及删除,图形用户界面,字符界面与文本编辑器,用户与组群管理,文件系统与文件管理,进程管理与系统监视,Linux应用程序,网络配置,网络服务器配置,Shell编程,Linux下的编程。
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 必须在hadoop集群上,它的数据来源是HDFS,本质上是yarn上的一个计算框架,像MR一样。
  • 《Linux操作系统应用》以Red Hat Enterprise Linux 5 Server为例,通过11个学习情境(包括43个子学习情境),介绍了Linux桌面应用、嵌入式开发和服务器管理与维护等工作中的应用技能,包括Linux操作系统的安装、登录及删除,图形用户界面,字符界面与文本编辑器,用户与组群管理,文件系统与文件管理,进程管理与系统监视,Linux应用程序,网络配置,网络服务器配置,Shell编程,Linux下的编程。
  • 看你是想往什么方向发展。 如果你想以后做系统工程师,建议你学习redhat的系统。这个在市场上无论是占有率还是各方面,都还是很好的。 如果你只是想自己在PC上玩玩,你用Ubuntu就可以
  • 英语要好 只要有毅力就OK 。最好是有Java基础,因为hadoop是用java编写的,所以懂java能够帮助理解hadoop原理,当然Hadoop也提供了其他语言的api。不过看楼主是从事javaee的,所以完全没问题,至于Linux只要会基本的cd,ll就差不多了,会安装文件,也就是解压软件,不过不会也没关系,网上多了去了。其实最主要就是能够坚持
  • 1. Oracle属于中型数据库,对内存的占用比较大,如果在自己的机器上使用建议安装Oracle10g,内存消耗比较小而且兼容性比9i好。 2. 世界上的所有行业几乎都在应用Oracle技术,《财富》100强中的98家公司都采用Oracle技术。Oracle是第一个跨整个产品线(数据库、业务应用软件和应用软件开发与决策支持工具)开发和部署100%基于互联网的企业软件的公司。Oracle是世界领先的信息管理软件供应商和世界第二大独立软件公司。
  • hadoop集群指的是一群机器在一起提供一个hadoop的集群的服务。 hadoop分布式指的是hadoop支持任务分布式运行,因为有hadoop集群提供服务,所以hadoop将任务分发到集群的多台机器运行,所以叫做分布式。 一个是服务器架构,一个是任务运行架构。
  • 我建议下oracle 10g,功能比较强大,现在公司用得也比较多,512内存能跑起来,但是可能有点慢。
  • 你没有说过你使用的是vanilla Hadoop还是分发版。 如果您使用的是vanilla Apache Hadoop版本,则可能需要尝试像CDH这样的发行版。 CDH5B2文档专门介绍了如何在Ubuntu中执行安装。 该发行版包含YARN,Spark,Hive,Pig,Sqoop,Flume等,因此它应该满足您的所有需求。 Thank you for that. You set me down the right path. For those interested in development, go ...