大数据组件-Hive部署基于MySQL作为元数据存储
👨🏻🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
@[TOC]
MySQL安装
- 准备如下安装包
- MySQL-client-5.6.24-1.el6.x86_64.rpm
- mysql-connector-java-5.1.27.tar.gz
- MySQL-server-5.6.24-1.el6.x86_64.rpm
操作步骤:
-
使用rpm指令查询是否安装有
mariadb
或postfix
,有就卸载rpm -qa |grep mariadb rpm -qa |grep postfix #卸载发现的,否则mysql将安装不上 sudo rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
-
安装
MySQL-server-5.6.24-1.el6.x86_64.rpm
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
-
启动mysql服务
seriver mysql start
-
在
/root/.mysql_secret
中查看随机密码,并记录随机密码sudo cat /root/.mysql_secret
-
登录mysql
mysql -uroot -p[随机密码]
-
设置新的密码以及远程登录,并且刷新
mysql>set password=password('root'); #配置任何主机可以远程登录 mysql>use mysql mysql>update user set host='%' where user='root; #刷新sql配置 mysql>flush privileges;
安装Hive配置元数据到MySQL
-
将
mysql-connector-java-5.1.27.tar.gz
进行解压tar -zxvf mysql-connector-java-5.1.27.tar.gz
-
将解压出来中的
mysql-connector-java-5.1.27-bin.jar
复制到/usr/local/src/hive/lib下cp mysql-connector-java-5.1.27-bin.jar /usr/local/src/hive/lib/
-
配置Metastore到MySQL
-
在/hive/conf下创建一个hive-site.xml
touch hive-site.xml
-
并配置hive-site.xml中的参数
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!--配置连接url--> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://slave2:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <!--配置mysql的驱动类--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <!--配置mysql的用户账号--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <!--配置mysql的用户密码--> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> <description>password to use against metastore database</description> </property> </configuration>
- 若启动hive异常需要重新启动机器
-
多窗口启动hive测试
-
先启动mysql,并查看有几个数据库
------mysql -uroot -proot mysql>show databases;
-
再次打开多个窗口,分别启动hive
hive
-
启动hive之后,返回mysql窗口查看数据库数量,会显示增加了metastore数据库
-
-
HiveJDBC访问
-
因为hadoop不允许直接用户操纵hadoo层,会有一个伪装机制,而是使用将控制权交由超级代理,需要在hadoop的core-site.xml中配置
<property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property>
-
先开启 Metastore,再开启hiveserver2
nohup hive --service metastore >> log.out 2>&1 & nohup hive --service hiveserver2 >> log.out 2>&1 &
-
连接hiveserver2
beeline> !connect jdbc:hive2://本机的hive的ip或域名:10000(回车) Connecting to jdbc:hive2://本机的hive的ip或域名:10000 Enter username for jdbc:hive2://本机的hive的ip或域名:10000: hadoop(回车) Enter password for jdbc:hive2://本机的hive的ip或域名:10000: (直接回车) Connected to: Apache Hive (version 1.2.1) Driver: Hive JDBC (version 1.2.1) Transaction isolation: TRANSACTION_REPEATABLE_READ 0: jdbc:hive2://本机的hive的ip或域名:10000> show databases; +----------------+--+ | database_name | +----------------+--+ | default | | hive_db2 | +----------------+--+
- 点赞
- 收藏
- 关注作者
评论(0)