<property> <name>hive.server2.enable.impersonation</name> <value>true</value> </property>
并在 core-site.xml 中添加:
<property> <name>hadoop.proxyuser.hive.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hive.groups</name> <value>*</value> </property>
安装mysqlyum方式安装mysql以及jdbc驱动:
$ yum install mysql mysql-devel mysql-server mysql-libs -y $ yum install mysql-connector-java $ ln -s /usr/share/java/mysql-connector-java.jar /usr/lib/hive/lib/mysql-connector-java.jar
创建数据库和用户,并设置密码为hive:
$ mysql -e " CREATE DATABASE hive; USE hive; CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost'; GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'cdh1'; FLUSH PRIVILEGES; "
如果是第一次安装,则初始化 hive 的元数据库:
$ /usr/lib/hive/bin/schematool --dbType mysql --initSchema
如果是更新,则执行:
$ /usr/lib/hive/bin/schematool --dbType mysql --upgradeSchema
配置开启启动并启动数据库:
$ chkconfig mysqld on $ service mysqld start
修改 hive-site.xml 文件中以下内容:
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://cdh1:3306/hive?useUnicode=true&characterEncoding=UTF-8</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>hive</value> </property>
配置hive修改/etc/hadoop/conf/hadoop-env.sh,添加环境变量 HADOOP_MAPRED_HOME,如果不添加,则当你使用 yarn 运行 mapreduce 时候会出现 UNKOWN RPC TYPE 的异常
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
在 hdfs 中创建 hive 数据仓库目录:
hive 的数据仓库在 hdfs 中默认为 /user/hive/warehouse,建议修改其访问权限为 1777,以便其他所有用户都可以创建、访问表,但不能删除不属于他的表。
每一个查询 hive 的用户都必须有一个 hdfs 的 home 目录( /user 目录下,如 root 用户的为 /user/root)
hive 所在节点的 /tmp 必须是 world-writable 权限的。
创建目录并设置权限:
$ sudo -u hdfs hadoop fs -mkdir /user/hive $ sudo -u hdfs hadoop fs -chown hive /user/hive $ sudo -u hdfs hadoop fs -mkdir /user/hive/warehouse $ sudo -u hdfs hadoop fs -chmod 1777 /user/hive/warehouse $ sudo -u hdfs hadoop fs -chown hive /user/hive/warehouse
启动hive-server和metastore:
$ service hive-metastore start $ service hive-server start $ service hive-server2 start
测试$ hive -e 'create table t(id int);' $ hive -e 'select * from t limit 2;' $ hive -e 'select id from t;'
访问beeline:
$ beeline beeline> !connect jdbc:hive2://localhost:10000 hive hive org.apache.hive.jdbc.HiveDriver
与hbase集成先安装 hive-hbase:
$ yum install hive-hbase -y
如果你是使用的 cdh4,则需要在 hive shell 里执行以下命令添加 jar: