HIVE学习笔记(傻瓜式安装)2020-11-28
1 mysql数据 远程连接权限
linux系统中
- mysql -uroot -p --输入密码登录进mysql中
- set global validate_password_policy=0; //----↓
- set global validate_password_length=1; //–>这个两个设置以后 密码很简单不会报错
- set password for root@localhost = password(‘root’); //如果密码为123456的最好设为root(非常滴方便)
- grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
- flush privileges;
2 启动HDFS和YARN服务
{$HADOOP_HOME/bin/}start-all.sh
3 上传,解压包
将下载好的HIVE-0.0.tar.gz上传到linux中(apps)文件夹下
- tar -zxf apache-hive-3.1.2.tar.gz ./
- cd ./apache-hive-3.1.2/lib/
- rz //上传mysql的驱动包
4 在apache-hive-3.1.2/conf/文件夹下
vi hive-env.sh
export HADOOP_HOME=/opt/apps/hadoop-3.1.1/
export HIVE_CONF_DIR=/opt/apps/hive-3.1.2/conf
5 在
vi 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>
<!-- mysql的用户名和密码 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<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>
<!-- 客户端远程连接的端口 -->
<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.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>
<property>
<name>hive.metastore.uris</name>
<value>thrift://linux01:9083</value><!-- 根据自己的主机名修改反射 -->
</property>
</configuration>
6 配置hadoop的核心文件
vi /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>
7重启hadoop
{$HADOOP_HOME/bin/}stop-all.sh
{$HADOOP_HOME/bin/}start-all.sh
8 配置环境变量
在linux系统中修改系统环境变量
vi /etc/profile
export HIVE_HOME=/opt/apps/apache-hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
9 初始化
{$HIVE_HOME/bin/}schematool -initSchema -dbType mysql
10 开启元数据服务
hive --service metastore 前台启动
hive --service metastore & 后台启动
hive --service metastore 1>/dev/null 2>&1 &
[root@linux01 ~]# netstat -nltp | grep 9083 查看端口启用情况
tcp6 0 0 :::9083 —>有该结果说明端口已在使用
11 启动测试(HDFS正常)
hive 使用客户端
12 远程连接启动
hiveserver2 开启端口
netstat -nltp | grep 10000 验证端口启用情况
beeline
!connect jdbc:hive2://linux01:10000