大数据-玩转数据-Hadoop 集群搭建和简单应用
目录
• 概念了解
• 集群服务器规划
• 软件安装步骤概述
• Hadoop安装
o 1、规划
o 2、上传解压缩
o 3、修改配置文件
o 4、把安装包分别分发给其他的节点
o 5、配置Hadoop环境变量
o 6、查看hadoop版本
o 7、Hadoop初始化
o 8、启动
o 9、查看4台服务器的进程
o 10、启动HDFS和YARN的web管理界面
• Hadoop的简单使用
o 创建文件夹
o 查看创建的文件夹
o 上传文件
o 下载文件
o 运行一个mapreduce的例子程序: wordcount
Hadoop集群中各个角色的名称:
服务 主节点 从节点
HDFS NameNode DataNode
YARN ResourceManager NodeManager
集群服务器规划
使用4台CentOS-6.7虚拟机进行集群搭建
关闭防火墙
软件安装步骤概述
1、获取安装包
2、解压缩和安装
3、修改配置文件
4、初始化,配置环境变量,启动,验证
Hadoop安装
1、规划
规划安装用户:hadoop
登录root 用户,创建hadoop用户(useradd hadoop)
修改hadoop密码(passwd hadoop)
给hadoop用赋予root 权限
修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
admin:x:500:500:admin:/home/tommy:/bin/bash
修改后如下
admin:x:0:500:admin:/home/tommy:/bin/bash
2、登录hadoop 用户
规划安装目录:/home/hadoop/apps
规划数据目录:/home/hadoop/data
注:apps和data文件夹需要自己单独创建
3、安装JDK
https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
将jdk 文件解压到指定文件目录下,并验证
jdk-8u201-linux-x64.tar.gz
[hadoop@hadoop1 apps] $tar –zxvf jdk-8u201-linux-x64.tar.gz -C apps/
[hadoop@hadoop1 apps] $vi /etc/profile
在末尾加上:
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
[hadoop@hadoop1 apps]$ source /etc/profile
让环境生效
[hadoop@hadoop1 apps] $java -version
检查
4、上传解压缩
注:使用hadoop用户
下载地址 https://hadoop.apache.org/releases.html
下载 Binary 已编辑好 source 需要编辑
Winscp 将hadoop-2.9.1.tar 拷贝到 app 目录下
[hadoop@hadoop1 apps]$ ls
hadoop-2.7.5-centos-6.7.tar.gz
[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz
5、修改配置文件
配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
A. hadoop-env.sh
[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
修改JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_73
B. core-site.xml
[hadoop@hadoop1 hadoop]$ vi core-site.xml
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务
hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.80.2:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/data/hadoopdata</value>
</property>
</configuration>
C. hdfs-site.xml
[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml
dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。
dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/hadoopdata/name</value>
<description>为了保证元数据的安全一般配置多个不同目录</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/hadoopdata/data<