> 文档中心 > 大数据hadoop、mysql、hive超详细配置及问题解决

大数据hadoop、mysql、hive超详细配置及问题解决

1、前提准备

  1. hadoop-3.1.3.tar.gz
  2. jdk-8u162-linux-x64.tar.gz
  3. mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
  4. apache-hive-3.1.2-bin.tar.gz

2、centos7版本前提下

首先将相应压缩包上传到虚拟机中

进入虚拟机centos
cd use/local

1.输入rz,如果不存在rz则下载相应依赖 yum -y install lrzsz

![image.png](https://img-blog.csdnimg.cn/img_convert/2e50ce3f77b9b1218a721fe461599510.png#clientId=u2a9fbafb-06bf-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=264&id=u12c9a908&margin=[object Object]&name=image.png&originHeight=272&originWidth=348&originalType=binary&ratio=1&rotation=0&showTitle=false&size=8072&status=done&style=none&taskId=u091c9d10-5e53-4918-b0fa-1ae071dcc51&title=&width=338)

2.上传成功后

得到以下情况:
![image.png](https://img-blog.csdnimg.cn/img_convert/59c7fae51ac513b587e70e9605edebd8.png#clientId=u2a9fbafb-06bf-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=97&id=u7d944e03&margin=[object Object]&name=image.png&originHeight=97&originWidth=582&originalType=binary&ratio=1&rotation=0&showTitle=false&size=10619&status=done&style=none&taskId=ub6067383-0d04-465b-91f8-4b9912840c3&title=&width=582)
得到以上压缩包然后解压

#更新apt
sudo apt-get updata 这个是在ubantu中需要
#安装ssh——一般是具备的
sudo yum -y install openssh-server
ssh localhost
$ cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
$ ssh-keygen -t rsa # 会有提示,都按回车即可
$ cat ./id_rsa.pub >> ./authorized_keys # 加入授权

  1. 安装Java环境

#在之前创建
sudo mkdir -p /usr/lib/jvm
#通过下面命令进行解压
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
#设置环境变量
vim ~/.bashrc

在此文件中添加一下代码

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME= JAV A H OME / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: JR E H OME / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH

退出当前文件(.bashrc)

#退出文件后执行
source ~/.bashrc 让其生效
查看是否安装成功
java -version

  1. 安装hadoop
简介
  1. 单机模式:

只能在一台机器上运行,存储是采用本地文件系统,没有采用分布式系统HDFS

  1. 伪分布式模式:

存储采用分布式文件系统HDFS,但是,HDFS的名称节点和数据都在同一台机器上

  1. 分布式模式

存储采用分布式文件系统HDFS,而且,HDFS的名称节点和数据节点位于不同机器上

这里我们只搭建伪分布

首先进入
cd /usr/local
通过一下命令进行解压
tar -zxf ./hadoop-3.1.3.tar.gz
#使用mv进行修改名称
mv ./hadoop-3.1.3 hadoop

配置环境变量

vim ~/.bashrc
#添加
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
然后进行保存配置文件
source ~/.bashrc
查看是否安装成功
hadoop version

进行hadoop文件配置

  1. hadoop中core-site.xml文件配置

hadoop.tmp.dir #这个是生成一个tem文件夹来存放data、log等 file:/usr/local/hadoop/tmp Abase for other temporary directories. fs.defaultFS hdfs://localhost:9000 #连接本地端口为9000

  1. hadoop中hdfs-site.xml文件配置

dfs.replication 1 dfs.namenode.name.dir #启动namnode节点对用户进行管理 file:/usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dir #datanode 节点对数据存储进行管理 file:/usr/local/hadoop/tmp/dfs/data

  1. 执行名称节点格式化

hdfs namenode -format

执行后将会出现一下情况

![image.png](https://img-blog.csdnimg.cn/img_convert/d8126da82b5866b2e1744cac832495f8.png#clientId=u2a9fbafb-06bf-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=239&id=ucb19a19c&margin=[object Object]&name=image.png&originHeight=239&originWidth=656&originalType=binary&ratio=1&rotation=0&showTitle=false&size=27334&status=done&style=none&taskId=u43f6f333-7d69-4436-8a62-07a3ae13781&title=&width=656)

  1. 启动Hadoop

启动
start-dfs.sh
在启动后出现
![image.png](https://img-blog.csdnimg.cn/img_convert/3245975dda194aba81339c7957759199.png#clientId=u2a9fbafb-06bf-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=176&id=u1ba1eb55&margin=[object Object]&name=image.png&originHeight=176&originWidth=635&originalType=binary&ratio=1&rotation=0&showTitle=false&size=20066&status=done&style=none&taskId=u3261e31a-b186-46e8-9f40-1e6f1d256d3&title=&width=635)
进入环境配置中
vim /etc/profile 文件中
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
然后生效该文件
source /etc/profile

然后再进行启动就可以

  1. 关闭Hadoop

stop-dfs.sh

进行hive文件配置

1.解压相关文件
tar -zxvf ./apache-hive-3.1.2-bin.tar.gz
sudo mv apache-hive-3.1.2-bin hive # 将文件夹名改为hive
sudo chown -R hadoop:hadoop hive # 修改文件权限 这里如果没有创建hadoop用户可以不修改
2.增加环境变量

vim ~/.bashrc
#在环境变量中加入
export HIVE_HOME=/usr/local/hive
export PATH=P A T H : PATH: PATH:HIVE_HOME/bin
source ~/.bashrc

3.修改配置文件

cd /usr/local/hive/conf
sudo mv hive-default.xml.template hive-default.xml
新建一个文件hive-site.xml
vim hive-site.xml

在新文件中添加

javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true #如果mysql5.7以上的版本,需要在ConnectionURL中加入&useSSL=false JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName 使用用户 username to use against metastore database javax.jdo.option.ConnectionPassword 当前用户的密码 password to use against metastore database

安装MySQL

版本:mysql5.7.30
下载地址:https://pan.baidu.com/s/1R7inwTHYiaIsZ-RGH3uZxA 提取码:q5e6

1.卸载系统自带的Mariadb
rpm -qa|grep Mariadb  #查看是否存在rpm -e --nodeps  文件名   # 卸载mariadb,文件名为上述命令查询出来的文件

2.删除etc目录下的my.cnf
rm /etc/my.cnf   

3.执行一下命令来创建mysql用户组,并创建一个名为mysql用户加入mysql用户组
groupadd mysql useradd -g mysql mysql

4。将下载下来的压缩包进行解压
cd /usr/localtar -zxf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

5.在etc中配置新的my.cnf,并在文件中添加一以下代码
# 设置mysql客户端默认字符集  [mysql]default-character-set=utf8mb4  socket=/var/lib/mysql/mysql.sock  [mysqld]  skip-name-resolve  #设置3306端口  port = 3306   socket=/var/lib/mysql/mysql.sock  # 设置mysql的安装目录  basedir=/usr/local/mysql  # 设置mysql数据库的数据的存放目录  datadir=/home/mysql/mysql/data  # 允许最大连接数  max_connections=1000  # 服务端使用的字符集默认为utf8mb4sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONcharacter-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'# 创建新表时将使用的默认存储引擎  default-storage-engine=INNODB  lower_case_table_names=1  max_allowed_packet=1024M[client]socket=/var/lib/mysql/mysql.sockdefault-character-set=utf8mb4

6.进入/usr/local/mysql
mkdir -p /var/lib/mysqlmkdir -p /home/mysql/mysql/datacd /usr/local/mysqlchown -R mysql:mysql /usr/local/mysql 修改当前目录拥有着为mysql用户chown -R mysql:mysql /var/lib/mysqlchown -R mysql:mysql /home/mysql/mysql/data./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/home/mysql/mysql/data  # 找到后面的登录密码保存([Note] A temporary password is generated for root@localhost: .f2bR._tz:P-(登录密码))./bin/mysql_ssl_rsa_setup --datadir=/home/mysql/mysql/data

7.后续步骤
## 授予my.cnf最大权限chown 777 /etc/my.cnf## 设置开机自启动服务控制脚本在/usr/local/mysql目录下:cp ./support-files/mysql.server /etc/init.d/mysql 复制启动脚本到资源目录## 增加mysql服务控制脚本执行权限chmod +x /etc/init.d/mysql## 将mysql服务加入到系统服务chkconfig --add mysql## 启动mysqld(PS:如果启动报错请查看日志 /usr/local/lib/mysql/data/localhost.localdomain.err)service mysql start## 将mysql的bin目录加入PATH环境变量,编辑/etc/profile文件vim /etc/profile## 在文件最后添加如下信息:export PATH=$PATH:/usr/local/mysql/bin## 使环境变量生效source /etc/profile## 软连接mysql、mysqldumpln -s /usr/local/mysql/bin/mysql /usr/binln -s /usr/local/mysql/bin/mysqldump /usr/bin (后续备份的话,需要使用此命令)## 登录mysqlmysql -uroot -p## 修改默认密码alter user 'root'@'localhost' identified by '123456a?';## 配置远程连接用户use mysql;   (进入mysql库)update user set host='%' where user='root'; (修改user表的用户)## 使用navicat远程连接注意事项防火墙需开启3306端口,或关闭防火墙

hive连接数据mysql数据库

1.下载MySQL JDBC驱动程序

#mysql官网
(http://www.mysql.com/downloads/connector/j/)下载mysql-connector-java-5.1.40.tar.gz

tar -zxf mysql-connector-java-5.1.40.tar.gz   #解压cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar  /usr/local/hive/lib

2.启动mysql

#启动mysql服务service mysql start   mysql -uroot -p #当时在前面给出的密码#如果不清楚密码,需要修改my.cnf配置

3.在mysql中为hive新建数据库

create  database hive;#疑问:当前创建的hive预hive中配置文件中的关系

4.配置mysql允许hive接入 (如果在此出现警告—则在hive-site.xml配置中修改为root账户)

grant all on *.* to hive@localhost identified by 'hive'#执行一定要进行更新flush privileges

5.启动hive

hive在此之前一定先启动start-dfs.sh如果在使用后出现一个连接问题schematool -dbType mysql -initSchema出去手动启动该服务注意hive-site.xml中的配置

附录:

安装过程中的注意事项:

  1. mysql版本问题
  2. hadoop配置问题
  3. hive配置问题
  4. 在配置完成

可以在过程中看到,在hive中创建一个表,然后再mysql数据库中生成了一个元数据的变化(另外:在虚拟机中的mysql可以在本地连接)

在这里插入图片描述

本地连接:

大数据hadoop、mysql、hive超详细配置及问题解决
在这里插入图片描述