一、简介
从这起,开始介绍大数据相关的知识,这里介绍hadoop。
hadoop是apache开发的分布式系统。在分布式环境中,用于大数据量的存储和处理。
hadoop主要由两部分组成,hdfs(hadoop distributed file system)分布式文件系统和MapReduce编程模型。
hdfs就是对以往的文件系统进行了抽象,文件存放在多台机器上,但共享同一个地址空间。
MapReduce是一种数据处理方式,可批量处理大量数据,当然是非实时的(响应时间要根据处理的数据量大小)。
二、hadoop关键配置文件
1、core-site.xml
用于配置Common组件的属性
2、hdfs-site.xml
用于配置hdfs属性
3、mapred-site.xml和yarn-site.xml
用于配置MapReduce属性
4、hadoop-env.sh
配置hadoop运行环境,如配置jdk路径等
三、hadoop安装前准备
1、jdk安装
首先确保jdk已经安装,这里安装的是jdk8。
2、通过命令ssh localhost可免密登录
若不能以ssh方式登录安装机,则需安装,步骤如下:
a)sudo apt-get install ssh
b)在登录用户主目录下,输入 ssh-keygen -t rsa -P '' -f .ssh/id_rsa
c)cp .ssh/id_rsa.pub .ssh/authorized_keys
d)最后使用ssh localhost看是否能免密登录。
四、hadoop安装
下面以伪分布式(安装在一台机器上,模拟小规模集群)安装为例进行介绍。
1、下载hadoop
下载地址:http://hadoop.apache.org/releases.html ,这里使用的版本是hadoop-2.7.1,即安装包为hadoop-2.7.1.tar.gz
2、解压到自定义的安装目录
tar -zxvf hadoop-2.7.1.tar.gz
3、进入安装目录
cd hadoop-2.7.1
再进入配置文件目录
cd etc/hadoop
4、修改hadoop-env.sh文件
指定java_home目录,添加配置如下:
export JAVA_HOME=/usr/local/java
5、修改core-site.xml文件
修改配置如下:
fs.defaultFS
hdfs://192.168.0.1:9000
6、修改hdfs-site.xml文件
修改配置如下:
dfs.namenode.http-address
localhost:50070
dfs.replication
2
dfs.name.dir
/home/china/big_data_dir/hadoop/name
dfs.data.dir
/home/china/big_data_dir/hadoop/data
7、配置mapred-site.xml和yarn-site.xml文件
若配置目录下没有该文件,可从模板中复制一份,即cp mapred-site.xml.template mapred-site.xml ,
mapred-site.xml配置如下:
mapreduce.framework.name
yarn
yarn-site.xml配置如下:
yarn.resourcemanager.hostname
work.cn
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.webapp.address
work.cn:8088
mapred.job.tracker
192.168.0.1:9001
8、格式化hdfs文件系统
bin/hdfs namenode -format
9、启动
sbin/start-dfs.sh
sbin/start-yarn.sh
这时通过jsp可以查看启动的进行,有三个,如下:
21392 NameNode
21712 SecondaryNameNode
21505 DataNode
至此,hadoop安装启动完成。
五、hadoop页面查看
1、namenode查看
在浏览器中输入http://localhost:50070即可查看。
在页面顶部Utilities下拉框下点Browse the file system,即可查看hdfs中的文件系统。
2、集群其它应用(jobtracker)查看
在浏览器中输入http://localhost:8088即可查看。
六、基本操作
hdfs文件操作(除少数命令外)和在linux的文件操作命令类似,只是在前面添加bin/hadoop fs 即可。
如
创建文件夹:bin/hadoop fs -mkdir /test
查看文件内容:bin/hadoop fs -cat /
查看文件列表: bin/hadoop fs -ls /
这里重点说文件从本地上传到hdfs文件系统和从hdfs文件系统下载到本地。
1、文件从本地上传到hdfs文件系统
命令如:bin/hadoop fs -copyFromLocal ~/hadoop_space/t.txt /test/
2、文件从hdfs文件系统下载到本地
命令如:bin/hadoop fs -copyToLocal /test/t.txt ~/hadoop_space/t1.txt