[zz]Ubuntu Hadoop HDFS 配置
2012-03-18 11:03
357 查看
什么是Hadoop?
Apache Hadoop 是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。 Hadoop是从google MapReduce和Google文件系统的论文获得的灵感。Hadoop是Apache的一线项目,开发和实用来自世界各地的社区,Yahoo!是目前 为止最大的贡献者,并且Yahoo广泛使用它在搜索业务和广告业务上。IBM和Google的联合就是使用的Hadoop,为大学的课程提供分布式计算。 Hadoop的创始人是Doug Cutting(目前在yahoo工作),关于hadoop的命名,是Doug Cutting在它儿子画图时画了一只大象而获得的灵感。其实Doug Cutting最初的目的是想为Nutch搜索引擎提供分布式。hadoop有三个子项目:Hadoop core,HBase, Zookeeper.
hadoop core,提供分布式文件系统HDFS,支持MapReduce分布式计算,组建
大型集群。Hadoop框架中最核心设计就是:MapReduce和HDFS。MapReduce的思
想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就
是任务的分解与结果的汇总。HDFS是Hadoop分布式文件系统的缩写,为分布式计算
存储提供了底层支持。
HBase,类似Google的BigTable,是hadoop的数据库。
HBase使用和Bigtable非常相同的数据模型.用户存储数据行在一个表里.一个
数据行拥有一个可选择的键和任意数量的列.表是疏松的存储的,因此用户可以给行定
义各种不同的列。
Zookeeper,高可用和具有可靠的协调机制,分布式应用使用它来存储和协调。
HDFS安装需求
JavaTM 1.6.x, 官方推荐Sun JDK,OpenJDK也是可以的。SSH,需要通过ssh调用其他节点机器。本文安装系统为Ubuntu Server 10.04。192.168.1.171为Master,192.168.1.175为Slave。
?View Code BASH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # ssh, rsync sudo apt-get install ssh rsync # openjdk,也可以是sun jdk sudo apt-get install openjdk-6-jdk openjdk-6-jre # hadoop 稳定版下载地址 # http://mirror.bjtu.edu.cn/apache/hadoop/core/stable/ wget "http://mirror.bjtu.edu.cn/apache/hadoop/core/stable/hadoop-0.20.2.tar.gz" # cd /your_dir, and untar tar zxvf hadoop-0.20.2.tar.gz # 解压后,修改conf/hadoop-env.sh,设置JAVA_HOME为java安装目录 # jdk安装目录 /usr/lib/jvm/java-1.6.0-openjdk # vim conf/hadoop-env.sh # 修改为 export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk # !!!这步灰常重要,否则java程序就跑不起来鸟。。。。 # 设置全局变量,可选 vim /etc/environment # 添加下面两行 # JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk/ # CLASSPATH=.:$JAVA_HOME/lib |
?View Code BASH
1 2 3 4 5 6 7 | sudo vim /etc/apt/sources.list # 在最后 添加一行: # deb http://archive.canonical.com/ lucid partner # 安装sun jre, jdk sudo apt-get update sudo apt-get install sun-java6-jre sun-java6-jdk |
?View Code BASH
1 2 3 4 5 | # 编辑/etc/hosts vim /etc/hosts # 添加 # 192.168.1.171 hadoop-m171 # 192.168.1.175 hadoop-s175 |
?View Code BASH
1 2 3 4 5 6 78 | # 在Master主节点,这里是171. 设置ssh密钥,这样就可以免密码登陆其他Slaves节点了 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys # ssh 测试一下 ssh hadoop-m171 # 如果依然需要输入密码,请检查。注意运行用户,您可以全部采用root。 # 其他slaves机器,把~/.ssh/id_dsa.pub scp拷贝过去 scp ~/.ssh/id_dsa.pub root@192.168.1.175:/tmp/ # !!下面这句在slaves上执行!! cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys # 一定要测试一下,否则就无法启动slaves节点hadoop了。。。 ssh hadoop-s175 |
?View Code BASH
1 2 3 4 5 6 78 | # 主节点 vim conf/master # 添加内容 # hadoop-m171 # 从节点 vim conf/slaves # 添加内容 # hadoop-s175 |
?View Code XML
1 2 3 4 5 6 78 | <configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop-m171:9010</value> <!-- 这里我修改为9010了,因为端口9000被php-fastcgi占了 --> </property> <property> <name>hadoop.tmp.dir</name> <value>/d1/hadoopdata</value> <description>A base for other temporary directories.</description> </property> </configuration> |
?View Code XML
1 2 3 4 56 | <configuration> <property> <name>mapred.job.tracker</name> <value>hadoop-m171:9001</value> </property> </configuration> |
?View Code XML
1 2 3 4 56 | <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> |
?View Code BASH
1 2 | # 拷贝hadoop文件到slave上去 scp -r hadoop-0.20.2 root@192.168.1.175:/d1/hadoop |
?View Code BASH
1 2 3 4 5 | # 安装ssh,java等 sudo apt-get install ssh rsync openjdk-6-jdk openjdk-6-jre # 设置/etc/hosts,和master一样,自行参考 # 。。。省略了。。。 |
?View Code BASH
1 2 3 4 5 6 78 | # 格式化namenode bin/hadoop namenode -format # 启动 bin/start-all.sh # 关闭 # bin/stop-all.sh |
NameNode – http://192.168.1.171:50070/ JobTracker – http://192.168.1.171:50030/
遇到安装错误,切记心平气和,否则你废上一天也配不起来的,哈哈,开个玩笑。。。一般是datanode容易跑不起来,报“ 。。INFO org.apache.hadoop.ipc.Client: Retrying connect to server: 。。。”之类的错误。去查看日志吧,检查一下配置,就能起来了。日志在logs目录下,也可以通过http://192.168.1.171:50030 /logs/查看。
祝你成功,Good Luck~~
来张截图:
其他语言的API,是通过一个叫做thrift的东东来完成的。
Hadoop Distributed File System (HDFS) APIs in perl, python, ruby and php
See: http://wiki.apache.org/hadoop/HDFS-APIs
Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml.
See: http://incubator.apache.org/thrift/
更多请参考官方站点: http://hadoop.apache.org/common/
相关文章推荐
- ubuntu14.04环境下hadoop2.7.0配置+在windows下远程eclipse和hdfs的调用
- Hadoop安装教4程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.0
- datenode节点超时时间设置,Hadoop启动不正常,HDFS冗余数据块的自动删除,NameNode安全模式问题,ntp时间服务同步,机架感知配置
- 在ubuntu14.04下安装hbase1.1.3与hadoop2.6.4的相关配置
- Hadoop linux(ubuntu)分布式部署配置问题记录
- Hadoop 管理工具HUE配置-hdfs_clusters配置
- ubuntu下hadoop2.6在eclipse上的配置
- hadoop学习---3.hadoop在ubuntu下的安装配置(转)
- hadoop-3.0.0-beta1运维手册(004):安装分布式hdfs3.0.0-配置JDK、设置主机名
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
- Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程
- hadoop-HA Hadoop 2.2.0版本HDFS的HA配置
- 大数据基础(五)从零开始安装配置Hadoop 2.7.2+Spark 2.0.0到Ubuntu 16.04
- 大数据-ubuntu16.04上Hadoop安装教程_单机配置
- Ubuntu 14.04下jdkHadoop2.8集群安装配置教程并运行wordcount实例
- ubuntu14.04下配置单机的hadoop
- hadoop配置新节点后,出现 org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible n
- Ubuntu下面安装和配置Hadoop的dfs-fuse
- ubuntu+hadoop+eclipse开发环境安装与配置