Hive部署--CentOS7

Hive

  • Hadoop修改
  • mysql安装
    • 卸载Centos7自带的mariadb
    • 安装 Mysql
    • mysql 初始化设置
    • mysql 配置
  • Hive安装
  • Hive 启动

基于hadoop的安装
本文章Hive条件
系统:CentOS-7
hadoop版本:3.3.0
jdk版本:1.8


采用远程模式
企业推荐的是-- 远程模式部署
要求:已经安装好的hadoop完全分布式,并且能完整运行

Hive部署--CentOS7_第1张图片

Hadoop修改

修改Hadoop中 core-site.xml 配置,添加以下内容

<!-- 整合hive用户代理设置 -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

mysql安装

只用在一台服务器上安装,远程访问即可

卸载Centos7自带的mariadb

# 查看自带的mariadb
rpm -qa|grep mariadb
# 显示如下
mariadb-libs-5.5.64-1.el7.x86_64
# 用如下命令删除
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
或
rpm -e mariadb-libs --nodeps
# 再用以下命令查看
rpm -qa|grep mariadb                 

安装 Mysql

  1. 创建文件夹
    mkdir /export/software/mysql
  2. 上传文件,解压
  3. 执行安装
    yum -y install libaio
    rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm

mysql 初始化设置

  1. 初始化
    mysqld --initialize
  2. 更改所属组
    chown mysql:mysql /var/lib/mysql -R
  3. 启动mysql
    cat /var/log/mysqld.log
    在这看
    [Note] A temporary password is generated for root@localhost: o+TU+KDOm004
  4. mysql 初始化
    mysql_secure_installation

mysql 配置

  1. 进入mysql
    mysql -u root -p
    输入刚才临时日志看到的密码
  2. 更新root 密码
    alter user user() identified by "hadoop";
  3. 授权
    use mysql;
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  4. 退出
    Ctrl + d
  • mysql的启动和关闭 状态查看
    systemctl stop mysqld
    systemctl status mysqld
    systemctl start mysqld
  1. 设置为开机自启动服务
    systemctl enable mysqld

  2. 查看是否已经设置自启动成功
    systemctl list-unit-files | grep mysqld
    出现 mysqld.service enabled 即可

Hive安装

  1. 上传安装包 解压
tar zxvf apache-hive-3.1.2-bin.tar.gz
  1. 解决Hive与Hadoop之间guava版本差异
cd /export/server/apache-hive-3.1.2-bin/
rm -rf lib/guava-19.0.jar
cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
  1. 修改配置文件
  • hive-env.sh
cd /export/server/apache-hive-3.1.2-bin/conf
mv hive-env.sh.template hive-env.sh

vim hive-env.sh
# 写入以下内容
export HADOOP_HOME=/export/server/hadoop-3.3.0
export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/export/server/apache-hive-3.1.2-bin/lib
  • hive-site.xml
    新建一个hive-site.xml,注意根据自己主机配置
<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://主机名:3306/hive3?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>hadoop</value>
</property>

<!-- H2S运行绑定host -->
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>主机名</value>
</property>

<!-- 远程模式部署metastore metastore地址 -->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://主机名:9083</value>
</property>

<!-- 关闭元数据存储授权  --> 
<property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
</property>
</configuration>
  1. 上传mysql jdbc驱动到hive安装包lib下
  2. 初始化元数据
cd /export/server/apache-hive-3.1.2-bin/
# 执行以下命令
bin/schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建74张表
  1. 在hdfs创建hive存储目录(如存在则不用操作)
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

Hive 启动

  1. 启动metastore服务
    推荐第三种启动方式
#前台启动  关闭ctrl+c
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore

#前台启动开启debug日志
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console  

#后台启动 进程挂起  关闭使用jps+ kill -9
nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore &

# 用jps查看  runjar进程
  1. 启动hiveserver2服务
  nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service hiveserver2 &

  #注意 启动hiveserver2需要一定的时间  不要启动之后立即beeline连接 可能连接不上

你可能感兴趣的:(Hadoop生态圈,hive,hadoop,mysql,big,data)