0


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

在这里插入图片描述
注:这里的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.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:$PATHexport JAVA_HOME CLASSPATH PATH

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

source /etc/profile

检查JDK是否配置完成:

java-version

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

1.3安装MySQL

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

rpm -qa|grep mariadb

删除对应版本:

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

检查一下是否删除完毕:

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

检查一下依赖:

yum search libaio
yum search perl
yum search net-tools

那个没有就 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.3.5 初始化

mysqld --initialize

1.3.6 更改所属组

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

1.3.7 启动mysql

systemctl start mysqld.service

注意:如果先启动的话,会报错,需要先更改所属组
在这里插入图片描述
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.3.9 mysql常用的几个命令

systemctl stop mysqld    --关闭
systemctl status mysqld  --状态
systemctl start mysqld   --启动

1.3.10 设置开机自启动

systemctl enable  mysqld
systemctl list-unit-files |grep mysqld

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

二、克隆虚拟机

2.1 克隆虚拟机

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

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

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

2.2 虚拟机配置

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

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

将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

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

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

2.3.4 验证免密登录

分别在centos1中执行以下命令
ssh centos2
ssh centos3

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

三、安装Hadoop

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

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

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

3.2 配置文件以及环境变量

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

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

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

exportJAVA_HOME=/export/server/jdk1.8.0_151

然后再最后加上:

exportHDFS_NAMENODE_USER=root
exportHDFS_DATANODE_USER=root
exportHDFS_SECONDARYNAMENODE_USER=root
exportYARN_RESOURCEMANAGER_USER=root
exportYARN_NODEMANAGER_USER=root 

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

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

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

<!-- 设置默认使用的文件系统 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>

在这里插入图片描述

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

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

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

<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>

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

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

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

<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>

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

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

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

<property><name>yarn.resourcemanager.hostname</name><value>centos1</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>

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

centos1
centos2
centos3

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

vi /hadoops/hadoop-3.3.6/etc/profile

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

exportJAVA_HOME=/export/server/jdk1.8.0_151
exportHADOOP_HOME=/hadoops/hadoop-3.3.6
exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

在这里插入图片描述
然后将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/

四、启动Hadoop集群

4.1 集群初始化

hadoop namenode -format

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

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

添加以下内容:

exportHADOOP_HOME=/hadoops/hadoop-3.3.6
exportHIVE_CONF_DIR=/export/software/apache-hive-3.1.3-bin/conf
exportHIVE_AUX_JARS_PATH=/export/software/apache-hive-3.1.3-bin/lib

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

vim hive-site.xml

添加以下内容:

<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>

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

vim ~/.bashrc

添加下面内容:

exportHIVE_HOME=/export/software/apache-hive-3.1.3-bin
exportPATH=$PATH:$HIVE_HOME/bin

让配置文件生效:

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了。


本文转载自: https://blog.csdn.net/qq_42877959/article/details/139899450
版权归原作者 清徐柳 所有, 如有侵权,请联系我们删除。

“CentOS7安装Hadoop集群”的评论:

还没有评论