hadoop搭建五:安装Hive(+mysql)

说明:安装mysql和Hive,单纯以学习hadoop为目的。

版本:VMware 15 + CentOS 7 + Hadoop 2.6 + hive 1.1 + mysql 5.7 +putty + win10

系列:

 

一,安装mysql

  1,卸载 MariaDB

先查看系统附带的 mariadb

[hadoop@YunMaster mysql]$ rpm -qa | grep mariadb

 卸载 mariadb

[hadoop@YunMaster mysql]$ sudo rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

确认卸载 mariadb

[hadoop@YunMaster mysql]$ rpm -qa | grep mariadb

  2,解压 mysql

创建文件夹存放解压后的 mysql 安装文件

[hadoop@master Application]$ sudo mkdir /usr/local/mysql

解压 mysql 到目录/usr/local/mysql 

[hadoop@master Application]$ sudo tar -xf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql 

进入目录/usr/local/mysql,查看

[hadoop@YunMaster ~]$ cd /usr/local/mysql

[hadoop@YunMaster mysql]$ ls

  3,安装 mysql

使用 rpm 安装 mysql ,安装顺序如下:

安装依赖包

[hadoop@YunMaster mysql]$ sudo yum install -y net-tools
[hadoop@YunMaster mysql]$ sudo yum install -y perl
[hadoop@YunMaster mysql]$ sudo yum install -y libaio

安装 mysql

[hadoop@YunMaster mysql]$ sudo rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
[hadoop@YunMaster mysql]$ sudo rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
[hadoop@YunMaster mysql]$ sudo rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
[hadoop@YunMaster mysql]$ sudo rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm

检查 mysql

[hadoop@YunMaster mysql]$ rpm -qa | grep mysql

 

  4,启动 mysql

将mysql的字符编码修改成 utf-8

[hadoop@YunMaster mysql]$ sudo vi /etc/my.cnf

添加下面的参数

default-storage-engine=innodb
innodb_file_per_table
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
/etc/my.cnf

添加后如图所示

启动 mysql 服务和查看其状态

[hadoop@YunMaster mysql]$ sudo systemctl start mysqld
[hadoop@YunMaster mysql]$ sudo systemctl status mysqld

  5,初始化 mysql

显示 mysql 的初始密码

[hadoop@YunMaster mysql]$ cat /var/log/mysqld.log | grep password

最后的 pZe7lfxap2<r 就是 mysql 的密码

 重新设定 mysql 的密码和配置

[hadoop@YunMaster mysql]$ mysql_secure_installation

先输入之前获取的密码

 然后设置新密码,再次输入设置的新密码

除了不允许远程连接为 n ,其他的都为 y。

输入 y   (问题:更改root用户的密码?)

输入之前设置的新密码,再次输入之前设置的新密码

输入 y   (问题:您想用提供的密码继续吗?)

 

输入 y   (问题:删除匿名用户?)

 

输入 n   (问题: 不允许远程root用户登录?)

输入 y   (问题: 删除测试数据库并访问它?)

输入 y   (问题:  现在重新加载特权表?)

  6,配置远程连接权限

 登录 mysql

[hadoop@YunMaster mysql]$ mysql -uroot -p

 查询用户所处的表

mysql> select user,host from mysql.user where user='root';

修改权限

mysql> grant all privileges on *.* to root@'localhost' identified by '密码';
mysql> grant all privileges on *.* to root@'%' identified by '密码';
mysql> flush privileges;

如图所示

 

 

 

二,安装hive                                                                    

   1,解压 hive

解压 hive 到目录/usr/local

[hadoop@YunMaster ~]$ sudo tar -zxf apache-hive-1.1.0-bin.tar.gz -C /usr/local

进入目录 /usr/local,查看

[hadoop@YunMaster ~]$ cd /usr/local/
[hadoop@YunMaster local]$ ll

将当前文件夹中的文件夹 apache-hive-1.1.0-bin 重命名为 hive

[hadoop@YunMaster local]$ sudo mv apache-hive-1.1.0-bin hive

 修改文件夹 hive 的所属用户和用户组

[hadoop@YunMaster local]$ sudo chown -R hadoop:hadoop hive

  2,配置用户环境变量

[hadoop@YunMaster local]$ vi ~/.bashrc

bashrc文件修改为

# java Environment Variables
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# hadoop Environment Variables
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
export CLASSPATH=$CLASSPATH:$($HADOOP_HOME/bin/hadoop classpath)
# hive Environment Variables
export HIVE_HOME=/usr/local/hive


# PATH
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:
~/.bashrc

使环境变量立即生效

[hadoop@YunMaster local]$ source ~/.bashrc

  3,修改 hive 配置文件

hive 的配置文件的目录为 /usr/local/hive/conf

进入配置文件目录,修改配置文件

[hadoop@YunMaster local]$ cd /usr/local/hive/conf

 将 hive-default.xml.template 重命名为 hive-default.xml

[hadoop@YunMaster conf]$ mv hive-default.xml.template hive-default.xml

 新建配置文件 hive-site.xml

[hadoop@YunMaster conf]$ vi hive-site.xml

填入以下内容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://YunMaster:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>Password123$</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>

  <property>
    <name>hive.querylog.location</name>
    <value>/usr/local/hive/tmp</value>
  </property>
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/usr/local/hive/tmp</value>
  </property>
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/usr/local/hive/tmp/resources</value>
  </property>
  <property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/usr/local/hive/tmp/operation_logs</value>
  </property>
</configuration>
hive-site.xml

  4,其他设置

拷贝MySQL数据库驱动

[hadoop@YunMaster conf]$ cp /home/hadoop/mysql-connector-java-5.1.47.jar $HIVE_HOME/lib

删除位于 jline-0.9.94.jar 文件

[hadoop@YunMaster conf]$ rm -f $HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar

  5,初始化 hive 元数据

初始化之前关闭 hadoop

[hadoop@YunMaster conf]$ stop-all.sh

 初始化 hive 元数据

schematool -initSchema -dbType mysql

 

   6,启动 hive

先启动 hadoop

[hadoop@YunMaster conf]$ start-all.sh

启动 hive

[hadoop@YunMaster conf]$ hive

 

 

 

 

相关/转载:

1,实验四:典型数据库的部署与配置

 

posted @ 2020-03-31 00:12  子崖子崖  阅读(610)  评论(0)    收藏  举报