Hadoop集群部署
前言
实验背景:校园社区网站数据分析平台。
本项目,我们将由浅入深,从虚拟环境下Linux操作系统安装配置开始,逐步学习大数据分析平台的集群部署。
一、虚拟环境安装配置
(1)安装Xshell和Xftp。 Xshell的版本:Xshell-6.0.0189p,Xftp的版本:Xftp-6.0.0185p。
此软件的安装过程请看博客:安装Xshell和Xftp
(2)安装虚拟机及centos操作系统 VM的版本:VMware 15.5.0,光盘映像文件版本:CentOS-7-x86_64-DVD-1611
此软件的安装过程请看博客:安装虚拟机及centos操作系统
(3)jdk-8u181-linux-x64.tar以及hadoop-2.10.0.tar两个压缩文件
二、虚拟机中的网络配置
步骤一:本地网络配置查看
记录下本地的: (1)MAC地址 (2)IP地址 (3)子网掩码 (4)默认网关
Win+R 打开运行窗口输入cmd
输入ipconfig /all 即可查看所有网络,找到所连接的网络即可
步骤二:设置虚拟机网络环境
这边是我的配置:
(1)关闭防火墙
[root@localhost lixu]# systemctl stop firewalld //停止firewalld防火墙
[root@localhost lixu]# systemctl disable firewalld //disable防火墙
[root@localhost lixu]# systemctl status firewalld //查看firewalld是否已经关闭
(2)进入到selinux文件中将enable的修改成disabled
vi /etc/sysconfig/selinux
(3)配置并查看网卡文件
BOOTPROTO="static" //将DHCP改为static
IPADDR=192.168.43.79 //根据自己的当前局域网进行设置
NETMASK=255.255.255.0 //根据自己的当前局域网进行设置
DNS=192.168.43.1 //根据自己的当前局域网进行设置
GATEWAY=192.168.43.1 //根据自己的当前局域网进行设置
(4)设置主机名
hostnamectl set-hostname bp01
hostname
(5)设置主机名与IP地址映射
vi /etc/hosts
(6)重启网络服务
service network restart
(7)Xshell连接到虚拟机:
a:xshell登录79主机
b:创建/opt/tools目录
cd /opt
mkdir tools
c:创建/opt/hadoop目录
cd /opt
mkdir hadoop
三、Hadoop伪分布环境安装与配置
任务1:Java JDK-8u181版本下载与安装
1、Java JDK-8u171版本下载地址
Java JDK-8u181下载,自行选择需要安装的版本,选择其它的也可以。将Java JDK-8u181安装包放到/opt/tools目录下
任务2:Java JDK-8u181版本环境变量配置
1、创建/opt/hadoop/java目录
su root
cd /opt/hadoop
mkdir java
2、复制安装介质
cp /opt/tools/jdk-8u181-linux-x64.tar.gz /opt/hadoop/java/
3、文件解压缩
tar -xvf -C /opt/hadoop/java/jdk-8u181-linux-x64.tar.gz
4.配置Java环境变量
su root
vi /etc/profile
profile文件中加入以下两条
JAVA_HOME=/opt/hadoop/java/jdk1.8.0_181 //根据自己的环境设置
export PATH=$PATH:$JAVA_HOME/bin //统一必须怎么写
5. 验证JAVA环境
su root
java -version
任务3:Hadoop-2.10.0版本下载与安装
1、Hadoop-210.0版本解压缩
su root
cd /opt/tools/
cp hadoop-2.10.0.tar.gz /opt/hadoop/
cd /opt/hadoop/
tar -xvf hadoop-2.10.0.tar.gz
任务4:Hadoop-2.10.0版本环境变量配置
1.配置Hadoop环境变量
vi /etc/profile
source /etc/profile
profile文件中输入以下两句既可
HADOOP_HOME=/opt/hadoop/hadoop-2.10.0//根据自己实际的情况进行配置
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
接下来开始配置Hdoop的核心配置文件
hadoop.env.sh
core-site.xml
hdfs-site.xml
mapped-site.xml
yarn-site.xml
任务5:Hadoop-2.10.0版本核心配置文件配置
(1)hadoop.env.sh
说明:该文件为Hadoop的运行环境配置文件,Hadoop的运行需要依赖JDK,我们将其中的export JAVA_HOME的值修改为我们安装的JDK路径
cd /opt/hadoop/hadoop-2.10.0/etc/hadoop
vi hadoop-env.sh
hadoop-env.sh文件中输入以下即可:
export JAVA_HOME=/opt/hadoop/java/jdk1.8.0_181
(2)core-site.xml【Hadoop的核心配置文件】
cd /opt/hadoop/hadoop-2.10.0/etc/hadoop
vi core-site.xml
core-site.xml文件中输入以下即可:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bp01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop-2.10.0/tmp</value>
</property>
</configuration>
(3)hdfs-site.xml【HDFS核心配置文件】
cd /opt/hadoop/hadoop-2.10.0/etc/hadoop
vi hdfs-site.xml
hdfs-site.xml文件中输入以下即可:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(4)mapred-site.xml
cd /opt/hadoop/hadoop-2.10.0/etc/hadoop
vi mapred-site.xml
mapred-site.xml文件中输入以下即可:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)yarn-site.xml【Yarn框架配置文件】
cd /opt/hadoop/hadoop-2.10.0/etc/hadoop
vi yarn-site.xml
yarn-site.xml文件中输入以下即可:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bp01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(6)配置SSH免密码登录
1)进入hadoop目录下的.ssh目录
2)运行ssh-keygen,根据本机密钥,产生访问本机的公钥
3)运行cp id_rsa.pub authorized_keys,
将本机公钥添加到本机的可信列表中,没有ssh目录就新建一个
任务6:格式化DFS分布式文件系统
hdfs namenode -format
如果在格式化的日志中看到succefully format字样,就证明格式化成功。反之,失败
任务7:启动hadoop-2.10.0服务
启动DFS及resourcemanager
cd /opt/hadoop/hadoop-2.10.0/sbin
vim start-dfs.sh
vim start-yarn.sh
start-dfs.sh头部添加:
start-yarn.sh头部添加:
注意:这里重启两个配置文件出现了错误,在浏览器中输入ip访问不到网页 于是在core-site.xml【Hadoop的核心配置文件】中将bp01改为192.168.43.128,因为在配置实验的过程中网络发生了改变 所以这边是192.168.43.128,操作:先输入如下命令将两个进程关闭,修改完成之后重启
完成之后:MapReduce管理界面
http://192.168.43.128:8088
Hadoop管理界面
http://192.168.43.128:50070
任务8:Hadoop HDFS文件系统操作
参考文档地址:
Hadoop HDFS文件系统Shell命令:文件系统(FS)shell包括各种shell命令,这些命令直接与Hadoop分布式文件系统(HDFS)以及Hadoop支持的其他文件系统进行交互,例如本地FS、WebHDFS、S3fs等。
查看文件系统帮助文档
hadoop fs -help
1.查看文件系统剩余空间
语法:hadoop fs -df [-h] URI [URI …]
-H选项将以“人类可读”的方式格式化文件大小(例如,64.0M而不是67108864)。
查看整个文件系统剩余空间
hadoop fs -df -h /
2.创建文件目录
语法:hadoop fs -mkdir [-p] --p选项行为类似于UNIX MKDIR -P,沿着路径创建父目录。
注意:是这个路径
3.上传航空FOC数据文件
语法: hadoop fs -put [-f] [-p] [-l] [-d] [ - | … ].
-p:保存访问和修改时间、所有权和权限。(假设权限可以跨文件系统传播)
-F:如果目标已经存在,则覆盖它。
-L:允许数据节点延迟保存到磁盘,强制复制因子为1。这个标志将导致耐久性降低。小心使用。
-D:用后缀跳过临时文件的创建。
创建/1824113/FOC子目录
上传T2020.csv文件到/1824113/FOC目录中
vi T2020.csv
hadoop fs -put T2020.csv /1824113/FOC
4.查找航空FOC数据文件
语法: hadoop fs -find
hadoop fs -find / -name T2020.csv -print
5.下载航空FOC数据文件
语法:hadoop fs -get [-ignorecrc] [-crc] [-p] [-f]
hadoop fs -get /T00/FOC/T2020.csv T2020.dat
将T2020.csv下载到本地命名为T2020.dat
6.查看航空FOC数据文件访问权限
语法:hadoop fs -getfacl [-R]
hadoop fs -getfacl -R /
查看文件系统根目录下所有文件及目录的权限
7.查看航空FOC数据文件大小
语法:hadoop fs -du [-s] [-h] [-v] [-x] URI [URI …]
-S选项将导致显示文件长度的汇总,而不是单个文件。在没有-S选项的情况下,计算是通过从给定路径深入1级来完成的。
-H选项将以“人类可读”的方式格式化文件大小(例如,64.0M而不是67108864)。
-V选项会将列的名称显示为标题行。
-x选项将排除结果计算中的快照。没有-x选项(默认),结果总是从所有的iNoD中计算出来,包括给定路径下的所有快照。
这边是27字节
8.航空FOC数据文件拷贝
语法:hadoop fs -cp [-f] [-p | -p[topax]] URI [URI …]
-f选项将覆盖目的地,如果它已经存在。
-p选项将保存文件属性[Topx](时间戳、所有权、权限、ACL、XAttr)。如果-p被指定为没有ARG,则保留时间戳、所有权、权限。如果指定了-PA,则保留ACCEL也是因为ACL是一个超级权限集。是否保留原始命名空间扩展属性的确定与-P标志无关。
9.验证FOC数据文件是否变更过
语法: hadoop fs -checksum URI
返回文件的checksum信息
10.FOC数据文件添加
语法: hadoop fs -appendToFile …
将本地的数据文件添加【数据添加到文件末尾】到HDFS文件系统数据文件中,可以同时将本地多个文件添加到HDFS文件中。
hadoop fs -appendToFile T2001.dat /T00/FOC/T2001.dat
hadoop fs -du -s -h /T00/FOC/T2001.dat
11.FOC数据文件合并下载
语法: hadoop fs -getmerge [-nl]
将源目录和目标文件作为输入,并将SRC中的文件连接到目的地本地文件。可选地,可以设置NL,以便在每个文件的末尾添加新行字符(LF)。跳过空文件可用于避免在空文件的情况下不需要的换行符。
12.FOC数据文件移动
语法: hadoop fs -mv URI [URI …]
将文件从源移动到目的地。这个命令允许多个源,在这种情况下,目的地需要是一个目录。不允许跨文件系统移动文件。
hadoop fs -mv /T00/FOC/T2001.csv /T00/FOC/T2001-20180716.dat
MapReduce测试
cd /opt/hadoop/hadoop-2.10.0/share/hadoop/mapreduce
上传至HDFS中,输入如下指令:
Hadoop jar hadoop-mapreduce-examples-2.10.0.jar wordcount /1824113/FOC/T2020.dat /out/1.csv
查看结果:
四、使用Ambria安装部署Hadoop集群
1、安装Ambria服务
2、使用Ambria安装配置Hadoop集群
这一点小编还在抓紧赶制中…
总结
1、虚拟环境安装配置
2、虚拟机中的网络配置
3、Hadoop伪分布环境安装与配置
4、使用Ambria安装部署Hadoop集群