大数据hadoop、mysql、hive超详细配置及问题解决
1、前提准备hadoop-3.1.3.tar.gzjdk-8u162-linux-x64.tar.gzmysql-5.7.30-linux-glibc2.12-x86_64.tar.gzapache-hive-3.1.2-bin.tar.gz2、centos7版本前提下首先将相应压缩包上传到虚拟机中进入虚拟机centoscduse/local1.输入rz,如果不存在rz则下载相应依赖yum -y
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可以在本地连接)
本地连接:
更多推荐
所有评论(0)