Hive 安装部署
首先需要先安装好JDK和Hadoop , 配置好环境变量 , 由于我们是在实际工作中使用Hive , 因此我们需要配置mysql版本 .
安装Mysql
yum安装mysql
yum install mysql mysql-server mysql-devel
- 完成后 , 用
/etc/init.d/mysqld start
启动mysql - 启动mysql控制台:(首次登陆是没有密码的)
mysql
首先修改密码
mysql>; USE mysql;
mysql>; UPDATE user SET Password=PASSWORD('自己设置的密码') WHERE user='root';
UPDATE user SET Password=PASSWORD('123') WHERE user='root';
允许远程登录
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
刷新权限
mysql>; FLUSH PRIVILEGES;
重新登录
mysql -u root -p`你设置的密码`
mysql服务名字 service mysqld start
安装hive
-
上传tar包到/export/servers下
-
解压
tar -zxvf hive-1.2.1.tar.gz
, 删除压缩包 , 并改名mv hive-1.2.1 hive
-
安装mysql数据库 ( 推荐yum 在线安装 )
-
配置hive
- 配置HIVE_HOME环境变量
vi conf/hive-env.sh
配置其中的$HADOOP_HOME
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123</value> <description>password to use against metastore database</description> </property> </configuration>
-
此时启动会报错(“com.mysql.jdbc.Driver”)was not found in the CLASSPATH
我们此时只需要将mysql-connector-java-5.1.32.jar
上传到hive/lib下即可 -
再次启动hive/bin/hive即可进入
上述表示本地模式 , 看到上图表示成功
**Hive几种使用方式 : **
-
Hive交互shell
bin/hive
-
Hive JDBC服务(参考java jdbc连接mysql)
-
hive启动为一个服务器,来对外提供服务
bin/hiveserver2
非后台方式nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
后台方式- 启动成功后,可以在别的节点上用beeline去连接
- 首先将node-1上的hive文件拷贝到其他机器上 , 如node-3
scp -r /export/servers/hive/ root@node-3:/export/servers/
bin/beeline
然后在输入! connect jdbc:hive2://node-1:10000
- 或者bin/beeline -u jdbc:hive2://node-1:10000 -n root启动beeline
首先hive启动为服务: bin/hiveserver2 然后远程客户端连接: bin/beeline Beeline version 1.2.1 by Apache Hive beeline> ! connect jdbc:hive2://node-1:10000 连接协议 Connecting to jdbc:hive2://node-1:10000 Enter username for jdbc:hive2://node-1:10000: root hive服务所在linux服务器用户名 Enter password for jdbc:hive2://node-1:10000: ******* hive服务所在linux服务器密码
看到这个表明成功
-
Hive命令
- hive -e ‘sql’
- bin/hive -e ‘select * from t_test’
要想hive启动运行成功 首先保证hadoop成功 保证mysql启动成功
chkconfig mysqld on
开机启动mysql