[关闭]
@yudesong 2018-02-12T03:18:54.000000Z 字数 3038 阅读 776

Hadoop 环境安装

Hadoop


Hadoop 简介

Hadoop是开源的分布式的并行计算平台,以MapReduce、HDFS为核心的计算框架,HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

Hadoop 架构

20140222160856375.png

(1)Pig是一个基于Hadoop的大规模数据分析平台,Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口;
(2)Hive是基于Hadoop的一个工具,提供完整的SQL查询,可以将sql语句转换为MapReduce任务进行运行;
(3)ZooKeeper:高效的,可拓展的协调系统,存储和协调关键共享状态;
(4)HBase是一个开源的,基于列存储模型的分布式数据库;
(5)HDFS是一个分布式文件系统,有着高容错性的特点,适合那些超大数据集的应用程序;
(6)MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。

Hadoop特点

Hadoop集群有三种启动模式:

环境安装

(1)创建Hadoop用户、用户组

  1. $ sudo adduser hadoop
  2. $ sudo usermod -G sudo hadoop

(2) 安装以及配置以来的软件
- JDK 安装
- SSH免密码登录

  1. $ ssh-keygen -t rsa #一路回车
  2. $ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
  3. $ chmod 600 .ssh/authorized_keys
  1. $ vim /home/hadoop/.bashrc
  2. #添加如下内容
  3. #HADOOP START
  4. export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
  5. export HADOOP_INSTALL=/usr/local/hadoop
  6. export PATH=$PATH:$HADOOP_INSTALL/bin
  7. export PATH=$PATH:$HADOOP_INSTALL/sbin
  8. export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
  9. export HADOOP_COMMON_HOME=$HADOOP_INSTALL
  10. export HADOOP_HDFS_HOME=$HADOOP_INSTALL
  11. export YARN_HOME=$HADOOP_INSTALL
  12. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
  13. export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
  14. #HADOOP END
  15. $ source ~/.bashrc
  1. - fs.default.name这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URIDataNode交互,以取得文件的块列表。
  2. - hadoop.tmp.dir hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenodedatanode的存放位置,默认就放在/tmp/hadoop-${user.name}这个路径中
  3. 2hfs-site.xml



dfs.replication
1

  1. - dfs.replication它决定着系统里面的文件块的数据备份个数。对于一个实际的应用,它应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)
  2. - dfs.data.dir这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值为file://${hadoop.tmp.dir}/dfs/data这个路径只能用于测试的目的,因为它很可能会丢失掉一些数据。所以这个值最好还是被覆盖。
  3. - dfs.name.dir这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。
  4. 3mapred-site.xml



mapreduce.framework.name
yarn

  1. - mapred.job.trackerJobTracker的主机(或者IP)和端口。
  2. 4yarn-site.xml



yarn.nodemanager.aux-services
mapreduce_shuffle

  1. - yarn.nodemanager.aux-services通过该配置,用户可以自定义一些服务
  2. 5hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

  1. ### Hadoop基本操作

格式化Hadoop文件系统

hadoop namenode -format

启动hdfs守护进程(NN、DN)

start-dfs.sh

启动YARN(NodeManager、ResourceManager)

start-yarn.sh

浏览器进入:http://localhost:8088进入ResourceManager管理页面

浏览器进入:http://localhost:50070进入HDFS页面

  1. ### Hadoop测试用例

在hdfs上创建文件夹

hdfs dfs -mkdir -p /user/hadoop/input

上传本地文件到hdfs

hdfs dfs -put xxx.json /user/hadoop/input

词频统计

hadoop jar hadoop-mapreduce-examples-2.6.0-sources.jar wordcount /user/hadoop/input output

查看结果

hdfs dfs -cat /user/hadoop/output/*
```

参考文献

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注