hive环境搭建
export JAVA_HOME=/usr/local/runtime/jdk
export HADOOP_PREFIX=/usr/local/runtime/hadoop
export HIVE_HOME=/usr/local/runtime/hive
export HBASE_HOME=/usr/local/runtime/hbase
export ZOOKEEPER_HOME=/usr/local/runtime/zookeeper
export JRE_HOME=/usr/local/runtime/jdk/jre
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_PREFIX/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:$HADOOP_PREFIX/sbin
hive运行在hadoop基础上。选择一个hadoop服务器、安装hadoop。
1、拷贝mysql驱动包mysql-connector-java-5.1.32-bin
/usr/local/apache-hive-3.1.1-bin/lib
2、修改配置
3、初始化系统schematool -dbType mysql -initSchema
3、启动服务
单机方式:hive --service metastore &
服务器方式:服务器 hive --service metastore 客户端 hive
服务端启动 hiveserver2
客户端通过beeline两种方式连接到hive
1、beeline -u jdbc:hive2://localhost:10000/default -n root2、beeline
beeline> !connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl root 123
默认 用户名、密码不验证,命令行使用命令前面加!
退出使用:!quit
4、问题:/usr/local/hadoop-2.6.5/share/hadoop/yarn/lib 下jar包jline-0.9.94.jar 比较老导致 将hive下jline拷贝到hadoop下就可以了
----------------------------------------------------------------------------- cp hive-default.xml.template hive-site.xml 按以下模式进行配置
1、单机版,没有客户端,直接在服务器端操作
#修改配置hive-site.xml <!--hive数据上传到HDFS中的目录--> <property> <name>hive.metastore.warehouse.dir</name> <value>/root/hive_remote/warehouse</value> </property> <!--hive是否本地模式--> <property> <name>hive.metastore.local</name> <value>false</value> </property> <!--hive连接mysql地址--> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://PCS101/hive_remote?createDatabaseIfNotExist=true</value> </property> <!--hive连接mysql驱动类--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--hive连接mysql用户名--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!--hive连接mysql 密码--> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> :.,$-1d 删除当前行到倒数第二行
2、服务器/客户端版,服务器和客户端在同一台机器上,在服务器上操作数据和“1”类似
PCS101:mysql服务端
PCS102:hive服务端和客户端
PCS102 配置文件:hive-site.xml
<configuration> <!--hive数据上传到HDFS中的目录--> <property> <name>hive.metastore.warehouse.dir</name> <value>/root/hive_remote/warehouse</value> </property> <!--hive是否本地模式--> <property> <name>hive.metastore.local</name> <value>false</value> </property> <!--hive连接mysql地址--> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://PCS101/hive_remote?createDatabaseIfNotExist=true</value> </property> <!--hive连接mysql驱动类--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--hive连接mysql用户名--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!--hive连接mysql 密码--> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <!--hive meta store client地址--> <property> <name>hive.metastore.uris</name> <value>thrift://PCS102:9083</value> </property> </configuration>
3、服务端和客户端在不同节点(客户端 服务端都要依赖hadoop)
PCS101:mysql服务端
PCS102:hive服务端
PCS103:hive客户端
PCS102:hive服务端配置文件:hive-site.xml
服务端 <configuration> <!--hive数据上传到HDFS中的目录--> <property> <name>hive.metastore.warehouse.dir</name> <value>/root/hive_remote/warehouse</value> </property> <!--hive连接mysql地址--> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://PCS101/hive_remote?createDatabaseIfNotExist=true</value> </property> <!--hive连接mysql驱动类--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--hive连接mysql用户名--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!--hive连接mysql 密码--> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> </configuration>
客户端 <configuration> <!--hive数据上传到HDFS中的目录--> <property> <name>hive.metastore.warehouse.dir</name> <value>/root/hive_remote/warehouse</value> </property> <!--hive是否本地模式--> <property> <name>hive.metastore.local</name> <value>false</value> </property> <!--hive meta store client地址--> <property> <name>hive.metastore.uris</name> <value>thrift://PCS102:9083</value> </property> </configuration>