大数据hadoop、mysql、hive超详细配置及问题解决
1、前提准备
- hadoop-3.1.3.tar.gz
- jdk-8u162-linux-x64.tar.gz
- mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
- 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 # 加入授权
- 安装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= J A V A H O M E / 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: J R E H O M E / 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
- 安装hadoop
简介
- 单机模式:
只能在一台机器上运行,存储是采用本地文件系统,没有采用分布式系统HDFS
- 伪分布式模式:
存储采用分布式文件系统HDFS,但是,HDFS的名称节点和数据都在同一台机器上
- 分布式模式
存储采用分布式文件系统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/hadoopexport 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文件配置
- 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
- 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
- 执行名称节点格式化
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)
- 启动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
然后再进行启动就可以
- 关闭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
在新文件中添加
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 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/local
tar -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
# 服务端使用的字符集默认为utf8mb4
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=1024M
[client]
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8mb4
6.进入/usr/local/mysql
mkdir -p /var/lib/mysql
mkdir -p /home/mysql/mysql/data
cd /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql 修改当前目录拥有着为mysql用户
chown -R mysql:mysql /var/lib/mysql
chown -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、mysqldump
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqldump /usr/bin (后续备份的话,需要使用此命令)
## 登录mysql
mysql -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中的配置
附录:
安装过程中的注意事项:
- mysql版本问题
- hadoop配置问题
- hive配置问题
- 在配置完成
可以在过程中看到,在hive中创建一个表,然后再mysql数据库中生成了一个元数据的变化(另外:在虚拟机中的mysql可以在本地连接)
本地连接:
大数据hadoop、mysql、hive超详细配置及问题解决相关推荐
- apache mysql 连接数 winnt,APACHE PHP MYSQL PHPMYADMIN超详细配置教程
Apache+PHP+MySQL+phpMyAdmin超详细配置教程 安装之前需要下载 Apache2.0.59 PHP4.4.4Win32 MySQL4.12 phpMyAdmin2.9.1.1rc ...
- 大数据Hadoop、Hive、Kafka、Hbase、Spark等框架面经
大数据组件 学习路线: 阶段1:学习绿色箭头的知识点: 阶段2:学习红色箭头的知识点: 阶段3:学习蓝色箭头的知识点: 1 Hadoop 1.1 Hadoop1.x与Hadoop2.x的区别 1.2 ...
- 2022最新大数据学习路线,超详细
IT行业技术更新太快了,上班已经很辛苦了,下班还要逼着自己去提升,唉,有什么办法呢~ 昨天有同学问我,有没有最新的大数据学习路线呢,他做Java有几年了,想晋升大数据开发方向,有基础有资料,不过没有系 ...
- 【大数据-Hadoop】Hive
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...
- 大数据hadoop和spark怎么选择?
Hadoop框架的主要模块包括如下: Hadoop Common Hadoop分布式文件系统(HDFS) Hadoop YARN Hadoop MapReduce 虽然上述四个模块构成了Hadoop的 ...
- 连接端口 配置hive_Hadoop大数据平台数据仓库Hive管理操作
#大数据# #hadoop# #Hive# #数据仓库# #大数据平台# HWI是Hive Web Interface的简称,在Hive的安装包中默认不提供,需要下载源码编译后运行. 1.1 Hive ...
- 【大数据】大数据 Hadoop 管理工具 Apache Ambari(HDP)
文章目录 一.概述 二. Ambari 与 HDP 关系 三.Ambari 与 Cloudera manager 的对比 1)开源性 2)支持的发行版 3)用户界面 4)功能和扩展性 5)社区支持和生 ...
- 大数据Hadoop之——总结篇
文章目录 一.前言 二.Hadoop 1)HDFS常见操作 1.HDFS服务启停命令 2.常见文件操作命令 3.安全模式操作命令 4.数据平衡常见操作命令 5.处理小文件常见操作命令 6.HDFS N ...
- 大数据Hadoop之——Spark SQL+Spark Streaming
文章目录 一.Spark SQL概述 二.SparkSQL版本 1)SparkSQL的演变之路 2)shark与SparkSQL对比 3)SparkSession 三.RDD.DataFrames和D ...
最新文章
- oracle闪回 分区,Oracle 闪回区(Oracle Flash recovery area)
- Ubuntu中安装docker-compose
- 管理active directiory中的用户和计算机管理磁盘,IP多播桌面视频会议系统媒体流管理与安全机制的分析.pdf...
- python三本经典书籍-《python编程入门经典》python之父推荐这三本书让你更快入门...
- k8s 创建、切换、删除namespace
- 【ML小结3】线性回归与逻辑回归、softmax回归
- ppt字体颜色如何修改
- python卡方检验 scipy_卡方检验的scipy实现
- 为什么说串行比并行速度快?
- 【ctrl+space】键位解除占用+永久删除微软拼音输入法
- c语言程序课程设计题目
- 一种解决方法 Error: No such file or directory @ rb_sysopen
- MySQL主从复制之realy_log_recovery
- 如何在64位win10系统下通过virtualbox虚拟机安装苹果macOS 10.12
- 艺形艺意工作室:2019年新媒体营销的五大趋势,你真的get到了吗!
- 头像叠加android_使用RecyclerView实现点赞头像叠加效果
- 锤子手机能用鸿蒙系统吗,华为:明年初开放手机鸿蒙系统,两年前就可以用,因为安卓才没用...
- rc1改为rc2出现的问题1
- 认证管理(锐捷路由篇)
- js开始摄像头并获取数据