1、hadoop简介
Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:MapReduce 和 HDFS。基于 Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。
HDFS:Hadoop Distributed File System 的缩写,Hadoop中的分布式文件系统,它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
MapResuce:MapReduce是一套从海量·源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。
2、下载hadoop
3、安装hadoop(用hadoop用户操作)
1、 解压缩hadoop文件 (图1)
sudo tar -zxf hadoop-2.7.5.tar.gz -C /usr/local/
2、修改hadoop文件名 (图2)
sudo mv ./hadoop-2.7.5/ ./hadoop-2.7.5/
3、修改hadoop文件夹到所属者(图3)
chown -hR hadoop /usr/local/hadoop/
4、修改hadoop文件夹到所属组(图3)
chgrp -hR hadoop /usr/local/hadoop/
5、检查hadoop是否可用 (图4)
./bin/hadoop version
图1
图2
图3
图4
三、配置hadoop环境变量
1、vim ~/.bashrc 打开bashrc文件 (图1、2)
添加如下
export HADOOP_HOME=/usr/local/hadoop # hadoop的安装目录,替换为你的hadoop的安装目录
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin注:配置过jdk直接追加:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
2、source ~/.bashrc 使配置到环境变量生效并查看hadoop版本 (图3)
图1
图2
图3
3、使用hadoop
一、到此hadoop环境已经安装配置完成,接下来使用之前需要做2件事(使用root用户)
1、systemctl stop firewalld 关闭防火墙
2、getenforce 查看selinux守护进程
3、setenforce 0 关闭selinux守护进程
1、修改core-site.xml,在configuration节点下添加如下内容
<!-- Hadoop 文件系统的临时目录(NameNode和DataNode默认存放在hadoop.tmp.dir目录)-->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
<!-- 配置NameNode的URI -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
2、修改hdsf-site.xml,在configuration节点下添加如下内容
<!-- Master可替换为IP -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50070</value>
</property>
<!-- 设置系统里面的文件块的数据备份个数,默认是3 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- NameNode结点存储hadoop文件系统信息的本地系统路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<!-- DataNode结点被指定要存储数据的本地文件系统路径,这个值只对NameNode有效,DataNode并不需要使用到它 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
三、启动hadoop
1、格式化namenode
hdfs namenode -format
2、开启namenode和datanode进程
start-dfs.sh
3、启动成功后,在浏览起中输入http://Master:50070查看NameNode和DataNode的相关信息,还可以在线查看HDFS中的文件。