1-5.Hive安装配置

实验环境

实验准备

实验内容

一、初始化hadoop集群

二、安装配置MySQL 5.7元数据库

三、下载所需安装包

四、安装配置Hive运行环境

 

 

实验环境

  1. Ubuntu 18.04

  2. Oracle JDK 1.8

  3. Hadoop 3.2.4

  4. Hive 3.1.3

实验准备

1、 点击开始实验按钮,打开当前实验所有镜像环境 2、 进入实验环境后, 点击左上角收缩实验指南 3、 点击环境左上角的“三个横线”的标志,如下图。 最后点击“终端”。 4、 会在右下方看到打开的终端,可直接在终端中进行操作。

实验内容

一、初始化hadoop集群

配置节点hosts解析

使用命令查看自己所有节点环境的IP信息:

ip addr show

把所有节点的IP记录下来,将三个节点分别命名为master、slave1、slave2,取1个IP作为master节点,其余做slave节点。 修改容器中/etc/hosts文件,根据自己的节点的IP信息,在文件末添加类似下面的内容:

下面IP仅供参考,以自己环境的实际IP为准

10.42.240.106  master
10.42.240.46 slave1
10.42.74.171 slave2

配置及节点ssh免密登录

在master节点使用命令生成key,需要填入的内容直接留空即可

ssh-keygen -b 4096

使用下面的命令把master节点的公钥拷贝到包括master节点的所有的节点,默认密码为root

ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave2

使用ssh登录成功后后,可使用 exit 命令退出ssh会话回到原先节点终端继续操作

exit

最后,在master节点的终端使用下面的命令初始化Hadoop环境namenode

hdfs namenode -format

确保Hadoop启动并正常运行。

# hadoop的集群启动命令为:
start-all.sh

# 启动后检查是否安装成功:
hdfs dfsadmin -report

二、安装配置MySQL 5.7元数据库

在Master节点使用apt命令安装MySQL 5.7:

apt update
apt install mysql-server

安装成功后,更改mysql用户的默认目录到数据文件夹:

usermod -d /var/lib/mysql mysql

启动mysql服务端

/etc/init.d/mysql start

在终端执行下面命令进入mysql的cli

mysql -u root

在cli中输入下面的sql语句,设置mysql的root账号的密码为123456,并开放局域网访问

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

使用vim /etc/mysql/mysql.conf.d/mysqld.cnf修改mysql服务端配置,开放3306端口给局域网访问 bind-address修改为0.0.0.0,然后保存退出

bind-address = 0.0.0.0

使用vim /etc/mysql/my.cnf修改mysql服务端配置,添加中文字符集支持

[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
[client]
default-character-set = utf8mb4

重启mysql 5.7服务端,应用修改后的配置

/etc/init.d/mysql restart

三、下载所需安装包

在节点创建需要的文件夹,作为安装包储存路径和软件安装位置

mkdir -p /opt/software  /opt/module

从宿主机目录下将文件apache-hive-3.1.3-bin.tar.gz复制到容器Master中的/opt/software路径中。

scp root@10.42.2.28:/opt/hive/apache-hive-3.1.3-bin.tar.gz /opt/software

四、安装配置Hive运行环境

将Master节点ZooKeeper安装包解压到/opt/module路径中:

tar -xzf /opt/software/apache-hive-3.1.3-bin.tar.gz -C /opt/module

修改节点环境中的/etc/profile文件,在文件末添加下面的内容:

# 添加Hive的环境变量
export HIVE_HOME=/opt/module/apache-hive-3.1.3-bin
export PATH=$PATH:$HIVE_HOME/bin

执行下面的命令使添加的Hive环境变量生效:

source /etc/profile

配置hive-env.sh 进入到 HIVE 配置文件目录,先根据模板生成一个配置文件 hive-env.sh:

cd /opt/module/apache-hive-3.1.3-bin/conf
cp -f ./hive-env.sh.template ./hive-env.sh

然后再配置 HADOOP_HOMEHIVE_CONF_DIR 到对应的目录:

vim ./hive-env.sh

添加以下配置:

export HADOOP_HOME=/opt/module/hadoop-3.2.4
export HIVE_CONF_DIR=/opt/module/apache-hive-3.1.3-bin/conf
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_321

配置连接元数据库的驱动

cd
scp root@10.42.2.28:/opt/hive/mysql-connector-java-5.1.45.jar ./
cp -f ./mysql-connector-java-5.1.45.jar /opt/module/apache-hive-3.1.3-bin/lib

配置元数据库 Metastore(连接到 MySQL) 首先在 $HIVE_HOME/conf 目录下新建 hive-site.xml 文件

cd $HIVE_HOME/conf
touch ./hive-site.xml
vim ./hive-site.xml

然后在配置文件中添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&amp;useSSL=false</value>
     <description>metadata is stored in a MySQL server</description>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
     <description>MySQL JDBC driver class</description>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>root</value>
     <description>user name for connecting to mysql server</description>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>123456</value>
     <description>hivepassword for connecting to mysql server</description>
  </property>
  <property>
     <name>datanucleus.schema.autoCreateAll</name>
     <value>true</value>
  </property>
  <property>
       <name>hive.metastore.schema.verification</name>
       <value>false</value>
   </property>
   <property>
       <name>hive.metastore.event.db.notification.api.auth</name>
       <value>false</value>
   </property>
  <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>/bigdata/hive/warehouse</value>
   </property>
   <property>
       <name>hive.server2.thrift.bind.host</name>
       <value>master</value>
   </property>
   <property>
       <name>hive.server2.thrift.port</name>
       <value>10000</value>
   </property>
</configuration>

初始化 Hive 元数据库

schematool -initSchema -dbType mysql -verbose

如果遇到错误 Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;),是因为hadoop和hive的两个guava.jar版本不一致,解决办法是删除低版本的那个,将高版本的复制到低版本目录下:

rm -i /opt/module/apache-hive-3.1.3-bin/lib/guava-19.0.jar
cp -f /opt/module/hadoop-3.2.4/share/hadoop/common/lib/guava-27.0-jre.jar /opt/module/apache-hive-3.1.3-bin/lib/
© 版权声明
THE END
喜欢就支持一下吧
点赞118赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

夸夸
夸夸
还有吗!没看够!
取消
昵称表情代码图片

    暂无评论内容