centOS 上部署hadoop+mysql+hive 服务之hadoop安装

news/2025/3/24 11:20:16/文章来源:https://www.cnblogs.com/JcHome/p/18786889

以下安装的hadoop版本是3.3.6 ,由于hadoop是运行于java环境,因此,需要提前安装java jdk并配置环境变量。

jdk的安装及配置:

jdk8 国内下载路径:https://repo.huaweicloud.com/java/jdk/8u202-b08/  可根据实际需要选择对应的jdk版本

1、下载jdk

 wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

2、解压jdk

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

移动到/usr/local/目录下,并更改目录名称为:jdk8

mv jdk1.8.0_202/ /usr/local/jdk8

3、在/etc/profile 配置文件后面,添加jdk的安装路径和bin目录信息

export JAVA_HOME=/usr/local/jdk8
export PATH=$PATH:$JAVA_HOME/bin

4、刷新/etc/profile 的信息

source /etc/profile

5、验证jdk是否配置正确

java -version

出现以下信息,说明jdk已经配置成功

 

hadoop3.3.6 安装及配置

hadoop3.3.6 下载地址:

 wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

1、创建hadoop用户(由于hadoop默认不允许用root账号运行)

 useradd hadoop

设置hadoop账号密码

 passwd hadoop

验证hadoop是否登录成功

su - hadoop

如下信息,说明hadoop账号已可以正常使用:

2、配置hadoop账号ssh免密登录

# 登录hadoop账号
su - hadoop

# 生成密钥对(一直enter即可) ssh
-keygen -t rsa# 将公钥复制到本机 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 修改~/.ssh 权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/
authorized_keys

# 测试免密登录
ssh localhost  # 如果yes 之后,不用输入密码则免密登录已经配置成功

3、解压hadoop

tar zxfv hadoop-3.3.6.tar.gz 

移动到/usr/local/目录下并更改目录名称为:hadoop

mv hadoop-3.3.6 /usr/local/hadoop

通过ls -l 或 ll /usr/local/hadoop 查看目录权限是否为:hadoop账号和hadoop组,如果不是则需要手动改一下hadoop目录的权限

chown -R hadoop:hadoop /usr/local/hadoop

4、在/etc/profile 下配置hadoop环境变量信息

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

刷新/etc/profile 配置信息

source /etc/profle

5、配置hadoop启动相关信息(一般在hadoop的安装目录下/etc/hadoop),需要配置以下几个配置文件

 5.1 core-site.xml 配置

<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property><property><name>hadoop.tmp.dir</name><value>/tmp/hadoop-tmp</value></property><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property>
</configuration>

 

5.2 hdfs-site.xml 配置

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>/tmp/hadoop/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>/tmp/hadoop/datanode</value></property>
</configuration>

5.3 mapred-site.xml 的配置

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

5.4 yarn-site.xml 的配置

<configuration>
<!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property>
<!--这里的value可以用localhost,如果用localhost需要配置centos的hosts的地址映射 --><name>yarn.resourcemanager.hostname</name><value>192.168.197.130</value></property>
</configuration>

5.5 编辑hadoop-env.sh 的配置,开启并配置正确的HAVA_HOME 、HADOOP_HOME 、HADOOP_CONF_DIR 变量的值,保存并退出,如下

 6、在hadoop安装目录下创建data/namenode 和 data/datanode (对应hdfs-site.xml配置文件中的数据存放地址)

# 创建namenode 和 datanode目录
mkdir -p /usr/local/hadoop/data/{namenode,datanode}# 重新给/usr/local/hadoop/目录指定用户和用户组,覆盖新建的文件夹,因为hadoop账号当前未分配创建目录权限
chown -R hadoop:hadoop /usr/local/hadoop

7、格式化hdfs

hdfs namenode -format

显示如下:

 8、切换到hadoop账号,启动hadoop集群

# 切换到hadoop账号
su - hadoop

# 启动HDFS start
-dfs.sh# 启动YARN start-yarn.sh

或者通过start-all.sh 启动

start-all.sh # 这个脚本保护启动HDFS 和 YARN 服务

9、执行jps命令查看进程,看到:NameNode, DataNode, ResourceManager, NodeManager 等进程信息,说明已启动成功。如下:

10. 关闭防火墙,访问:http://服务器IP地址:9870和http:服务器IP地址:8088端口,验证是否正常

systemctl stop firewalld

 

 

 说明hadoop已经配置好了

 

 

hadoop 启动报错:localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

说明hadoop账号的免密登录未生效,需要重新设置好,再启动即可

 

hadoop启动报错:localhost: ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.无法写入hadoop/logs 目录

通过ls -l /usr/local/hadoop 查看logs目录的权限,发现logs目录的用户和用户组的权限都是root,更新目录权限即可

chown -R hadoop:hadoop /usr/local/hadoop

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/903569.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建django视图和路由

第一个视图 from django.shortcuts import render from django.http import HttpResponse# Create your views here. def hello(request):msg = Hello World!!!return HttpResponse(msg)第一个路由 from django.urls import path from .views import hellourlpatterns = [path(…

8.4.3 基于循环神经网络的字符级语言模型

字符级语言模型的优缺点见下 好处:不用担心\(\left<\text{UNK}\right>\)的出现 坏处:最终的序列要长的多;训练也要复杂得多(对内存和速度的要求都要高得多) 现如今,人们一般使用单词级RNN,但是也有特殊情况会使用字符级RNN 在训练了一个RNN后,我们可以利用这个RN…

【rflysim】文档笔记:3.三维场景建模与仿真

仅为笔记,较为随意,欢迎交流⚠该博客只是个人笔记,可能包含大量未经考证的理解内容,故不建议有获取准确知识需求的朋友来阅读。 欢迎讨论指出错误:D 由于目前暂时不需要进行建模方面的内容,故仅对本文档进行一个简单的阅读了解,方便后面其他的文档阅读。 一、 三维场景建…

关于 LCA (最近公共祖先)

最近公共祖先!对于一棵树上的两个点,他们的所有公共祖先中深度最大的那一个被称为它们的最近公共祖先(LCA)。求 LCA 有很多不同的方法。倍增 倍增求 LCA,首先需要对树进行 dfs(废话),标记每个节点的直接父亲(\(2^0\) 级祖先)。然后我们就可以利用倍增的思想预处理它的…

初入博客园

Start 第一篇随笔记录一下对于博客园的便利使用技巧。 自定义皮肤 安装和配置博客园皮肤全称按照了guangzan大佬的说明教程。[1] 里面附带有一有获取音乐链接以及歌词的网站,感觉很有用😍;[2] 贴一个网站头部背景图(苹果初代机-麦金塔Macintosh):待更新 🍀🍀🍀htt…

PCIe总线-RK3588 PCIe平台驱动分析

1.简介 RK3588 PCIe RC和EP使用同一个平台驱动,其主要的作用是解析设备树中的资源、初始化中断、使能电源、初始化PHY、使能时钟和释放复位,然后根据compatible属性初始化RC或者EP驱动。 2.入口 平台驱动的定义如下,当compatible属性为"rockchip,rk3588-pcie",则…

202413350081刁嘉怡博客园2

TASK11 #include <stdio.h>2 #include <stdlib.h>3 #include <time.h>4 5 #define N 56 7 int main() {8 int number;9 int i; 10 11 srand(time(0)); // 以当前系统时间作为随机种子 12 for(i = 0; i < N; ++i) { 13 numbe…

四则运算结对项目

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023这个作业的目标 结对合作生成一个四则运算题目生成器结对成员 3123004365彭颂华 &&3123004354黄子恒github地址 https://github.com/PShua/zuoye &&https://github.c…

Vue3 vite 集成 sass

一、安装依赖npm install sass-embedded二、配置全局变量 1、新建文件 src/styles/variables.scss 2、配置Vite 修改 vite.config.jscss: {preprocessorOptions: {scss: {additionalData: `@use "@/styles/variables" as *;`,},},},3、测试使用 a、在variables.scss…

在Android studio 里面想要写入文本内容怎么做

在 AndroidManifest.xml 文件中添加写入外部存储的权限。如果是 Android 6.0(API 级别 23)及以上的系统,还需要在运行时请求权限。在 MainActivity 的 writeToFile 方法里调用 FileHelper 类: private void writeToFile(String content) { FileHelper.writeToInternalStora…

iptables 介绍与实战

iptables是Linux内核中用于配置防火墙规则的工具。它基于Netfilter框架,可以对通过网络接口的数据包进行过滤、修改等操作。通过设置一系列规则,iptables能够控制哪些数据包可以进入或离开系统,从而实现网络安全防护等功能。它主要工作在网络层,能够根据数据包的源地址、目…

CF771E题解

CF771E题解很容易设出 \(dp_{i,j}\) 表示第一行选到 \(i\),第二行选到 \(j\) 的方案数 首先考虑部分分。 \(|a_i|\le 1\),那么产生贡献的一个矩阵不会超过 \(2\),那么就没必要考虑 \(|i-j|\ge 4\) 的状态了。证明如下: 不妨设 \(i<j\),那么我与其从 \(dp_{i,j}\to dp_{…