赞
踩
先决条件
java1.7及以上
hadoop 2.X以上
下载地址
http://archive.apache.org/dist/hive/
下载版本:
1.2.1
上传到linux系统并解压
tar -zxvf apache-hive-xxxxx
创建软连接
ln -s apache-hive-1.2.1-bin hive
配置环境变量
vi ~/.bashrc
HIVE_HOME=/home/michael/soft/hive
PATH=$PATH:$HIVE_HOME/bin
report HIVE-HOME PATH
启动hadoop集群(hdfs和yarn)
hive
进入hive
存储元数据需要一个关系型数据库(一般是mysql) 一般存储表的模式和分区信息等
真正的数据存放到hdfs
hive只需要安装到一台机器上,所说的单机、伪分布和分布指的hadoop
hive中一次命令: hive -e “指令”
验证是否安装MySQL
yum list installed | grep mysql
删除MySql
yum –y remove mysql-libs.xxxxx
验证删除是否成功!
yum list installed | grep mysql
下载mysql二进制文件mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
将mysql压缩包拷贝到/usr/local/目录下:
解压:
$>tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
并重命名mysql:
$>mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
删除原压缩包:
$>rm mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
创建mysql用户组:
$>groupadd mysql
在创建的mysql用户组中创建一个新用户mysql:
$>useradd -r -g mysql mysql
进入目录:
$>cd /usr/local/mysql
修改目录的拥有者:
chown -R mysql .
chgrp -R mysql .
(这里的点“.”代表的就是当前目录,选项-R表示递归当前目录及其子目录)
创建数据库存放文件夹和相关文件并修改权限
$>sudo mkdir -pv /data/mysqldb/3306/{logs,run,data}
$>sudo touch /data/mysqldb/3306/run/mysqld.pid
$>sudo touch /data/mysqldb/3306/logs/mysql-error.log
$>sudo chown -R mysql.mysql /data/mysqldb/
$>sudo chmod -R 777 /data/mysqldb
文件没有创建的话,启动Mysql时将会报错
修改配置文件
$>cd /usr/local/mysql
$>sudo vim my.cnf
[client] port=3306 socket=/data/mysqldb/3306/mysql.sock default_character_set=utf8 [mysqld] user=mysql port=3306 socket=/data/mysqldb/3306/mysql.sock basedir=/usr/local/mysql datadir=/data/mysqldb/3306/data pid-file=/data/mysqldb/3306/run/mysqld.pid log-error=/data/mysqldb/3306/logs/mysql-error.log character_set_server=utf8 [mysql] socket=/data/mysqldb/3306/mysql.sock [mysqldump] socket=/data/mysqldb/3306/mysql.sock [mysqladmin] socket=/data/mysqldb/3306/mysql.sock
初始化mysql安装:
$>cd /usr/local/mysql
$>sudo ./bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize-insecure --user=mysql --datadir=/data/mysqldb/3306/data
Mysql 5.7以后对密码安全有更友好的提示了,
–initialize-insecure 以空密码初始化数据库
–initialize 随机生成一个密码并显示在屏幕中,第一次登录的时候必须提供此密码
把启动脚本放到开机初始化目录,添加开机启动mysql服务
复制启动服务脚本至/etc/init.d目录:
$>cd /usr/local/mysql
$>sudo cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
$>sudo chkconfig --add mysqld
$>sudo chkconfig mysqld on
$>chkconfig --list mysqld
$>chkconfig --del mysqld
启动mysql服务
安装好mysql后,就可以试着启动它,使用如下命令:
sudo service mysqld start
或
cd /usr/local/mysql
sudo ./support-files/mysql.server start
查看mysql服务是否启动:
ps -ef|grep mysql
看到mysql服务说明启动成功。
配置环境变量:
打开/etc/profile文件:
sudo gedit /etc/profile
在文件的最后,加上下面两行:
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
保存并关闭文件,执行以下命令使得环境变量生效:
source /etc/profile
修改root的密码
进行安全配置(设置密码)
执行命令:
$>mysql -u root -p
回车执行后,因为一开始没有设置密码,所以这里不需要输入密码,直接回车即可登录。
执行成功后,控制台显示 mysql>,则表示进入mysql
输入命令(注意分号):
mysql> set password for ‘root’@‘localhost’=password(‘admin’);
此时root用户的密码修改为admin。
退出mysql:
mysql> quit
重新登录:
mysql -u root -p
输入密码admin即可登录。
创建hive所需的账户和数据库
a.root进入Mysql;
$>mysql –u root –p (回车,密码为空,回车),进入到mysql命令行页面
b.创建hive数据库、为hive建立mysql账户
mysql> create user ‘hive’ identified by ‘123456’;
mysql> CREATE DATABASE hive;
c.MySQL授权
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘hyxy’@’%’ IDENTIFIED BY ‘123456’;
mysql> flush privileges;
配置Mysql服务远程可访问
a.连接MySQL 服务器:
mysql -u root -p
会提示输入管理员密码。注意,这里输入的密码不会回显。
b.使用如下命令,授权root 用户远程连接服务器:
mysql> grant all privileges on *.* to ‘root’@’%’ identified by “admin” with grant option;
mysql> flush privileges;
c.退出mysql 连接:
mysql> exit
<!--配置hiveserver2主机(这里最好是配置ip地址,以便于从Windows连接)--> <property> <name>hive.server2.thrift.bind.host</name> <value>master</value> </property> <!--配置beeline远程客户端连接时的用户名和密码。这个用户名要在对应的hadoop的配置文件core-site.xml中也配置--> <property> <name>hive.server2.thrift.client.user</name> <value>hyxy</value> </property> <property> <name>hive.server2.thrift.client.password</name> <value>123456</value> </property>
<!--对应beeline远程客户端连接时的用户名-->
<property>
<name>hadoop.proxyuser.hyxy.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hyxy.groups</name>
<value>*</value>
</property>
从shell中运行HiveServer2和Beeline:
$>hiveserver2 (或者hive --service hiveserver2 &)
另开一个终端窗口:
$>beeline -u jdbc:hive2://master:10000/default -n hyxy -p 123456
0: jdbc:hive2://> show databases;
0: jdbc:hive2://> show tables;
退出beeline:
0: jdbc:hive2://> !quit
配置可视化客户端工具
以dbvis为例。(以下操作在Windows系统下)
1、下载压缩包:dbvis_windows-x64_9_5_6.zip
2、解压缩到指定目录,最好为英文目录!!
3、将以下两个jar包拷贝到DbVisualizer\jdbc\hive目录下:
hadoop-common-2.7.3.jar (位于$HADOOP_HOME/share/hadoop/common/下)
hive-jdbc-1.2.1-standalone.jar (位于$HIVE_HOME/jdbc/下)
3、启动dbvis.exe程序
4、建立hive连接:指定相关参数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。