电商离线数仓从0到1系列之一 hadoop环境搭建

此项目技术选型:

数据采集:DataX,Flume
数据存储:HDFS
数据计算:Hive,MapReduce,Tez
调度系统:Airflow
元数据管理:Atlas
数据质量管理:Griffin
即席查询:Impala
数据库:MySQL

软件版本:

hadoop 2.9.2
hive 2.3.7
flume 1.9
datax 3.0
airflow 1.10
atlas 1.2.0
griffin 0.4.0
impala impala-2.3.0-cdh5.5.0
mysql 5.7

1.安装虚拟机并克隆出三台(此处步骤省略)

2.分别修改三台虚拟机网络配置及设置免密登录

2.1命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改网络配置红框里标注为修改或添加项,此处修改项解释:
BOOTPROTO = static 静态获取ip,避免动态获取ip造成的ip变化
ONBOOT= yes 开机连接网络
NETMASK 和 GATEWAY 设置,在虚拟网络编辑器里获取
GATEWAY对应紫色框网关,NETMASK对应子网掩码
IPADDR在子网ip段里选取,需改子网ip最后一位,改为范围在1-254的数字
在这里插入图片描述 2.2修改后重启网络服务 命令 service network restart
2.3重启完可以测试 ping www.baidu.com看是否ping通;以及ip a 看网络配置是否修改正确
2.4修改主机名 命令 vi /etc/hostname
在这里插入图片描述
2.5修改主机映射
命令 vi /etc/hosts在这里插入图片描述
2.6关闭防火墙
systemctl stop firewalld.service 关闭防火墙
systemctl status firewalld.service 查看防火墙状态
systemctl disable firewalld.service 永久关闭防火墙
2.7配置免密登录
2.7.1进入.ssh目录 执行 ssh-keygen -t rsa 回车3次
2.7.2把生成的公钥拷贝到所有机器上 ssh-copy-id warehouse102
2.7.3其他机器做相同操作

3.安装jdk(先在warehouse101上安装)

提前下载好jdk,本次采用jdk1.8
3.1 创建两个文件夹,一个用于存放软件包,一个是软件安装路径 mkdir -p /opt/lwp/software /opt/lwp/servers
3.2上传jdk软件包
3.3解压到 /opt/lwp/servers 目录
在这里插入图片描述
3.4配置环境变量
3.4.1 vi /etc/profile,在文件最后加入命令行
在这里插入图片描述
3.4.2 修改完之后执行 source /etc/profile使环境变量生效
3.4.3 用java 命令测试jdk是否安装成功在这里插入图片描述以上为安装成功结果,安装不成功一般为环境变量配置有问题,参见3.4.1

4.安装hadoop(先在warehouse101上安装)

集群规划
在这里插入图片描述
4.1 下载并上传hadoop2.9.2软件包到/opt/lwp/software文件夹
4.2 解压到/opt/lwp/servers文件夹
tar zvxf hadoop-2.9.2.tar.gz -C /opt/lwp/servers/
4.3 配置环境变量在这里插入图片描述 4.4 source /etc/profile 使环境变量生效
4.5 验证安装是否成功 hadoop version
在这里插入图片描述此为安装成功提示,若不一样请查看环境变量,参见步骤4.3
4.6 HDFS配置
4.6.1 配置hadoop-env.sh,指定jdk路径
vi /opt/lwp/servers/hadoop2.9.2/etc/hadoop/hadoop-env.sh 修改JAVA_HOME
在这里插入图片描述
4.6.2配置core-site.xml 指定NameNode节点及数据存储目录
vi core-site.xml 在configuration中加入如下代码

<!--指定NameNode节点-->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://warehouse101:9000</value>
        </property>
        <!--指定hadoop运行时产生文件存储路径-->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/lwp/servers/hadoop-2.9.2/data/tmp</value>
        </property>

4.6.3配置hdfs-site.xml 指定SecondaryNameNode

在这里插入图片描述
4.6.4 配置slaves文件 修改DataNode节点
在这里插入图片描述

4.7 MapReduce配置

4.7.1 配置mapred-env.sh 	指定jdk安装目录

在这里插入图片描述
4.7.2 修改mapred-site.xml
在这里插入图片描述mv /opt/lwp/servers/hadoop-2.9.2/etc/hadoop/mapred-site.xml.template /opt/lwp/servers/hadoop-2.9.2/etc/hadoop/mapred-site.xml
4.8Yarn配置
4.8.1 配置yarn-env.sh 指定jdk路径
在这里插入图片描述
4.8.2 配置yarn-site.xml 指定ResourceManager的master节点信息
在这里插入图片描述
4.9 修改文件夹所属用户和用户组
因为hadoop安装目录用户和用户组默认是501 dialout,而实际操作用户是root,为避免出错,修改文件夹的所属用户和用户组
chown -R root:root /opt/lagou/servers/hadoop-2.9.2
4.10 为避免多台机器重复操作,编写分发脚本同步文件
脚本运行成功前提,每台机器上安装过rsync yum -y install rsync
vi /usr/local/bin/rsync-script


#!/bin/bash

#1.获取参数数量
pnum=$#

if((pnum==0)); then
        echo 没有传入参数;
exit;
fi

#2.根据传入参数获取文件名称
p1=$1
file_name=`basename $p1`
        echo fname=$file_name

#3.获取输入参数的文件绝对路径
pdir=`cd -P $(dirname $p1); pwd`
        echo pdir=$pdir

user=`whoami`

for((host=101;host<104;host++)); do
        echo ------------------------------warehouse$host-------------------------------------
        rsync -rvl $pdir/$file_name $user@warehouse$host:$pdir
done

chmod 777 rsync-script 授予执行权限

4.11 将/opt/lwp/servers目录和/etc/profile同步到其他机器

rsync-script /opt/lwp/servers warehouse102
rsync-script /opt/lwp/servers warehouse103
rsync-script /etc/profile warehouse102
rsync-script /etc/profile warehouse103
在warehouse102、warehouse103上执行 source /etc/profile
4.12 测试集群
4.12.1 测试hdfs服务
如果是第一次启动服务首先需要在NameNode节点进行格式化 hadoop namenode -format
在warehouse101上执行start-dfs.sh命令 启动hfds,然后输入warehouse101:50070打开web页面看是否正常,可以查看hdfs概览和节点信息
在这里插入图片描述
4.12.2测试yarn服务
启动yarn服务start-yarn.sh ,输入warehouse103:8088 查看web
在这里插入图片描述
4.13 查看集群部署无误后,配置历史服务器和日志聚集
4.13.1配置历史服务器
在warehouse101服务器上更改mapred-site.xml配置文件,增加如下内容
在这里插入图片描述
4.13.2增加日志聚集功能
在warehouse101服务器上更改yarn-site.xml配置文件,增加如下内容
在这里插入图片描述
4.13.3重新启动hdfs和yarn,以及jobhistory服务
将修改后的mapred-site.xml和yarn-site.xml 分发到其他服务器
stop-dfs.sh–>stop-yarn.sh–>start-dfs.sh–>start-yarn.sh
在warehouse101上启动jobhistory服务
mr-jobhistory-daemon.sh start historyserver
4.13.4查看历史服务器是否正常
输入warehouse101:19888查看历史服务器web
输入warehouse101:19888/jobhistory/logs 查看日志
在这里插入图片描述在这里插入图片描述
4.14wordcount测试
4.14.1在HDFS上创建文件夹 hdfs dfs -mkdir -p /test/input,可以在web端验证如下:
在这里插入图片描述4.14.2在本地家目录创建文件 wc.txt,内容如下
在这里插入图片描述
4.14.3上传wc.txt文件到hdfs /test/input文件夹
在这里插入图片描述4.14.4 运行wordcount程序

在warehouse101服务器的HADOOP_HOME目录下执行 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /test/input /test/output 运行成功在/test/output文件夹下生成文件
在这里插入图片描述
将生成文件下载到本地查看
hdfs dfs -get /test/output/part-r-00000 ~
在这里插入图片描述由此hadoop搭建完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值