• (一)hive远程模式搭建


    一.集群规划

    Name  Master  Slave1  Slave2
    IP  192.168.2.98  192.168.2.99  192.168.2.100
    Jdk版本  1.8.0.171  1.8.0.171  1.8.0.171
    Hadoop版本  2.7.3  2.7.3  2.7.3
    Hive版本  2.1.1(客户端)  2.1.1(服务端) N
    Mysql版本 N N 5.7.18(数据库)

    二.安装部署Mysql

    2.1.安装MySQL(离线安装)

    在Hadoop集群启动成功下执行。tar包链接https://pan.baidu.com/s/1hwLPI0eUwkpGmP5ROqM6Lw 提取码: k7m3

    如果没有搭建Hadoop集群,可移至Hadoop全分布式进行搭建。

    在主节点Master上执行。
    # scp -r /opt/soft/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar root@slave2:/usr/ 发安装包
    转至子节点slave2操作
    # rpm -qa|grep mariadb  检查:这是离线包安装方式所以要检查并且卸载mariadb
    # rpm -qa|grep mariadb|xargs rpm -e --nodeps  卸载
    # mkdir /usr/mysql  建立MySQL目录
    # tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C /usr/mysql  解压
    # cd /usr/mysql  进入MySQL目录下依次执行安装
    # rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
    # systemctl start mysqld  启动MySQL服务
    # systemctl enable mysqld 开机自启
    # grep "temporary p" /var/log/mysqld.log  获取MySQL的临时密码复制密码
    # mysql -uroot -p临时密码
    # set global validate_password_policy=0;  修改密码强度为最低
    # set global validate_password_length=4;  修改密码的长度为4
    # alter user root@"localhost" identified by "master";  修改root的密码为master
    # use mysql;  切换到MySQL数据库下
    # update user set host="%" where user="root";  修改host为%表示让所有结点机器能连接
    # flush privileges;  刷新
    # q  退出

    三.安装Hive(客户端、服务端)

    3.1.客户端(Master)

    节点master执行
    # mkdir /usr/hive
    # tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/  解压
    # cp /opt/soft/mysql-connector-java-5.1.47-bin.jar /usr/hive/apache-hive-2.1.1-bin/lib/
    # vim /etc/profile  添加hive环境变量
    export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
    export PATH=$PATH:$HIVE_HOME/bin
    # source /etc/profile  生效环境变量
    # hive --version  验证hive显示版本则已安装
    # cd /usr/hive/apache-hive-2.1.1-bin/bin/  进入
    # vim hive-config.sh  配置1添加 – 保存退出
    export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3  hadoop安装路径
    export JAVA_HOME=/usr/java/jdk1.8.0_171  jdk安装路径
    export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin  hive的安装路径
    # scp -r /usr/hive root@slave1:/usr/  分发hive至节点slave1用作hive服务端配置)
    # scp -r /etc/profile root@slave1:/etc/  将环境变量也分发往节点1(hive服务端)覆盖
    # cd /usr/hive/apache-hive-2.1.1-bin/conf/  客户端(Master)进入
    # cp hive-default.xml.template hive-site.xml & vim hive-site.xml  配置1 客户端(Master)添加如下
    <!-- 设置hive是否显示数据库名称 -->
    <property> <name>hive.cli.print.current.db</name> <value>false</value> </property>
    <!-- 设置hive是否显示表头 --> <property> <name>hive.cli.print.header</name> <value>true</value>
    </property> <property>
    <!-- 设置关闭本地metastore --> <name>hive.metastore.local</name> <value>false</value> </property>
    <!-- hive服务端地址 --> <property> <name>hive.metastore.uris</name> <value>thrift://192.168.2.99:9083</value> </property>

    3.2.服务端(slave1)

    转至于服务端(Slave1)
    #
    cp hive-default.xml.template hive-site.xml & vim hive-site.xml 配置2 slave1(服务端) 在<configuration> </configuration> 间添入 <!-- 配置连接Mysql地址 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value> </property> <!-- 配置驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <!-- Mysql用户名 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>Username to use against metastore database</description> </property> <!-- Mysql用户密码 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>master</value> <description>password to use against metastore database</description> </property> <!-- Hive暂存目录 --> <property> <name>hive.exec.local.scratchdir</name> <value>/usr/hive/apache-hive-2.1.1-bin/tmp</value> <description>Local scratch space for Hive jobs</description> </property> <!-- Hive数据目录 --> <property> <name>hive.downloaded.resources.dir</name> <value>/usr/hive/apache-hive-2.1.1-bin/tmp</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> <!-- Hive日志目录 --> <property> <name>hive.server2.logging.operation.log.location</name> <value>/usr/hive/apache-hive-2.1.1-bin/tmp</value> <description>Top level directory where operation logs are stored if logging functionality is enabled</description> </property> <!-- 关闭版本验证 --> <property> <name>hive.metastore.schema.verification</name> <value>true</value> </property>

    3.3.最后启动

    # source /etc/profile  刷新客户端(Master)和服务端(Slave1)的环境变量
    # schematool -dbType mysql --initSchema  Slave1(服务端执行初始化) conf下输hive进
    # hive --service metastore &  服务端(Slave1)启动metastore服务。过程会卡住不动注意这不是报错。回车可退出卡动。
    # jps  执行jps查看服务
    # hive  主结点master(客户端)成功远程登陆Mysql

  • 相关阅读:
    Ubuntu下使用Sysvinit实现自定义服务(简单研究)
    Linux初始化init系统-Sysvinit、Upstart、Systemd
    Ubuntu查看系统版本的方法
    Linux查看文件内容命令:more(转)
    Linux查看文件内容命令:less(转)
    Ubuntu 16.04下MySQL 5.7.18取消开机启动(解决无法使用Sysvinit(update-rc.d/sysv-rc-conf)脚本关闭)
    为什么说Ubuntu的运行级别为2
    Ubuntu 16.04开机进入命令行(tty1)+分辨率调节+字体颜色设置+中文乱码解决(解决虚拟终端Ctrl+Alt+F1分辨率太大)
    Linux运行级别研究(转)
    Linux服务管理(Ubuntu服务管理工具sysv-rc-conf)(转)
  • 原文地址:https://www.cnblogs.com/Agent9527/p/13194128.html
Copyright © 2020-2023  润新知