- Hadoop版本: 2.7.6
- CentOS版本: 7.6.1810
- 集群: 3台
- Mysql版本: 5.7.18
- Mysql驱动JAR包: mysql-connector-java-5.1.28-bin.jar
- Sqoop版本: 1.4.7
文章目录
安装包:提取码:1111
注:这里默认 JDK和Hadoop、Zookeeper已经安装好
详细可以参考以下文章:
Hadoop HA集群部署
CentOS7安装JDK和Zookeeper集群配置
1.MySQL
1.解压安装
#解压
[root@master /]# tar xvf /home/package/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
#创建目录存放解压后mysql的rpm文件
[root@master /]# mkdir -p /home/mysql_pacage
#把解压的文件移动进去
[root@master /]# mv mysql* /home/mysql_pacage/
#查看
[root@master /]# ls /home/mysql_pacage/
#查看默认安装的
[root@master /]# rpm -qa | grep mariadb
#卸载默认安装的
[root@master /]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
#查看默认安装的发现已经卸载了
[root@master /]# rpm -qa | grep mariadb
#进入刚刚放rpm的目录
[root@master /]# cd /home/mysql_pacage/
#安装顺序
1.
[root@master mysql_pacage]# rpm -ivh ./mysql-community-common-5.7.18-1.el7.x86_64.rpm
2.
[root@master mysql_pacage]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
3.
[root@master mysql_pacage]# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
4.
#安装server错误如下:
警告:mysql-community-server-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
net-tools 被 mysql-community-server-5.7.18-1.el7.x86_64 需要
perl(Getopt::Long) 被 mysql-community-server-5.7.18-1.el7.x86_64 需要
perl(strict) 被 mysql-community-server-5.7.18-1.el7.x86_64 需要
#解决办法:先安装perl然后再安装服务端即可。
[root@hadoop01 home]# yum install -y perl
[root@master mysql_pacage]# yum install net-tools
[root@hadoop01 home]# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
2.Msyql
#sql的启停命令:
#查看状态:
[root@master mysql_pacage]# systemctl status mysqld.service
#注意:
如果启动报错如下:
1.
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
2.解决办法如下:
[root@master mysql_pacage]# chown mysql.mysql /var/run/mysqld/
#修改root本地登录密码
[root@master mysql_pacage]# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
#重启mysql:
[root@master mysql_pacage]# systemctl restart mysqld.service
#启动Mysql服务
[root@master mysql_pacage]# systemctl start mysqld
#设置开机启动
[root@master mysql_pacage]# systemctl enable mysqld
[root@master mysql_pacage]# systemctl daemon-reload
#重新启动mysqld
[root@master mysql_pacage]# service mysqld restart
[root@master mysql_pacage]# systemctl restart mysqld.service
3.MySQL设置远程登录
#修改root本地登录密码
vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
#重启mysql:
[root@master mysql_pacage]# systemctl restart mysqld.service
进入mysql修改密码:
mysql
mysql> USE mysql;
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '*****密码*****';
(备注 mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位)
设置允许远程登录
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql> flush privileges;
mysql> quit;
[root@master mysql_pacage]# systemctl restart mysqld.service
#登录mysql
mysql -u用户 -p密码
将MySQL的登录设置修改回来
#vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
重新启动mysqld
service mysqld restart
MySQL END
2.Sqoop安装
1.解压
#解压
[root@master mysql_package]# tar zxvf /home/package/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/src/
#改名 因为名字实在太长了
[root@master mysql_package]# mv /usr/local/src/sqoop-1.4.7.bin__hadoop-2.6.0/ /usr/local/src/sqoop
#进入Sqoop安装目录
[root@master mysql_package]# cd /usr/local/src/sqoop/
2.修改环境变量
[root@master sqoop]# vi ~/.bashrc
#配置如下:
export SQOOP_HOME=/usr/local/src/sqoop/
export PATH=$PATH:$SQOOP_HOME/bin:
#刷新
[root@master sqoop]# source ~/.bashrc
3.重命名并修改配置文件
[root@master sqoop]# mv ./conf/sqoop-env-template.sh ./conf/sqoop-env.sh
#修改
[root@master sqoop]# vim ./conf/sqoop-env.sh
#配置如下
export HADOOP_COMMON_HOME=/usr/local/src/hadoop-2.7.6/
export HADOOP_MAPRED_HOME=/usr/local/src/hadoop-2.7.6/
export ZOOCFGDIR=/usr/local/src/zookeeper-3.4.10/
4.测试sqoop是否能和MySQL联通
#将MySQL的驱动jar拷贝到Sqoop的安装目录下的lib目录中。
[root@master sqoop]# cp /home/package/mysql-connector-java-5.1.28-bin.jar /usr/local/src/sqoop/lib/
#测试
[root@master sqoop]# sqoop list-databases --connect jdbc:mysql://master:3306 --username root --password 密码