hive环境搭建

taisenki 2020-03-09

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 root
                   2、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>

相关推荐