基于centos7安装hive,hadoop版本2.7,hive-2.3.4

    xiaoxiao2022-07-13  157

    安装mysql 1、yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

    2、yum安装MySQL:sudo yum install mysql-community-server

    3、启动MySQL服务:sudo service mysqld start

    4、检查MySQL服务状态:sudo service mysqld status

    5、查看初始密码(如无内容直接跳过):sudo grep ‘temporary password’ /var/log/mysqld.log localhost后面对应的就是随机生成的密码,通过这个密码来登录mysql,如果有这个密码则通过密码登录后通过update来改root用户密码

    $ service mysqld restart # 重启MySQL服务 $ mysql -u root -p # 重新登录

    mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Root123!'; # 修改密码 mysql>flush privileges;

    重置root用户密码

    ALTER user 'root'@'localhost' IDENTIFIED BY 'Root123!';

    给root用户所有表的操作权限,并且可以让root用户给别的用户授权

    GRANT all ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

    如果不想给root用户 可以授权别的用户权限的话,输入下面命令

    grant all on *.* to 'root'@'localhost';

    ps: 上面代码 on 后面的 . 是指 databasename.tablename, 数据库名和表名,也就是给数据库及数据库表的操作权限,如果要允许远程连接的话,将localhost改为% 即可

    安装hive 1.上传hive-2.3.4和mysql-connector-java-5.1.25.jar到master 2.解压hive-2.3.4到 /usr/local/上 tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /usr/local/ 重命名mv apache-hive-2.3.4-bin hive 后根目录为(/usr/local/hive)

    配置环境变量 vi /etc/bashrc #hive set export HIVE_HOME=/usr/local/hive export HIVE_CONF_DIR=$HIVE_HOME/conf export PATH=$PATH:$HIVE_HOME/bin

    #使配置文件的修改生效 source /etc/bashrc

    修改hive配置文件 cd hive/conf # 进入hive下的conf里 cp hive-env.sh.template hive-env.sh # 复制一个hive-env.sh的模板 cp hive-default.xml.template hive-site.xml

    这里你可以复制一个site的模板,也可以直接创建一个site文件,复制的模板里面有好几千行代码,修改起来非常的不方便,这里我创建一个新的site文件

    touch hive-site.xml 修改hive-site.xml(如果是创建的hive-site.xml的话,只需要将下面内容插入即可)

    <configuration> <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! --> <!-- WARNING!!! Any changes you make to this file will be ignored by Hive. --> <!-- WARNING!!! You must make your changes in hive-site.xml instead. --> <!-- Hive Execution Parameters --> <property> <name>hive.default.fileformat</name> <value>TextFile</value> </property> <property> <!--端口改为你自己的端口,这里是连接数据库中onhive数据库,没有的话后面创建即可--> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.7.130:3306/onhive</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <!--最新版本连接MySQL的jar包 所有写com.mysql.cj.jdbc.Driver,如果是旧版本用com.mysql.jdbc.Driver--> <value>com.mysql.cj.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <!--连接MySQL的用户名--> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <!--连接MySQL的密码--> <name>javax.jdo.option.ConnectionPassword</name> <value>Root123!</value> <description>password to use against metastore database</description> </property> </configuration>

    修改hive-env.sh

    HADOOP_HOME=/usr/local/hadoop # hadoop路径 export HIVE_CONF_DIR=/usr/local/hive/conf # hive的conf路径 export HIVE_AUX_JARS_PATH=/usr/local/hive/lib # jar包的存放路径

    给MySQL创建用户 hive 密码为Root123!

    create user 'root'@'localhost' identified by 'Root123!'; # 创建用户 grant all on *.* to 'hive'@'localhost'; # 授权 FLUSH PRIVILEGES; # 刷新权限

    创建一个名字叫onhive的数据库

    create database onhive;

    运行hive时先将 hadoop 和 hdfs启动,输入start-all.sh即可

    从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作 schematool -dbType mysql -initSchema

    一般在这步会碰到关于MySQL的问题,比如不能访问(修改localhost为%),以及密码错误之类的,还有就是mysql的jar是否放到hive下的lib目录中了, 成功后我们输入hive,然后查询下数据库,如下图所示即表示hive配置好了

    最新回复(0)