Hadoop体系架构
hadoop核心
HDFS:分布存储底层支持,达到高速并行读写和大容量存储扩展
MapReduce:对 分布式并行任务处理程序支持,保证高速分析处理数据
官方地址
Hadoop子项目
- HDFS:分布式文件系统
- MapReduce/YARN:YARN是下一代MapReduce的框架
- Hive:数据仓库,提供类似SQL查询Hadoop数据
- Pig:一个对大型数据进行分析、评估的平台
- HBase:Hadoop的分布式、面向列的数据库
- ZooKeeper:为分布式应用提供协调服务
Sqoop:主要用于Hadoop和传统数据库(MySQL)间数据传递
Spark:类似Hadoop MapReduce的并行框架,提供在线计算,不再需要读写HDFS
Ambari:支持Hadoop集群管理、监控的Web工具
一、环境准备
1、修改主机名和/etc/hosts
$ hostnamectl set-hostname hadoop-server
$ vim /etc/hosts #添加如下记录
hadoop-server 192.168.110.152
2、关闭防火墙和selinux
3、配置ssh免秘钥登录
4、安装jdk,配置java环境
下载后上传至服务器,解压到/usr/local目录下
tar zxvf jdk-8.tar.gz -C /usr/local/
mv jdk1.8.0_241 jdk8
配置环境变量,添加一下环境变量到profile文件末尾
[root@hadoop-server ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@hadoop-server ~]# source /etc/profile
二、安装配置hadoop
2.1、下载安装hadoop
Hdoop下载地址:v 2.9.2
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
解压到/opt目录下
tar -zxvf hadoop-2.9.2.tar.gz -C /opt
2.2、配置hadoop
cd /opt/hadoop-2.9.2/etc/hadoop/
1、配置hadoop-env.sh 里面的JAVA_HOME
vim hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/usr/local/jdk8
2、配置core-site.xml
指定HDFS的 NameNode的地址,value值是主机名加端口号,如果在host文件中添加了主机名和ip映射,主机名也可以用ip地址换
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.110.152:9000</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.110.152:9000</value>
</property>
# 指定hadoop运行时产生文件的路径
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadooptmp</value>
</property>
3、配置hdfs-site.xml
指定hdfs保存数据的副本数量,伪分布式只有一个节点,所以这里填:1
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoopname</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoopdata</value>
</property>
4、配置hdfs-site.xml
原本hadoop文件夹的etc下是没有mapred-site.xml,通过命令创建:
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5、配置yarn-site.xml
vim yarn-site.xml
#添加两个属性,第一个告诉nodemanager获取数据的方式为shuffle
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
#第二个指定yarn的老大Resourcemanagger的地址
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-server </value>
</property>
6、配置hadoop环境变量
$ vim /etc/profile
export HADOOP_HOME=/opt/hadoop-2.9.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
$ source /etc/profile
2.3、初始化并启动hadoop
hadoop namenode -format
start-all.sh #启动
stop-all.sh #停止
三、验证hadoop是否启动成功
查看HDFS http://192.168.110.152:50070/explorer.html#/