Hadoop入门
Hadoop的基本使用。
Hadoop生态
- 使用MapReduce处理HBase中的海量数据
- 利用ZooKeeper作为协同服务
- HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力
当然HBase也可以使用本地文件系统而不用HDFS作为底层数据存储方式,不过为了提高数据可靠性和系统健壮性,发挥HBase处理大数据量的能力,一般都使用HDFS作为HBase的底层数据存储方式。 - Sqoop提供了数据导入功能,比如将RDBMS数据导入到HBase
- Pig和Hive为HBase提供了高层语言支持
安装
run demo
从官网下载:http://hadoop.apache.org/
事前确保JAVA_HOME已经设置好
查看版本号(运行前确保JAVA_HOME已设置):
1 | ./bin/hadoop version |
运行测试用例:
1 | mkdir input |
伪分布式安装
单节点启动:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
hadoop里的配置文件都在etc目录下面:
- hadoop-env.sh:配置环境变量
- core-site.xml:Hadoop core的配置项,如HDFS和MapReduce常用的IO配置等。
- hdfs-site.xml:Hadoop守护进程的配置,包括NameNode、Secondary NameNode和DataNode等
- mapred-site.xml:MapReduce守护进程的配置项,包括JobTracker和TaskTracker
- masters:运行SecondaryNameNode的机器列表
- slaves:运行DataNode和TaskTracker的机器列表
- hadoop-metrics.properties:控制metrics在Hadoop上如何发布的属性
修改core-site.xml,指定HDFS的地址和端口号:
1 | <configuration> |
修改hdfs-site.xml,配置副本数量、元数据存放的路径、数据存放的路径:
1 | <configuration> |
初始化HDFS文件系统:
1 | ./bin/hadoop namenode -format |
分布式安装
TODO