当前位置:   article > 正文

CentOS7安装Hadoop集群

centos7安装hadoop集群

最近换了台电脑,之前就电脑上的hadoop集群也用不了了,正好借此机会重新安装一下hadoop。
VMWare安装CentOS7的教程前面发过,可以参考:
VMWare Workstation中安装CentOS7

本节用到的版本如下:

Hadoop:hadoop-3.3.6
JDK:jdk-8u151-linux-x64,
可以去下面网址下载:JDK下载
MySQL:MySQL-server-5.5.48-1.el6.x86_64

一、安装JDK和MySQL

1.1 服务器配置

安装JDK之前,需要先对第一台服务器进行设置,一般来讲,部署Hadoop集群会有奇数台,本节用到了3台,并且命名为:

centos1、centos2、centos3

三台服务器,接下来先对第一台服务器进行设置:
1.1.1 修改主机名
我这里是默认的主机名:
在这里插入图片描述
输入命令:vi /etc/hostname 将本机主机名修改为centos1
在这里插入图片描述
再次查看主机名,发现会改变
在这里插入图片描述
1.1.2 配置IP地址
输入命令:

vi /etc/sysconfig/network-scripts/ifcfg-ens33
  • 1

在这里插入图片描述
注:这里的IP地址请使用自己的服务器的地址。
然后重启网络服务:service network restart
1.1.3 关闭网络防火墙
查看当前防火墙状态: systemctl status firewalld
关闭防火墙: systemctl stop firewalld
开机自动关闭防火墙: systemctl disable firewalld
然后重启网络服务:systemctl restart network

在这里插入图片描述
1.1.4 添加内网域名映射
输入命令:vi /etc/hosts
在这里插入图片描述
三个地址分别对应自己的三台服务器地址及主机名
1.1.5 同步网络时间
输入命令:ntpdate cn.pool.ntp.org
发现提示 未找到命令
在这里插入图片描述
解决办法:输入命令 yum install ntp 这里可能会提示访问不到外网,具体设置可以参考一下文章:
centos7无法访问外网解决办法

1.2 安装JDK

1.2.1 下载好 jdk-8u151-linux-x64.tar.gz 后,放到服务器上,这里我放的位置是:/export/software/ 目录自己掌握,然后解压

tar -zxvf jdk-8u151-linux-x64.tar.gz -C  /export/server
  • 1

1.2.2 配置环境变量
输入命令:vi /etc/profile
然后将光标移动到最下面,按i键,进入编辑模式,将以下内容复制到最后面:
注意自己的jdk版本

#set java environment 
JAVA_HOME=/export/server/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib 
PATH=$JAVA_HOME/bin:$PATH 
export JAVA_HOME CLASSPATH PATH
  • 1
  • 2
  • 3
  • 4
  • 5

然后保存退出
让环境变量生效:

source /etc/profile
  • 1

检查JDK是否配置完成:

java -version
  • 1

在这里插入图片描述
至此,JDK就安装完成了

1.3安装MySQL

1.3.1 先卸载centos7自带的mariadb
先查看mariadb版本:

rpm -qa|grep mariadb
  • 1

删除对应版本:

rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
  • 1

检查一下是否删除完毕:rpm -qa|grep mariadb
在这里插入图片描述
1.3.2 先创建一个目录:mkdir /export/software/mysql
1.3.3 下载mysql
MySQL下载
在这里插入图片描述
先下载到本地,然后再上传到服务器上
1.3.4 将下载后的mysql上传到 /export/software/mysql,解压

tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
  • 1

检查一下依赖:

yum search libaio
yum search perl
yum search net-tools
  • 1
  • 2
  • 3

那个没有就 yun install 它。
然后依次安装下面的:

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm 
  • 1
  • 2
  • 3
  • 4

1.3.5 初始化

mysqld --initialize
  • 1

1.3.6 更改所属组

chown mysql:mysql /var/lib/mysql -R
  • 1

1.3.7 启动mysql

systemctl start mysqld.service
  • 1

注意:如果先启动的话,会报错,需要先更改所属组
在这里插入图片描述
1.3.8 修改密码
(1)查看临时生成的密码 :cat /var/log/mysqld.log
在这里插入图片描述
登录:mysql -u root -p
在这里插入图片描述
更改密码:alter user user() identified by "123456";
在这里插入图片描述
授权:

use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  --开启远程连接
FLUSH PRIVILEGES;
exit
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
1.3.9 mysql常用的几个命令

systemctl stop mysqld    --关闭
systemctl status mysqld  --状态
systemctl start mysqld   --启动
  • 1
  • 2
  • 3

1.3.10 设置开机自启动

systemctl enable  mysqld
systemctl list-unit-files | grep mysqld
  • 1
  • 2

在这里插入图片描述
至此,服务器上已成功安装了mysql。

二、克隆虚拟机

2.1 克隆虚拟机

这里我们将centos1虚拟机克隆两份,需要先将虚拟机关机,右键单击虚拟机名称 centos1,找到 管理,再选择 克隆
然周直接点下一步
在这里插入图片描述

修改虚拟机名称以及存放位置
在这里插入图片描述

在这里插入图片描述
需要克隆两台虚拟机。

2.2 虚拟机配置

修改centos2和centos3虚拟机的主机名、ip地址等
2.2.1 修改ip地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • 1

将IPADDR修改为192.168.174.12
在这里插入图片描述
同理,centos3也需要修改为192.168.174.13,
然后重启网络服务:systemctl restart network
2.2.2 修改主机名 vi /etc/hostname
分别修改主机名为:centos2 centos3

2.3 配置免密登录

2.3.1 分别在三台服务器输入以下命令,连续按回车即可:

ssh-keygen -t rsa
  • 1

在这里插入图片描述
2.3.2 配置免密

# 在centos1输入下面两条命令,输入yes即可
ssh-copy-id  centos2
ssh-copy-id  centos3
# 同理,需要在另外两台服务器分别配置
  • 1
  • 2
  • 3
  • 4

2.3.4 验证免密登录

分别在centos1中执行以下命令
ssh centos2
ssh centos3
  • 1
  • 2
  • 3

在这里插入图片描述
至此,ssh免密登录配置完成。

三、安装Hadoop

为了后续安装的方便,防止出现问题等,切换一个新的用户

adduser hadoop1
passwd hadoop1
我这里切换了一个新的用户,名字为hadoop1
  • 1
  • 2
  • 3

3.1 安装Hadoop

3.1.1 下载
我这里下载的是3.3.6版本:
Hadoop3.3.6下载
3.1.2
在/目录下新建一个目录,名字为:hadoops,将上面下载好的hadoop压缩包上传到该目录下
并解压

tar -zxvf hadoop-3.3.6-aarch64.tar.gz /hadoops
  • 1

3.2 配置文件以及环境变量

(1) 配置环境变量 hadoop-env.sh

vi /hadoops/hadoop-3.3.6/etc/hadoop/hadoop-env.sh
  • 1

只需要将JDK的路径配置进去即可:

export JAVA_HOME=/export/server/jdk1.8.0_151
  • 1

然后再最后加上:

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 
  • 1
  • 2
  • 3
  • 4
  • 5

(2)配置核心组件 core-site.xml

vi /hadoops/hadoop-3.3.6/etc/hadoop/core-site.xml
  • 1

找到,将下面代码添加进去:

<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://centos1:9000</value>
</property>
<!-- 设置Hadoop本地保存数据路径 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/data/hadoop-3.3.6</value>
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>
<!-- 整合hive 用户代理设置 -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述

(3)配置文件系统hdfs-site.xml

vi /hadoops/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
  • 1

找到,将下面代码添加进去:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop1/hadoopData/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop1/hadoopData/data</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述
(4)配置计算框架 mapred-site.xml

vi /hadoops/hadoop-3.3.6/etc/hadoop/mapred-site.xml
  • 1

找到,将下面代码添加进去:

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!-- MR程序历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>centos1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>centos1:19888</value>
</property>
<property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述
(5)配置文件系统 yarn-site.xml

vi /hadoops/hadoop-3.3.6/etc/hadoop/yarn-site.xml
  • 1

找到,将下面代码添加进去:

<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
(6)配置workers文件
添加(修改)内容为:

centos1
centos2
centos3
  • 1
  • 2
  • 3

这是最一开始配置的三台服务器的名称
在这里插入图片描述
(7) 配置环境变量路径

vi /hadoops/hadoop-3.3.6/etc/profile
  • 1

配置你的JDK路径以及hadoop路径

export JAVA_HOME=/export/server/jdk1.8.0_151
export HADOOP_HOME=/hadoops/hadoop-3.3.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
  • 1
  • 2
  • 3

在这里插入图片描述
然后将profile文件分别拷贝到另外两台服务器,并且执行source生效
(8)将centos1编辑好的配置文件都拷贝到另外两台服务器

scp -r /hadoops/hadoop-3.3.6/etc/hadoop/ hadoop@centos2:/hadoops/hadoop-3.3.6/etc/
scp -r /hadoops/hadoop-3.3.6/etc/hadoop/ hadoop@centos3:/hadoops/hadoop-3.3.6/etc/
  • 1
  • 2

四、启动Hadoop集群

4.1 集群初始化

hadoop namenode -format
  • 1

在这里插入图片描述在这里插入图片描述

4.2 启动hadoop集群

进入目录: /hadoops/hadoop-3.3.6/sbin/
4.2.1 启动yarn start-yarn.sh
在这里插入图片描述
4.2.2 启动HDFS start-dfs.sh
在这里插入图片描述

4.3 验证

分别在三台服务器输入命令: jps
centos1:
在这里插入图片描述
centos2:
在这里插入图片描述
centos3:
在这里插入图片描述
至此 hadoop集群已成功启动。

4.4 在本地windows浏览器查看管理页面

管理页面网址一般是 http://+你的节点的网址+:8088,
例如我的就是:http://192.168.19.11:8088
在这里插入图片描述

4.5 关闭集群

4.5.1 关闭集群服务需要在主节点上进行,也就是centos1
**注意:需要先关闭hdfs,再关闭yarn
(1)关闭hdfs: stop-dfs.sh
(2)关闭yarn: stop-yarn.sh
在这里插入图片描述
此时可以看到jps后其他服务都消失了,证明集群服务已成功关闭。

五、安装Hive

5.1 安装Hive

hive版本用的是3.1,下载地址:hive3.1.3
选择第一个即可,下载到本地
在这里插入图片描述
在目录 /export/software/ 下面放进hive压缩包,解压

cd /export/software/
tar -zxvf apache-hive-3.1.3-bin.tar.gz
```### 5.2 配置文件以及环境变量
(1)  配置 hive-env.sh文件
```bash
cd /export/software/apache-hive-3.1.3-bin/conf/
mv hive-env.sh.template  hive-env.sh
vim hive-env.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

添加以下内容:

export HADOOP_HOME=/hadoops/hadoop-3.3.6
export HIVE_CONF_DIR=/export/software/apache-hive-3.1.3-bin/conf
export HIVE_AUX_JARS_PATH=/export/software/apache-hive-3.1.3-bin/lib
  • 1
  • 2
  • 3

在这里插入图片描述
(2)配置 hive-site.xml 文件
没有这个文件就创建

vim hive-site.xml
  • 1

添加以下内容:

<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://centos1:3306/hive3?createDatabaseIfNotExist=true&amp;useSSL=false</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>123456</value>
</property>
<!-- H2S运行绑定host -->
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>centos1</value>
</property>
<!-- 远程模式部署metastore metastore地址 -->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://centos1:9083</value>
</property>
<!-- 关闭元数据存储授权  -->
<property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

在这里插入图片描述
(4)将mysql的驱动包上传到hive安装目录lib下面
下载网址: mysql-connector-java
(5)配置环境变量

vim ~/.bashrc
  • 1

添加下面内容:

export HIVE_HOME=/export/software/apache-hive-3.1.3-bin
export PATH=$PATH:$HIVE_HOME/bin
  • 1
  • 2

让配置文件生效: source ~/.bashrc

5.3 元数据库初始化

进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: schematool -dbType mysql -initSchema
在这里插入图片描述
验证hive:hive--help
在这里插入图片描述
至此,hive3.1.3安装成功。

5.4 启动hive

5.4.1 启动 metastore服务
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: hive --service metastore
在这里插入图片描述
**注意,启动后,这个页面就会保持不动,这时候要新开一个链接页面去操作
5.4.2 启动 hiveserver2 服务
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: hive --service hiveserver2 &
在这里插入图片描述
**注意,hiveserver2启动时间比较长,不要立即beeline连接,很可能会失败。
5.4.3 检查一下是否成功启动
执行命令 jps
在这里插入图片描述
5.4.4 启动beeline
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: beeline
在这里插入图片描述
输入:! connect jdbc:hive2://centos1:10000
继续输入用户名,也就是安装hive的用户名:centos1
回车
在这里插入图片描述

六、DBeaver连接hive

6.1 安装dbeaver

下载网址

6.2 连接hive

请添加图片描述
请添加图片描述
注意,主机这里要写你的主节点的ip地址,端口的话需要看你hive-site.xml里配置的是哪个就写那个,我这里写的是20000,然后用户名密码就是你当前主机的用户名和密码
然后点击测试链接,连接成功,就可,接下来就可以操作hive了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/1002432
推荐阅读
相关标签
  

闽ICP备14008679号