关键字:Hadoop之最佳实践
如今Apache Hadoop已成为大数据行业发展背后的驱动力。Hive和Pig等技术也经常被提到,但是他们都有什么功能,为什么会需要奇怪的名字(如Oozie,ZooKeeper、Flume)。
Hadoop带来了廉价的处理大数据(大数据的数据容量通常是10-100GB或更多,同时数据种类多种多样,包括结构化、非结构化等)的能力。但这与之前有什么不同?
现今企业数据仓库和关系型数据库擅长处理结构化数据,并且可以存储大量的数据。但成本上有些昂贵。这种对数据的要求限制了可处理的数据种类,同时这种惯性所带的缺点还影响到数据仓库在面对海量异构数据时对于敏捷的探索。这通常意味着有价值的数据源在组织内从未被挖掘。这就是Hadoop与传统数据处理方式最大的不同。
本文就重点探讨了Hadoop系统安装配置和简单使用部分!
Hadoop安装之前的准备工作:
1.JAVA1.6.x (sun兼容性更好),1.5.x也OK
2.ssh
安装ssh
$ sudo apt-get install ssh
$ sudo apt-get install rsync
下载Hadoop
从http://hadoop.apache.org/core/releases.html 下载最近发布的版本
最好为hadoop创建一个用户:
比如创建一个group为hadoop user为hadoop的用户以及组
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hadoop
解压下载的hadoop文件,放到/home/hadoop目录下 名字为hadoop
配置JAVA_HOME:
gedit ~/hadoop/conf/hadoop-env.sh
将
Java代码
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
修改成java的安装目录:(我的是:/usr/lib/jvm/java-6-sun-1.6.0.15)
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15
现在可以使用单节点的方式运行:
$ cd hadoop
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*
Pseudo-distributed方式跑:
配置ssh
$ su - hadoop
$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
9d:47:ab:d7:22:54:f0:f9:b9:3b:64:93:12:75:81:27 hadoop@ubuntu
让其不输入密码就能登录:
hadoop@ubuntu:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
使用:
$ ssh localhost
看看是不是直接ok了。
hadoop配置文件:
conf/core-site.xml
Java代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-datastore/hadoop-${user.name}</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hadoop.tmp.dir配置为你想要的路径,${user.name}会自动扩展为运行hadoop的用户名
conf/hdfs-site.xml
Xml代码
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
dfs.replication为默认block复制数量
conf/mapred-site.xml
Xml代码
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
执行
格式化分布式文件系统:
$ bin/hadoop namenode -format
启动hadoop:
Java代码
$ bin/start-all.sh
可以从
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
查看NameNode和JobTracker
运行例子:
$ bin/hadoop fs -put conf input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
look at the run result:
$ bin/hadoop fs -get output output
$ cat output/*
大家可参考: 1、http://hadoop.apache.org/common/docs/current/quickstart.html
2、http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_%28Single-Node_Cluster%29
欢迎一起交流学习,谢谢大家.......
分享到:
相关推荐
Elasticsearch集成Hadoop最佳实践 Elasticsearch集成Hadoop最佳实践
Elasticsearch集成Hadoop最佳实践PDF版本,帮助你快速搭建Hadoop+ES搜索服务器集群
ansible-hadoop-用 Ansible 进行 hadoop 的最佳实践. 这组 Ansible 剧本能快速创建 Hadoop 集群 (Hortonworks 数据平台). 帮助在 Rackspace 云环境中构建可运行的环境.
Hadoop HDFS 最佳实践攻略 HDFS(Hadoop Distribute File System)是一个分布式文件系统,是 Hadoop 的重要成员。它解决了传统文件系统的问题,如单机负载可能极高、数据不安全、文件整理困难等。HDFS 的解决思路是...
ElasticSearch集成Hadoop最佳实践
阿里云Hadoop在云上的最佳实践涉及到很多关键知识点,下面我们将详细解读这些知识内容。 首先,阿里云Hadoop发展历程对于理解当前架构和优势至关重要。从2009年阿里开始研究Hadoop,到后续几年的发展,比如2013年双...
对于初学者来说,学习 Hadoop 的最佳方式是从安装配置 Hadoop 环境开始,逐步了解 HDFS 和 MapReduce 的基本操作。可以通过编写简单的 MapReduce 程序来理解数据处理流程,并尝试使用 Hadoop 处理实际的数据集。此外...
《HDFS——Hadoop分布式文件系统深度实践》这本书是针对Hadoop分布式文件系统(HDFS)的详尽指南,旨在帮助读者深入理解HDFS的工作原理、设计思想以及在实际应用中的最佳实践。HDFS是Apache Hadoop项目的核心组件之...
4. vSphere Big Data Extensions - Hadoop参考架构和最佳实践.ppt
在本资源中,"PPT集萃:20位Hadoop专家分享大数据技术工具与最佳实践"是一个关于Hadoop和大数据处理的集合,由行业内二十位资深专家共同贡献。这个资料包很可能包含了他们对Hadoop生态系统、大数据分析、数据处理的...
Hadoop 运营最佳实践该存储库将用作与操作 Hadoop 相关的任何内容的收集点。 请注意,所有内容都是围绕 Hortonworks 数据平台 (HDP) 构建/测试的,但应转换为与开源 Apache 组件兼容的任何发行版,因为 HDP 是直接...
#### 六、Hadoop编程最佳实践 为了提高Hadoop程序的性能和可维护性,开发人员应该遵循一些最佳实践,如: - **优化数据读取**:合理设计输入格式,减少不必要的数据加载。 - **减少网络传输**:尽可能在数据所在...
三、最佳实践 1. **版本匹配**:确保插件版本与所使用的Hadoop版本兼容,以避免可能出现的问题。 2. **日志查看**:利用Eclipse的输出视图跟踪作业的运行状态和日志信息,帮助诊断问题。 3. **优化调试**:在调试...
9. **最佳实践**:书中通常会介绍一些最佳实践,比如如何配置Hadoop集群、如何优化数据存储和计算、如何处理数据倾斜等问题,这些都是提升Hadoop性能的关键。 10. **学习路径**:对于初学者,可以从理解Hadoop的...
In Hadoop, distributed file system HDFS, resource scheduling framework YARN, and