1. 上传hive的 tar包,解压
2. 去/opt/apps/hive-3.1.2/conf 目录下,新建文件hive-env.sh
命令为 vim hive-env.sh
在里面输入:
export HADOOP_HOME=/opt/app/hadoop-3.1.1
export HIVE_CONF_DIR=/opt/app/hive3.1.2/conf
3.在该目录下再新建 hive-site.xml
<configuration>
<!-- 记录HIve中的元数据信息 记录在mysql中 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://linux01:3306/hive?createDatabaseIfNotExist=true&useSSL=false</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>
<!-- hive在hdfs中存储的数据路径 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
<!-- shell客户端连接的端口 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.server2.webui.host</name>
<value>0.0.0.0</value>
</property>
<!-- hive服务的页面的端口 -->
<property>
<name>hive.server2.webui.port</name>
<value>10002</value>
</property>
<property>
<name>hive.server2.long.polling.timeout</name>
<value>5000</value>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateSchema </name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore </name>
<value>true</value>
</property>
<property>
<name>hive.execution.engine</name>
<value>mr</value>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<value>linux01,linux02,linux03</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://linux01:9083</value>
</property>
</configuration>
4. 去/opt/apps/hadoop-3.1.1/etc/hadoop/目录下找到core-site.xml
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
5.重启hadoop后去lib里面上传mysql的jar包
命令:cd /opt/apps/hive-3.1.2/lib/
然后rz 上传mysql-connector-java-5.1.47.jar就可以了
6.配置环境变量
export HIVE_HOME=/opt/apps/hive-3.1.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bin
7. 设置mysql的远程连接权限
mysql -uroot -p123456
set global validate_password_policy=0;
set global validate_password_length=1; 这个两个设置以后 密码很简单不会报错
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
8. 初始化mysql数据库
schematool -initSchema -dbType mysql -verbose
9. 开启元数据服务和hiveserver2
开启元数据服务
hive --service metastore 1>/dev/null 2>&1 &
去/opt/apps/hive-3.1.2/bin 目录下,执行hiveserver2服务
命令:./hiveserver2
查看端口号10000和10002,有d表示启动成功
10. 启动完beeline后通过jdbc协议开始连接hiveserver2服务
beeline> !connect jdbc:hive2://linux01:10000 回车
Connecting to jdbc:hive2://linux01:10000
Enter username for jdbc:hive2://linux01:10000: root 输入完root后回车
Enter password for jdbc:hive2://linux01:10000: 不设置密码,直接回车
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
如何解决beline中一直打日志的现象
启动时后面加上这么一行设置日志等级的语句,
把这个直接配置到启动脚本中期,用脚本启动就可以了
hive --service metastore -p 9083 &
beeline --hiveconf hive.server2.logging.operation.level=NONE