大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

06-02 1126阅读

传送门目录

 前期准备

一、JDK的安装

1、安装jdk

2、配置Java环境变量 

 3、加载环境变量

4、进行校验

二、hadoop的集群搭建

1、hadoop的下载安装 

2、配置文件设置

2.1. 配置 hadoop-env.sh

2.2. 配置 core-site.xml

2.3. 配置hdfs-site.xml

2.4. 配置 yarn-site.xml

2.5. 配置 mapred-site.xml

2.6. 配置 workers(伪分布式不配置)

 2.7 配置sbin下启停命令

3、复制hadoop到其他节点(伪分布式不执行此步)

4、Hdfs格式化 

5、启动hdfs分布式文件系统

三、msyql安装

1、卸载旧MySQL文件

2、Mysql下载安装

3、配置环境变量 

4、删除用户组

5、创建用户和组

6、创建文件夹

7、更改权限

8、初始化

9、记住初始密码

10 将mysql加入到服务中

11、配置文件

12、设置开机启动并查看进程

13、 创建软连接

14、授权修改密码

四、HIve安装 

1、下载安装

2、配置环境变量

3、配置文件

4、拷贝jar包

5、初始化

6、启动hive


 前期准备

查看网卡:

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

配置静态IP

vi /etc/sysconfig/network-scripts/ifcfg-ens32  ----  根据自己网卡设置。

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

设置主机名

hostnamectl --static set-hostname  主机名

例如:

hostnamectl --static set-hostname  hadoop001

配置IP与主机名映射

vi /etc/hosts

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

配置免密登录

传送门

一、JDK的安装

1、安装jdk

tar -zxvf jdk-8u151-linux-x64.tar.gz

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

方便配置环境变量,重命名

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

2、配置Java环境变量 

    vi /etc/profile /etc/profile (~/.bash_profile 或 ~/.profile  或 ~/.bashrc 或 /etc/bashrc 或 /etc/bash.bashrc[在ubuntu 中的位置])

vi  /etc/profile

export JAVA_HOME=/opt/module/java  #此处是自己实际的Java安装路径

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 3、加载环境变量

source /etc/profile

验证环境变量是否生效:

env | grep HOME

env | grep PATH

4、进行校验

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

二、hadoop的环境搭建

1、hadoop的下载安装 

1.1. 下载

https://archive.apache.org/dist/hadoop/common/hadoop-3.2.2/

​下载 hadoop-3.2.2.tar.gz  安装包

1.2 上传

使用xshell上传到指定安装路径

此处是安装路径是 /usr/local

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

1.3 解压重命名

tar -xzvf hadoop-3.2.2.tar.gz

mv hadoop-3.2.2 hadoop

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

1.4 配置环境变量

vi  /etc/profile

export JAVA_HOME=/opt/module/java

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/opt/module/hadoop

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

1.5 加载环境变量

source  /etc/profile

验证环境变量是否生效:

env | grep HOME

env | grep PATH

1.6检验安装

hadoop version

出现下图说明安装成功

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

2、配置文件设置

2.1. 配置 hadoop-env.sh

hadoop伪分布式配置

export HADOOP_OS_TYPE=${HADOOP_OS_TYPE:-$(uname -s)}

export JAVA_HOME=/opt/module/java

2.2. 配置 core-site.xml

    

    

        fs.defaultFS

        hdfs://hadoop001:9000

        配置NameNode的URL

    

    

    

        hadoop.tmp.dir

        /opt/module/hadoop/data

    

    配置hive内容(下面要安装hive,因此需要增加下面内容,否则不添加)

    

    

        hadoop.proxyuser.root.hosts

        *

    

    

    

        hadoop.proxyuser.root.groups

        *

    

    

    

        hadoop.proxyuser.root.users

        *

    

2.3. 配置hdfs-site.xml

     

     

        dfs.replication 

        1 

     

    

      

        dfs.namenode.name.dir

        /opt/module/hadoop/data/namenode

   

   

        dfs.datanode.data.dir

        /opt/module/hadoop/data/datanode

   

    

    

        dfs.permissions.enabled

        false

    

   

   

   

        dfs.http.address

        hadoop001:9870

    

   

   

        dfs.namenode.secondary.http-address

        hadoop001:6002

   

2.4. 配置 yarn-site.xml

     

        

        yarn.nodemanager.aux-services  

        mapreduce_shuffle 

    

     

   

          yarn.nodemanager.aux-services.mapreduce.shuffle.class  

        org.apache.hadoop.mapred.ShuffleHandler

   

     

       

        yarn.resourcemanager.hostname    

        hadoop001

     

2.5. 配置 mapred-site.xml

    

    

    

    mapreduce.framework.name

    yarn

    

   以下可以不用配置,主要是为集群配置使用

    

    

    yarn.app.mapreduce.am.env

    HADOOP_MAPRED_HOME=${HADOOP_HOME}

    

    

    

    mapreduce.map.env

    HADOOP_MAPRED_HOME=${HADOOP_HOME}

    

    

    

    mapreduce.reduce.env

    HADOOP_MAPRED_HOME=${HADOOP_HOME}

    

 3、Hdfs格式化 

cd /opt/module/hadoop/

bin/hdfs  namenode  -format

下图表示初始化成功

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

4、启动hdfs

启动hdfs分布式文件系统

cd /opt/module//hadoop/sbin

>> start-dfs.sh

使用 jps 查看启动进程

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

5、访问HDFS系统

访问HDFS分布式文件系统的web页面,如:http://192.168.200.130:9870/

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

 6、启动yarn

启动Yarn进程。

cd /opt/module/hadoop/sbin

>> start-yarn.sh

使用 jps 查看启动进程

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

7、访问Yarn平台页面

访问hadoop分布式yarn页面,如:http://192.168.200.130:8088/

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

三、msyql安装

1、卸载旧MySQL文件

若之前安装过其他的sql执行这个步骤。

执行命令 

    # yum remove mysql mysql-server mysql-lib mysql-server

•再查看当前安装mysql的情况看卸载情况:

    # rpm -qa|grep -i mysql

可以看到之前安装的包,然后执行删除命令,全部删除

    # rpm -ev MySQL-devel--5.1.52-1.el6.i686 --nodeps

•查找之前老版本MySQL的目录,并删除老版本的MySQL的文件和库

    # find / -name mysql

删除查找到的所有目录

#例如:rm -rf /run/lock/subsys/mysql    

#例如: rm -rf /etc/selinux/targeted/active/modules/100/mysql    # rm -rf /var/lib/mysql

•手动删除/etc/my.cnf

    # rm -rf /etc/my.cnf

•再次查询如果无,则删除干净

    # rpm -qa|grep -i mysql

删除 mariadb

 rpm -qa|grep mariadb 

 rpm -e --nodeps mariadb-libs

 rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

2、Mysql下载安装

1.1 下载

官网网址:MySQL :: Download MySQL Community Server

在这里下载的是如下版本的mysql

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

1.2 上传

使用xshell上传到到linux服务器指定安装路径

此处是安装路径是 /usr/local

1.3 解压重命名

cd  /usr/local/

# 如果是xz结尾压缩包用  tar -xvJf,如  tar -xvJf  mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

重命令

tar -xzvf  mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql

3、配置环境变量 

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

使环境生效

source /etc/profile

4、删除用户组

删除用户组

cat /etc/group|grep mysql

userdel mysql

groupdel mysql

5、创建用户和组

groupadd mysql

useradd -r -g mysql mysql

6、创建文件夹

mkdir /usr/local/mysql/data

7、更改权限

更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及赋予可执行权限

chown -R mysql:mysql /usr/local/mysql/data/

chmod -R 755 /usr/local/mysql/data/

chown -R mysql:mysql /usr/local/mysql/

chmod -R 755 /usr/local/mysql/

8、安装依赖包

安装mysql的依赖包

yum install libaio 

或者

yum install -y mariadb-server 安装mariadb-server 5.X版本使用

9、初始化

执行初始化命令:

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize

#说明

–initialize 初始化(真正开始干活)

–user=mysql 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者

–basedir=xxx mysql其安装目录,非常重要

–lower_case_table_names=1 不区分大小写,如果初始化不指定,必须重装才能解决,非常重要

10、记住初始密码

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

11、将mysql加入到服务中

复制

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

#注意:默认情况下,GBLIC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量,我们后面在 my.cnf 中配置。

#赋予可执行权限

chmod +x /etc/init.d/mysql

 #添加服务    

chkconfig --add mysql

 #显示服务列表   

chkconfig --list mysql

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

12、配置文件

(1)Mysql5.X版本配置

         Mysql是5.x版本使用此配置

vi /etc/my.cnf

[mysqld]

port=3306

user=mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysqld.sock

#character config

character_set_server=utf8mb4

explicit_defaults_for_timestamp=true 

(2)Mysql8.X版本配置 

         Mysql是8.x版本使用此配置

8.0版

注意:使用配置前一定要创建好目录

mkdir /usr/local/mysql/tmp

mkdir /usr/local/mysql/log

touch /usr/local/mysql/log/mysqld_safe.err

chown -R mysql:mysql /usr/local/mysql/tmp

chown -R mysql:mysql /usr/local/mysql/log

chown -R mysql:mysql /usr/local/mysql/log/mysqld_safe.err

简单配置(推荐)

vi /etc/my.cnf

[mysql]

default-character-set=utf8

socket=/usr/local/mysql/tmp/mysql.sock

[mysqld]

user=mysql

port=3306

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/tmp/mysql.sock

log_timestamps=SYSTEM

collation-server = utf8_unicode_ci

character-set-server = utf8

default_authentication_plugin= mysql_native_password

[mysqld_safe]

log-error=/usr/local/mysql/log/mysqld_safe.err

pid-file=/usr/local/mysql/tmp/mysqld.pid

13、设置开机启动

设置开机启动:chkconfig mysql on

启动mysql :service mysql start

如果碰到下面问题可以进行参考

问题报错解决方案

启动报错:

Starting MySQL.2023-06-25T04:58:08.333370Z mysqld_safe error: log-error set to ‘/usr/local/mysql/log/mysqld_safe.err’, however file don’t exists. Create writable for user ‘mysql’.

ERROR! The server quit without updating PID file (/usr/local/mysql/pid/mysqld.pid).

解决方案

[root@mysql]# touch /usr/local/mysql/log/mysqld_safe.err

[root@mysql]# chown -R mysql:mysql /usr/local/mysql/log/mysqld_safe.err

启动报错:

my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.

Starting MySQL.my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.

my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.

ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

解决方案

/usr/local/mysql/my.cnf’ 权限给的是 777,需要改成644,再次重新启动即可。

14、并查看进程

查看进程与状态:

ps -ef|grep mysql;

service mysql status; 

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

15、创建软连接

ln -s /usr/local/mysql/bin/mysql /usr/bin

16、登录 Mysql

mysql -uroot -p

    输入密码(初始化时候的密码)

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

注意:如果输入密码报错

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方案

修改配置文件my.cnf 中 socket = /usr/local/mysql/tmp/mysql.sock,并重启mysql:service mysql restart;

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

17、修改密码

(1)Mysql5.X版本修改密码

         Mysql是5.x版本使用此方式修改密码

8.0以下修改密码

修改密码

use mysql;

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');

flush privileges;

(2)Mysql8.X版本修改密码

         Mysql是8.x版本使用此方式修改密码

8.0以上修改密码

alter user "root"@"localhost" identified by "root";

use mysql;

UPDATE user SET authentication_string="" WHERE user="root";

FLUSH PRIVILEGES; 

update user set Host="%" where User="root";

flush privileges;

alter user "root"@"%" identified by "root";

flush privileges;

说明:

  • UPDATE user SET authentication_string="" WHERE user="root"; 更新user表,将用户名为root的用户的authentication_string字段设置为空字符串。实际上是在清空root用户的密码。
  • update user set Host="%" where User="root"; 更新user表,它将用户名为root的用户的Host字段设置为%。即root用户可以从任何主机进行连接。默认情况下,root用户可能只能从localhost进行连接。
  • alter user "root"@"%" identified by "root"; 更改用户的认证信息。它指定了用户名为root且来源主机为任意主机(%)的用户,并将其密码设置为root。这是在新版本的MySQL中设置或更改用户密码的推荐方式。

    17、修改密码

    (1)Mysql5.X版本授权

             Mysql是5.x版本使用此方式授权

    授权

    8.0以下授权:登录后执行下面命令

    grant all privileges on *.* to 'root'@'%' identified by '密码123456' with grant option;

    flush privileges;

    说明:

    • all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
    • on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
    • to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
    • identified by:指定用户的登录密码

      (2)Mysql8.X版本授权

               Mysql是8.x版本使用此方式授权

      8.0以上授权

      为了用 navicate工具 访问数据库,进行以下设置进行授权:

      use mysql;

      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

      flush privileges;

      说明:

      • ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';   #还原密码验证插件,将MySQL8的密码认证插件由caching_sha2_password更换成mysql_native_password

        四、HIve安装 

        1、下载安装

        1.1下载

        下载地址:http://archive.apache.org/dist/hive/

        我们选择apache-hive-3.1.3-bin.tar.gz版本学习

        1.2 上传

        1.3 解压重命名

        2、配置环境变量

        vi /etc/profile 

        export HIVE_HOME=/opt/lmodule/hive

        export PATH=$PATH:$HIVE_HOME/bin

        刷新配置

        source /etc/profile 

        3、配置文件

        配置hive-env.sh  (位置:/opt/mudule/hive/conf)

        # Set HADOOP_HOME to point to a specific hadoop install directory

        export HADOOP_HOME=/opt/module/hadoop

        # Hive Configuration Directory can be controlled by:

        export HIVE_CONF_DIR=/opt/module/hive/conf

        #Folder containing extra libraries required for hive compilation/execution can be controlled:

        export HIVE_AUX_JARS_PATH=/opt/module/hive/lib

        配置hive-site.xml  (位置:/opt/mudule/hive/conf)

           

           

         

            javax.jdo.option.ConnectionURL

            jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true

         

           

         

            javax.jdo.option.ConnectionDriverName

            com.mysql.cj.jdbc.Driver

         

         

            javax.jdo.option.ConnectionUserName

            root

         

         

            javax.jdo.option.ConnectionPassword

            root

         

           

         

            hive.metastore.warehouse.dir

            /user/hive/warehouse

         

           

         

            hive.exec.scratchdir

            /tmp/hive

         

           

         

            hive.server2.thrift.bind.host

            hadoop001

         

           

         

            hive.server2.thrift.port

            10000

         

           

         

            fs.defaultFS

            hdfs://hadoop001:9000

         

           

         

            hive.metastore.schema.verification

            false

         

        =================================================================

            

           

              hive.server2.active.passive.ha.enable

              true

              

           

           

                hive.server2.logging.operation.log.location

                /opt/module/hive/apache-hive//operation_logs_dir

           

           

           

                hive.server2.logging.operation.log.location

                /opt/module/hive/apache-hive/querylog_dir

           

           

           

                hive.server2.logging.operation.log.location

                /opt/module/hive/apache-hive/resources_dir/${hive.session.id}_resources

           

        4、拷贝jar包

        4.1 解压驱动(如果有jar包,直接上传此步省略)

              需要提前现在对应的驱动包,并解压

        大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

        大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

        4.2 拷贝mysql驱动

           cp mysql-connector-java-8.0.30.jar /opt/module/hive/lib/ 

        4.2 拷贝guava包

           #hadoop和hive里面的guava包版本可能不一致,那么用hadoop里面的覆盖掉hive里面的

           cp /opt/module/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar /opt/module/hive/lib/

           #删除hive的旧依赖包:

           rm /opt/module/hive/lib/guava-19.0.jar

        4.3 删除 hive中的 log4j

             删除 Hive 的lib目录中包含log4j-slf4j-impl-2.17.1.jar

             rm /opt/module/hive/lib/log4j-slf4j-impl-2.17.1.jar

        5、初始化

        5.1 启动msyql

             # 先查看mysql是否启动

              sudo systemctl status mysql

              #未启动则进行启动

              service mysql start

        5.2 启动hadoop

              #进入hadoop安装目录启动hadoop

              cd /opt/module/hadoop/

              sbin/start-all.sh

        5.3 初始化hive

              #进入hive安装目录

              cd /opt/module/hive

              #执行初始化命令,#初始化Hive

              bin/schematool -dbType mysql -initSchema

        大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

               初始化成功

        大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

        6、启动hive

        #进入hive安装目录

        cd /opt/module/hive

        #使用命令验证hive是否安装成功

        bin/hive

        #进入hive shell,使用 show databases; 查看数据,说明安装成功!

        大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

        五、问题与说明:

        安装 apache-hive-3.1.3-bin.tar.gz 配套 hadoop-3.2.2.tar.gz 可能会卡顿。如果卡顿,将 hadoop-3.2.2.tar.gz 换为 hadoop-3.0.0 或 hadoop-3.2.1 测试一下。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码