安装cdh平台:安装hadoop,安装hive(十)

一、安装前准备

  1. 在opt目录下再建一个包cdh5.7.6:sudo mkdir -p cdh5.7.6
    在这里插入图片描述
  2. 修改权限sudo chown huadian:huadian cdh5.7.6/
    在这里插入图片描述
    3.在cdh7.5.6目录下重新安装hadoop和hive(数据库名字要改)
    上传所需要的工具:
    在这里插入图片描述

二、安装hadoop

1.使用rz命令上传

按照所需版本上传:rz

2.解压

tar -zxvf hadoop-2.6.0-cdh5.7.6.tar.gz -C ../cdh5.7.6/

3.修改环境变量

在etc目录下操作,-env.sh:

			hadoop-env.sh
		    yarn-env.sh
		    mapred-env.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.common模块

core-site.xml
在这里插入图片描述

5.HDFS模块

hdfs-site.xml
在这里插入图片描述
slaves:指定DataNode运行在那些机器在上
说明:如果有多个机器,一行一个

6.启动HDFS

(1)对文件系统进行格式化

bin/hdfs namenode -format
注意:只需要一次即可

(2)格式化成功标准:

在这里插入图片描述
若有错误:一定是配置文件写错
如果进行第二次格式化,格式化之前,将临时目录删除

(3)启动服务

主节点:sbin/hadoop-daemon.sh start namenode
从节点:sbin/hadoop-daemon.sh start datanode

(4)验证是否启动

方式一: jps
在这里插入图片描述
方式二: 通过web ui查看
hdfs webui端口是50070
http://bigdata-hpsk01.huadian.com:50070
在这里插入图片描述

7.测试HDFS

帮助命令:bin/hdfs dfs
创建目录:bin/hdfs dfs -mkdir -p /datas/tmp
从上传文件:Linux→HDFS
bin/hdfs dfs -put /opt/datas/wordcount /datas/tmp/
列举目录文件:bin/hdfs dfs -put /opt/datas/wordcount /datas/tmp/
查看文件内容:bin/hdfs dfs -cat /datas/tmp/wordcount
删除文件:bin/hdfs dfs -rm -r -f /datas/tmp/wordcount
下载文件(HDFS->linux):
bin/hdfs dfs -get /datas/tmp/wordcount /opt/modules/

8.Yarn模块

yarn-site.xml
在这里插入图片描述
salves:指定nodemanager运行在那些机器上,在配置HDFS的时候,已经配置了

9.启动Yarn

主节点:sbin/yarn-daemon.sh start resourcemanager
从节点:sbin/yarn-daemon.sh start nodemanager
在这里插入图片描述

10.验证Yarn是否启动

方式一:jps
在这里插入图片描述
方拾二:通过web ui
http://bigdata-hpsk01.huadian.com:8088
在这里插入图片描述

11.MapReduce

(1)重命名配置文件
/opt/cdh5.7.6/hadoop-2.6.0-cdh5.7.6/etc/hadoop路径下:
mv mapred-site.xml.template mapred-site.xml
(2)修改mapred-site.xml
在这里插入图片描述

12.测试MapReduce程序

程序运行在Yarn,读取HDFS上的数据进行处理

准备数据:

/datas/temp/wordcount

MapReduce程序:

Hadoop框架给我们提供了测试程序

/opt/cdh5.7.6/hadoop-2.6.0-cdh5.7.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.6.jar

在这里插入图片描述

提交运行

程序提交到Yarn上运行只有一种方式:bin/yarn jar
在这里插入图片描述
在这里插入图片描述
将/datas/tmp/wordcount用wordcount,输出到/datas/mapreduce/output1

bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.6.jar wordcount /datas/tmp/wordcount  /datas/mapreduce/output1

结果查看

(1)8088看看
在这里插入图片描述
(2)HDFS web UI 看看
在这里插入图片描述

13.历史服务配置

需求:在8088端口上,对已经结束的任务,无法查看历史信息(19888),历史信息记录:有几个Map Task,有几个Reduce task,任务什么时候提交了,什么启动,什么时候完成。
mapred-site.xml
在这里插入图片描述
启动历史服务
sbin/mr-jobhistory-daemon.sh start historyserver
在这里插入图片描述
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.6.jar wordcount /datas/tmp/wordcount /datas/mapreduce/output1
在这里插入图片描述

14.日志聚集功能

当MapReduce程序在Yarn上运行过程中,产生一些日志文件,需要将这些日志文件收集上传HDFS,以便后续监控查看
Yarn:主节点从节点
好处 :①中央化存储,集中存储方便管理
②可以减轻ResourceManager的负载压力
yarn-site.xml
在这里插入图片描述
注意:必须重启Yarn和JobHistoryServer服务才生效,需要重新读取配置文件

在里面重新安装hadoop和hive(数据库名字要改)

三、安装Hive

1.安装Mysql

(1)检查是否已经装了MySql

 检查:rpm -qa|grep mysql
在这里插入图片描述
 使用以下命令卸载,卸载完再用上面命令检查一下

 删除:rpm -e --nodeps xxxxxxxx

(2)安装MySql

 通过yum安装MySql
yum install -y mysql-server

(3)启动MySql服务

 MySQL的服务名:
       < 5.5 版本 使用 mysqld
       >= 5.5 版本 使用 mysql

 启动:
service mysqld start

(4)设置开机启动

 使用以下命令查看,我这个是开着的:
chkconfig mysqld --list
在这里插入图片描述
 这个是开启命令chkconfig mysqld on,再进行查看应该就和上图一样

(5)设置root用户命名

/usr/bin/mysqladmin -u root password '123456'

(6)登录mysql

mysql -uroot -p123456

(7)更改授权

select user,host,password from user;
在这里插入图片描述
 添加授权
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

 删除其他授权,只留下:
在这里插入图片描述
 刷新授权,
flush privileges

 重启mysql服务,远程连接
service mysqld restart

 到这里就可以远程连接数据库了

2.准备工作

(1)确保Hadoop相关进程启动

NameNode,DateNode,ResourceManager,NodeManager, JobHistoryServer
进入cd /opt/modules/hadoop-2.7.3/目录下,开启以下进程

  sbin/hadoop-daemon.sh start namenode
  sbin/hadoop-daemon.sh start datanode
  sbin/yarn-daemon.sh start resourcemanager
  sbin/yarn-daemon.sh start nodemanager
  sbin/mr-jobhistory-daemon.sh start historyserver

执行 jps查看一下:
在这里插入图片描述

(2)Mysql服务器启动

确保开启,开机启动
windows 上 Navite等工具可以连上

3.安装hive

(1)上传,解压,重命名

上传:
在这里插入图片描述
解压:tar -zxvf hive-1.1.0-cdh5.7.6.tar.gz -C ../cdh5.7.6

(2)修改配置

hive-env.sh
修改了一下名字:
mv hive-env.sh.template hive-env.sh
在这里插入图片描述
修改配置:
在这里插入图片描述
创建数据仓库
   hive 的数据需要保存到HDFS,那么保存HDFS那个目录,是不是需要配置
  不配置,因为它会去读默认路径,但是这些目录是空,所以需要去创建

bin/hdfs dfs -mkdir -p /user/hive/warehouse
bin/hdfs dfs -mkdir -p /tmp
bin/hdfs dfs -chmod g+w /tmp
bin/hdfs dfs -chmod g+w /user/hive/warehouse

在这里插入图片描述
在这里插入图片描述

(4)hive的基本使用

启动交互式命令:bin/hive
在这里插入图片描述

4.Hive文档

https://cwiki.apache.org/confluence/display/Hive/Home#Home-UserDocumentation

5.测试

(1)准备数据

将准备好的数据上传到Linux里
在这里插入图片描述

(2)创建数据库&表

直接使用default表
Hive创建表:

CREATE TABLE tb_word(
    word STRING,
    count INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n';

在这里插入图片描述

(3)加载数据到数据库

LOAD DATA LOCAL INPATH '/opt/datas/tb_word.txt' INTO TABLE tb_word;
在这里插入图片描述

(4)测试

SELECT
    word,count(word) count
FROM
    tb_word
GROUP BY
    word ;

在这里插入图片描述
在这里插入图片描述

6.使用Mysql存储元数据

(1)交互式命令问题

现象:
  bin/hive这个交互性命令不能同时开多个,开第二个就报错

原因:
  hive中无论是创建的 数据库还是表,这些元数据metaStore需要存储数据
  默认情况下存储在Derby数据库里面的,属于嵌入式数据,每次仅仅支持一个会话

解决:
  使用支持多个会话的数据,推荐MySQL存储元素(官方推荐)
在这里插入图片描述

(2)配置使用Mysql存储元素

文档:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

① 创建配置文件

touch hive-site.xml

② 修改配置

在这里插入图片描述

③. 添加驱动

给lib目录下传所需要的驱动包:mysql-connector-java-5.1.27-bin.jar

(3)测试

1.将metastore_db 和 derbylog删除
在这里插入图片描述
2.启动 bin/hive

3.效果:
①可以启动多个bin/hive交互性命令行
②mysql数据库中可以看到那个数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值