hive配置
2017-09-16 17:10
267 查看
一、derby方式
1. 解压
2. 配置拷贝hive-default.xml.template到hive-site.xml
3. 清空配置文件,hive-site.xml
清空命令是:
配置
配置拷贝hive-env.sh.template到hive-env.sh
修改HADOOP_HOME=配置的hadoo路径
修改完记得
修改HADOOP_HOME\lib目录下的jline-*.jar 变成HIVE_HOME\lib下的jline-2.12.jar。hadoop和hive版本一致
Hadoop jar包 路径是:share/hadoop/yarn/lib
添加环境变量
修改完记得source ~/.bash_profile
8. 启动hadoop
9. 启动 hive
遇到的问题:
(1)问题一:hadoop未能找到
解决办法:修改hive-env.sh中的HADOOP_HOME
(2)问题二:Unable to instantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
解决方法:
如果失败,记得删除hive目录下的metastor_db,重新输入命令。
二、本地mysql
由于本人使用的centos7,这个系统已经不能直接安装mysql了,需要进行一些操作。这里给出两个安装方法。
方法一:安装mariadb
1. yum -y install mariadb-server mariadb mariadb-devel
2. mariadb数据库的相关命令是:
3.systemctl start mariadb
4.mysql -u root –p
5.show databases;
将会出现MariaDB [(none)]>。如果不习惯这种方式,那就看第二种方式。
方法二:官网下载安装mysql-server
1. 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2. 安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安装mysql
yum -y install mysql-server
4.mysql一些操作
重启服务:systemctl restart mysqld.service
登录:mysql -uroot -p
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ ,原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
sudo chown -R openscanner:openscanner /var/lib/mysql
重置密码:use mysql;
update user set password=PASSWORD(‘root’) where user=’root’;
删除空的用户
delete from user where user = ”;
将权限进行写入
flush privileges;
select user,host from user;
%代表所有机器都可以访问
master代表是只有主机名为master的机器可以访问
127.0.0.1代表本机访问。
5.修改hive-site.xml
引入jar包
需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下。
hive初始化mysql数据库
./schematool -initSchema -dbType mysql
问题一:hive 安装警告 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist
解决办法:在0.10 0.11或者之后的HIVE版本 hive.metastore.local 属性不再使用。
在配置文件里面:
删除掉,再次登录警告就消失了。
问题二:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.* schemaTool failed *
解决办法:登录hive所在的mysql数据,执行:grant all on . to “”@”%” identified by “”;
8. 启动hive
./hive
进入hive数据仓库,其次就是输入hive的一些指令进行测试。
三、远端mysql
1.remote一体
这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。
这里用mysql的测试服务器,ip为192.168.1. 14,新建hive_remote数据库,字符集位latine1
(2)客户端配置文件
启动hive服务端程序
hive –service metastore
客户端直接使用hive命令即可
查看一下mysql
1. 解压
2. 配置拷贝hive-default.xml.template到hive-site.xml
3. 清空配置文件,hive-site.xml
清空命令是:
:.,$-1d
配置
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:derby:;databaseName=metastore_db;create=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>org.apache.derby.jdbc.EmbeddedDriver</value> </property> <property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property>
配置拷贝hive-env.sh.template到hive-env.sh
修改HADOOP_HOME=配置的hadoo路径
修改完记得
source hive-env.sh
修改HADOOP_HOME\lib目录下的jline-*.jar 变成HIVE_HOME\lib下的jline-2.12.jar。hadoop和hive版本一致
Hadoop jar包 路径是:share/hadoop/yarn/lib
添加环境变量
vi ~/.bash_profile export HIVE_HOME=/opt/soft/apache-hive-2.1.1-bin export PATH=$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
修改完记得source ~/.bash_profile
8. 启动hadoop
9. 启动 hive
遇到的问题:
(1)问题一:hadoop未能找到
解决办法:修改hive-env.sh中的HADOOP_HOME
(2)问题二:Unable to instantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
解决方法:
./schematool -initSchema -dbType derby
如果失败,记得删除hive目录下的metastor_db,重新输入命令。
二、本地mysql
由于本人使用的centos7,这个系统已经不能直接安装mysql了,需要进行一些操作。这里给出两个安装方法。
方法一:安装mariadb
1. yum -y install mariadb-server mariadb mariadb-devel
2. mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mariadb #重启MariaDB systemctl enable mariadb #设置开机启动
3.systemctl start mariadb
4.mysql -u root –p
5.show databases;
将会出现MariaDB [(none)]>。如果不习惯这种方式,那就看第二种方式。
方法二:官网下载安装mysql-server
1. 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2. 安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安装mysql
yum -y install mysql-server
4.mysql一些操作
重启服务:systemctl restart mysqld.service
登录:mysql -uroot -p
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ ,原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
sudo chown -R openscanner:openscanner /var/lib/mysql
重置密码:use mysql;
update user set password=PASSWORD(‘root’) where user=’root’;
删除空的用户
delete from user where user = ”;
将权限进行写入
flush privileges;
select user,host from user;
%代表所有机器都可以访问
master代表是只有主机名为master的机器可以访问
127.0.0.1代表本机访问。
5.修改hive-site.xml
<configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> & 4000 lt;property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> </configuration>
引入jar包
需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下。
hive初始化mysql数据库
./schematool -initSchema -dbType mysql
问题一:hive 安装警告 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist
解决办法:在0.10 0.11或者之后的HIVE版本 hive.metastore.local 属性不再使用。
在配置文件里面:
<property> <name>hive.metastore.local</name> <value>false</value> <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description> </property>
删除掉,再次登录警告就消失了。
问题二:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.* schemaTool failed *
解决办法:登录hive所在的mysql数据,执行:grant all on . to “”@”%” identified by “”;
8. 启动hive
./hive
进入hive数据仓库,其次就是输入hive的一些指令进行测试。
三、远端mysql
1.remote一体
这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。
这里用mysql的测试服务器,ip为192.168.1. 14,新建hive_remote数据库,字符集位latine1
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.1.10:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://192.168.1.10:9083</value> </property> </configuration> 注:这里把hive的服务端和客户端都放在同一台服务器上了。服务端和客户端可以拆开, 2.remote分开 将hive-site.xml配置文件拆为如下两部分 (1)服务端配置文件 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.1.10:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> </configuration>
(2)客户端配置文件
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://192.168.1.10:9083</value> </property> </configuration>
启动hive服务端程序
hive –service metastore
客户端直接使用hive命令即可
查看一下mysql
相关文章推荐
- 配置Hadoop和HIVE
- hadoop-2.7.3 + hive-2.3.0 + zookeeper-3.4.8 + hbase-1.3.1 完全分布式安装配置
- Hive的安装及配置
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- Hive on Spark安装配置详解
- Hive之——metastore三种配置方式
- 配置hadoop,hive,hbase
- hive(06)、数据仓库Hive用户图形接口HWI的配置
- hive配置遇到的问题( Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D)
- Hive安装、配置及基本测试
- Hive笔记--配置以及遇到的问题
- hive-2.3.2配置步骤及问题解答
- Hive的安装及配置
- Hive安装配置过程中mysql的用户创建
- hive安装配置详解
- hive配置参数说明
- 【转】hive简介安装 配置常见问题和例子
- Hive 安装配置、HWI
- Hive配置
- Hive集群安装配置