Hadoop+Zookeeper+Hbase+Hive部署

第一章hadoop-3.3.1伪分布式集群安装

1、机器环境:

本地系统:windows 10

虚拟机:VMware Workstation Pro16

虚拟系统:Centos 7 已配通NAT

SSH工具:MobaXterm

Hadoop版本: 3.3.1

Java版本: JDK1.8

2、登录hadoop账号并检查SSH安装情况

输入su hadoop以登录hadoop账号。

输入ssh localhost,以下情况代表已安装SSH且可使用。

3、配置SSH免密登录,输入以下指令:

    [hadoop@local root]$cd ~/.ssh/  # 若没有该目录,请先执行一次ssh localhost

[hadoop@local root]$ssh-keygen -t rsa # 出现输入提示,都按回车就可以

   之后输入:

    [hadoop@local root]$cat id_rsa.pub >> authorized_keys  # 加入授权

[hadoop@local root]$chmod 600 ./authorized_keys    # 修改文件权限

4、安装Java环境:

安装JDK命令:

[hadoop@local ~]#cd /usr/local

[hadoop@local local]#yum install jdk-8u301-linux-x64.

检查Java版本命令:

[root@hadoop1 local]#java -version

openjdk version "1.8.0_262"  

OpenJDK Runtime Environment (build 1.8.0_262-b10)  

OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)  

配置Java_HOME环境变量:

[hadoop@local local]#vim ~/.bashrc   #编辑环境变量文件

输入环境变量保存并退出:

export JAVA_HOME=/usr/lib/jvm/jdk-8u301-linux-x64.

输入命令使变量设置生效:

[hadoop@local local]#source ~/.bashrc  

[hadoop@local local]#echo $JAVA_HOME

5、Hadoop安装

(1)提前下载好Hadoop安装包,用MobaXterm上传到Hadoop1的/usr/local/目录下

(2)在上传的目录解压Hadoop-3.3.1

  [hadoop@local ~]#Cd /usr/local/ #进入上传Hadoop-3.3.1的目录下

  [hadoop@local local]#tar -zxf ~/hadoop-3.3.1.tar.gz  

(3)检查Hadoop是否可用。

  [hadoop@local local]#cd /usr/local/hadoop-3.3.1

[hadoop@local local]#./bin/hadoop version

6、Hadoop伪分布式配置

(1)配置Hadoop环境变量

      [hadoop@local local]#vi ~/.bashrc

    在文件JAVA_HOME变量下面加入HADOOP_HOME内容,保存并退出:

    export HADOOP_HOME=/usr/local/hadoop-3.3.1

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

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

  重启配置生效:

[hadoop@local local]#source ~/.bashrc

(2)修改配置文件:

Hadoop配置文件位于/usr/local/hadoop-3.3.1/etc/hadoop/
① 修改core-site.html文件内容为:

<configuration>
 <property>

    <name>fs.defaultFS</name>

    <value>hdfs://siqi01:9000</value>

</property>

<property>

    <name>hadoop.tmp.dir</name>

    <value>/usr/local/Hadoop-3.3.1/tmp</value>

</property>

</configuration>

② 修改hdfs-site.xml文件内容为:

<configuration>

<property>

    <name>dfs.replication</name>

    <value>2</value>

</property>

 <property>

    <name>dfs.namenode.http-address</name>

    <value>siqi01:9870</value>

</property>

<property>

    <name>dfs.datanode.data.dir</name>

    <value>/usr/local/Hadoop-3.3.1/hdfs/data</value>

</property>

<property>

    <name>dfs.namenode.name.dir</name>

    <value>/usr/local/Hadoop-3.3.1/hdfs/name</value>

</property>

</configuration>

③ 修改yarn-site.xml文件内容为:

<configuration>

<property>

    <name>yarn.resourcemanager.hostname</name>

    <value>siqi01</value>

</property>

 <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

</property>

</configuration>

④ 修改mapred-site.xml文件内容为:

<configuration>

<property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

<property>

    <name>mapreduce.application.classpath</name>

    <value>

        /usr/local/hadoop-3.3.1/etc/hadoop,

        /usr/local/hadoop-3.3.1/share/hadoop/common/*,

        /usr/local/hadoop-3.3.1/share/hadoop/common/lib/*,

        /usr/local/hadoop-3.3.1/share/hadoop/hdfs/*,

        /usr/local/hadoop-3.3.1/share/hadoop/hdfs/lib/*,

        /usr/local/hadoop-3.3.1/share/hadoop/mapreduce/*,

        /usr/local/hadoop-3.3.1/share/hadoop/mapreduce/lib/*,

        /usr/local/hadoop-3.3.1/share/hadoop/yarn/*,

        /usr/local/hadoop-3.3.1/share/hadoop/yarn/lib/*

    </value>

</property>

</configuration>

    ⑤ 配置环境变量 hadoop-env.sh:

     在第54行左右,将 # export JAVA_HOME = 修改为:

     export JAVA_HOME=/usr/lib/jvm/java-1.8.0_262/

⑥ 配置环境变量 yarn-env.sh:

         export JAVA_HOME=/usr/lib/jvm/java-1.8.0_262/

    ⑦ 配置/etc/profile

        export JAVA_HOME=/usr/lib/jvm/java-1.8.0_262

export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/usr/local/hadoop-3.2.1

export HADOOP_PREFIX=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$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_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

最后:执行 source /etc/profile 让配置立即生效。  

(3)、修改hosts文件ip地址要与主机对应好。

[root@hadoop1 ~]#vim /etc/hosts

        1.  localhost localhost.localdomain localhost4 localhost4.localdomain4 

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 

192.168.48.143   hadoop1

        192.168.48.144   hadoop2

        192.168.48.145   hadoop3

(4)、关闭防火墙:

[root@hadoop1 ~]#systemctl  stop   firewalld.service

[root@hadoop1 ~]#systemctl disable firewalld.service

[root@hadoop1 ~]#systemctl status firewalld

(5)、配置Hadoop1到Worker单向免密登录:

ssh-copy-id hadoop2    ssh-copy-id hadoop3

测试SSH免密连接

ssh hadoop2       ssh hadoop3

(6)、 配置workers信息:

[root@hadoop1 ~]#vim /usr/local/hadoop-3.2.1/etc/hadoop/workers

      添加内容:hadoop1

               hadoop2

               hadoop3

(7) 、配置三台机器Hadoop 启动的系统环境变量:

[root@hadoop1 ~]#vim ~/.bash_profile

添加:

export HADOOP_HOME=/usr/local/hadoop-3.3.1

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

生效命令:

[root@hadoop1 ~]#source ~/.bash_profile

(8)、为三台机器创建数据目录:

[root@hadoop1 ~]#mkdir -p /usr/local/hadoop-3.3.1/data/tmp

(9)、修改启动脚本,分别修改 start-dfs.sh , stop-dfs.sh 这两个脚本文件,在文件前面增加如下内容:

       [root@hadoop1 ~]#cd /usr/local/hadoop-3.3.1/sbin

[root@hadoop1 sbin]#vi start-dfs.sh    

[root@hadoop1 sbin]#vi stop-dfs.sh

添加:

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

(10)、分别修改 start-yarn.sh , stop-yarn.sh 这两个脚本文件,在文件前面增加如下内容

[root@hadoop1 sbin]#vi start-yarn.sh

[root@hadoop1 sbin]#vi stop-yarn.sh

添加:

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

7、克隆:hadoop2和hadoop3

(1)分别修改三台主机主机名:

[root@hadoop1 ~]#hostnamectl set-hostname hadoop1

[root@hadoop2 ~]#hostnamectl set-hostname hadoop2

[root@hadoop3 ~]#hostnamectl set-hostname hadoop3

查看修改后hostname

[root@hadoop1 ~]#hostname

(2)格式化文件系统(在Hadoop1主机上)

hdfs namenode -format

(3)启动Hadoop1

[root@hadoop1]# cd /usr/local/hadoop-3.3.1/

[root@hadoop1 hadoop-3.3.1]# sbin/start-all.sh

jps命令查看运行情况

[root@hadoop1 hadoop-3.3.1]# jps

第二章Zookeeper 本地安装

1、安装前准备

(1)安装JDK

(2)拷贝 apache-zookeeper-3.7.0-bin.tar.gz 安装包到 Linux 系统下

(注意:在hadoop1、hadoop2、hadoop3三个节点上都部署zookeeper)

  1. 解压前指定目录:

[root@hadoop1]cd /opt

[root@hadoop1 opt]# tar -zxvf apache-zookeeper-3.7.0- bin.tar.gz

(4)修改名称

[root@hadoop1 opt]# mv apache-zookeeper-3.7.0 -bin/ zookeeper-3.7.0

2、配置服务器编号

(1)在/opt/zookeeper-3.7.0/这个目录下创建 zkData

[root@hadoop1 zookeeper-3.7.0]# mkdir zkData

(2)在/opt/zookeeper-3.7.0/zkData 目录下创建一个 myid 的文

[root@hadoop1 zkData]# vi myid

(3)拷贝配置好的 zookeeper 到其他机器上

    [root@hadoop1 opt ]# xsync zookeeper-3.7.0

3、配置zoo.cfg文件

(1)重命名/opt/zookeeper-3.7.0/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg

[root@hadoop1 conf]# mv zoo_sample.cfg zoo.cfg

(2)打开 zoo.cfg 文件

[root@hadoop1 conf]# vim zoo.cfg

#修改数据存储路径配置

dataDir=/opt/zookeeper-3.7.0/zkData

#增加如下配置

server.1=192.168.48.143:2888:3888

server.2=192.168.48.144:2888:3888

server.3=192.168.48.145:2888:3888

(3)配置参数解读 server.A=B:C:D。

A 是一个数字,表示这个是第几号服务器;集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个server。

B 是这个服务器的地址;

C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;

D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

(4)同步 zoo.cfg 配置文件

    [root@hadoop1 conf]# xsync zoo.cfg

4、集群操作

 (1)分别启动 Zookeeper

[root@hadoop1 zookeeper-3.7.0]# bin/zkServer.sh start

[root@hadoop2 zookeeper-3.7.0]# bin/zkServer.sh start

[root@hadoop3 zookeeper-3.7.0]# bin/zkServer.sh start

(2)查看状态

[root@hadoop1 zookeeper-3.7.0]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/zookeeper-3.7.0/bin/../conf/zoo.cfg

Mode: follower

[root@hadoop2 zookeeper-3.7.0]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/zookeeper-3.7.0/bin/../conf/zoo.cfg

Mode: leader

[root@hadoop3 zookeeper-3.7.0]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/zookeeper-3.7.0/bin/../conf/zoo.cfg

Mode: follower

3 hbase安装部署

1、Zookeeper 正常部署

首先保证 Zookeeper 集群的正常部署,并启动:

[root@hadoop1 zookeeper-3.7.0]# bin/zkServer.sh start

[root@hadoop2 zookeeper-3.7.0]# bin/zkServer.sh start

[root@hadoop3 zookeeper-3.7.0]# bin/zkServer.sh start

2、Hadoop正常部署

Hadoop 集群的正常部署并启动:

[root@hadoop1 hadoop-3.3.1]# sbin/start-dfs.sh

[root@hadoop2 hadoop-3.3.1]# sbin/start-yarn.sh

3、HBase 的解压

解压 Hbase 到指定目录:

[root@hadoop1]#cd /opt

[root@hadoop1]$#tar -zxvf hbase-2.4.6-bin.tar.gz  

4、HBase 的配置文件

修改 HBase 对应的配置文件。

(1)hbase-env.sh 修改内容:

export JAVA_HOME=/opt/jdk1.8.0_262

export HBASE_MANAGES_ZK=false

(2)hbase-site.xml 修改内容:

<configuration>

    <property>

       <name>hbase.rootdir</name>

<value> hdfs://hadoop1:9000/Hbase<value>

    </property>

    <property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

    <name>hbase.master.port</name>

<value>16000</value>

       </property>

       <property>

<name>hbase.zookeeper.quorum</name>

<value> hadoop1,hadoop2,hadoop3</value>

</property>

<property>

    <name>hbase.zookeeper.property.dataDir</name>

<value>>/opt/zookeeper-3.7.0/zkData</value>

       </property>

</configuration>

(3)regionservers:

hadoop1

hadoop2

hadoop3

(4)软连接 hadoop 配置文件到 HBase:

[root@hadoop1 opt]#ln -s /usr/local/hadoop-3.3.1/etc/hadoop/core-site.xml 

/opt/hbase/conf/core-site.xml

[root@hadoop1 module]#ln -s /usr/local/hadoop-3.3.1/etc/hadoop/hdfs-site.xml

    /opt/hbase/conf/hdfs-site.xml

5、HBase 服务的启动

(1)启动方式

[root@hadoop1 hbase]# bin/start-hbase.sh

(2)查看jps

[root@hadoop1 hbase]# jps

8534 QuorumPeerMain

11512 Jps

10906 HMaster

5131 DataNode

5563 ResourceManager

11227 HRegionServer

4975 NameNode

  1. eManager

7、查看 HBase 页面

启动成功后,可以通过“host:port”的方式来访问 HBase 管理页面,例如: http://hadoop1:16010

第四章Hive的部署

1、安装MySQL

(1)过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包如果有mariadb 通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 mariadb

(2)进入要解压的目录下

[root@hadoop1]#cd /opt/mysql

[root@hadoop1 mysql]# tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar 

(3)执行MySQL安装包

[root@hadoop1 mysql]#

rpm-ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm  --force

  rpm -ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm  --nodeps --force 

  rpm -ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm  --nodeps –force

  rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm  --nodeps –force

(4) 通过 rpm -qa | grep mysql 命令查看 mysql 的安装包

(5)初始化mysql

[root@hadoop1 mysql]# mysqld --initialize

(6)更改所属组

[root@hadoop1 mysql]# chown mysql:mysql /var/lib/mysql -R

(7)启动mysql

[root@hadoop1 mysql]# systemctl start mysqld.service

(8)查看生成的临时root密码

[root@hadoop1 mysql]# cat  /var/log/mysqld.log

(9)修改mysql root密码、授权远程访问

[root@hadoop1 mysql]# mysql -u root -p

Enter password:  #这里输入在日志中生成的临时密码

更新root密码  设置为hadoop

mysql> alter user user() identified by "hadoop";

授权

mysql> use mysql;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH

GRANT OPTION;

mysql> FLUSH PRIVILEGES;   

2、安装Hive

(1)将hive解压至/usr/下面:

[root@hadoop1 hadoop]#cd /usr  

[root@hadoop1 hadoop usr]# tar -zxvf apache-hive-3.1.2-bin.tar.gz

(2)进入/usr/中查看,并移动:  

[root@hadoop1 hadoop]# mv apache-hive-3.1.2-bin /usr/hive    

(3)进入文件lib  

[root@hadoop1 bin]# rm -rf lib/guava-19.0.jar

[root@hadoop1bin]# cp/usr/local/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar  /usr/hive/lib/

4、进入文件mysql

[root@hadoop1 mysql]# cp mysql-connector-java-5.1.32.jar /usr/hive/lib/

[root@hadoop1 mysql]# mv hive-env.sh.template hive-env.sh

5、hive的配置文件:   

(1)vim hive-env.sh :

export HADOOP_HOME=/usr/local/hadoop

export HIVE_CONF_DIR=/usr/hive/conf

export HIVE_AUX_JARS_PATH=/usr/hive/lib

(2)hive-site.xml :

<configuration>

    <!-- 存储元数据mysql相关配置 -->

      <property>

         <name>javax.jdo.option.ConnectionURL</name>

            <value> jdbc:mysql://192.168.48.143:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8

</value>

        </property>

        <property>

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>hadoop</value>

    </property>

    <!-- 关闭元数据存储授权  -->

    <property>

        <name>hive.metastore.event.db.notification.api.auth</name>

        <value>false</value>

    </property>

    <!-- 关闭元数据存储版本的验证 -->

    <property>

        <name>hive.metastore.schema.verification</name>

        <value>false</value>

    </property>

</configuration>

7、启动hive

[root@hadoop1 ~]# cd hive

[root@hadoop1 hive]# bin/hive

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值