大数据研发工程师课前环境搭建
大数据研发工程师课前环境搭建
第一章 VMware Workstation 安装
在Windows的合适的目录来进行安装,如下图
1.1 双击打开
1.2 下一步,接受协议
1.3 选择安装位置
1.4 用户体验设置
1.5 快捷方式
已经准备好安装,点击安装
1.6 安装中
1.7 安装完成
1.8 启动界面
注意,需要注册的时候,自己解决。
第二章 安装CentOS7操作系统
2.1 点击新建虚拟机
选择自定义安装
2.2 选择虚拟机硬件兼容性,默认即可
2.3 选择安装的操作系统位置
2.4 创建用户和密码
2.5 命名虚拟机并选择安装位置
2.6 处理器配置
根据自己的电脑的设置配置即可,后期可更改。
2.7 设置内存
根据自己的机器配置设置即可
2.8 设置网络类型
选择NAT即可
2.9 选择I/O控制器类型
默认即可
2.10 选择磁盘类型
默认即可
2.11 选择使用的磁盘
2.12 指定磁盘大小
尽量设置大一些,50gb往上。
2.13 指定磁盘文件
默认即可
2.14 已准备好创建虚拟机,确认页面
2.15 点击完成,进行安装
然后等待漫长的安装过程即可。
根据机器性能差异,安装时间在10-30分钟之间。
2.16 在安装过程中进行相关内容的设置
设置界面
2.17 设置时区
2.18 选择安装的内容
选择GUI,对初学者比较友好。
2.19 设置网络
2.20 设置之后的页面
2.21 继续安装页面
第三章 安装XShell和Xftp
首先准备软件
3.1 安装XShell
3.1.1 双击打开
3.1.2 点击接受协议
3.1.3 选择安装位置
选择自己的合适的目录即可
3.1.4 点击下一步,之后点击安装
3.1.5 安装过程
3.1.6 安装完成
3.1.7 点击完成,查看成功界面
3.2 安装Xftp
3.2.1 双击打开
3.2.2 点击接受协议
3.2.3 选择安装位置
3.2.4 点击下一步,之后点击安装
3.2.5 安装过程
3.2.6 安装完成
3.2.7 点击完成,查看成功界面
3.3 通过XShell连接虚拟机
3.3.1 在文件中点击新建
3.3.2 输入相应的信息
3.3.3 一些小操作
注意连接之前需要给虚拟机防火墙关闭
CentOS7查看防火墙状态 systemctl status firewalld.service 关闭防火墙 systemctl stop firewalld.service 永久关闭(重启也没有用) systemctl enable firewalld.service |
关闭selinux参考(其实不关闭也不影响):
临时关闭 [root@localhost ~]# setenforce 0 查看selinux状态 [root@localhost ~]# sestatus 永久关闭 可以修改配置文件/etc/selinux/config,将其中SELINUX设置为disabled。 [root@localhost ~]# vim /etc/selinux/config |
注意,子网掩码的设置!!!
第四章 分布式集群安装前序准备
4.1 配置网络
网络配置修改成Manual手动的,并填写相应的ip地址
4.2 hostname查看并修改
CentOS6.x: vi /etc/sysconfig/network
CentOS7.4: vi /etc/hostname
修改主机名,修改之后要重启才能生效。
4.3 修改 /etc/hosts
修改hosts文件
vi /etc/hosts
192.168.22.136 hadoop10
192.168.22.137 hadoop11
192.168.22.138 hadoop12
示例如下:
4.4 防火墙策略
在虚拟机测试,关闭即可,阿里云主机上面需要配置策略
systemctl status firewalld.service
systemctl stop firewalld.service
只使用前面两行重启之后防火墙就开启了。
systemctl disable firewalld.service 永久关闭(重启也不行)
4.5 SSH相互免密码登录
先在hadoop0上面执行。
cd ~ 也就是进入/root目录
ssh-keygen -t dsa
cd /root/.ssh/
cat id_dsa.pub >> authorized_keys
上面四步骤需要在三台虚机上做同样的操作
cat authorized_keys查看秘钥
若是有原来有秘钥先删除
rm -rf *
ssh-copy-id -i /root/.ssh/id_dsa.pub hadoop2在hadoop0上执行上面一句将hadoop0上面的秘钥拷贝到hadoop2上然后再hadoop1上面再次执行上面一句将hadoop1上面的秘钥拷贝到hadoop2上scp /root/.ssh/authorized_keys hadoop0:/root/.ssh/在hadoop2上面执行上面一句将hadoop2上面的秘钥拷贝到hadoop0 上scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/在hadoop2上面执行上面一句将hadoop2上面的秘钥拷贝到hadoop1 上
第五章 JDK安装
5.1 准备环境并上传软件
1、安装之前先查看一下有无系统自带jdk
rpm -qa |grep java
rpm -e --nodeps 软件名字
[root@hadoop0 /]# rpm -qa |grep java tzdata-java-2020a-1.el7.noarch java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 python-javapackages-3.4.1-11.el7.noarch [root@hadoop0 /]# rpm -e --nodeps tzdata-java-2020a-1.el7.noarch [root@hadoop0 /]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 [root@hadoop0 /]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 [root@hadoop0 /]# rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch [root@hadoop0 /]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 [root@hadoop0 /]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 [root@hadoop0 /]# rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch [root@hadoop0 /]# rpm -qa |grep java |
使用下面的语句可以快捷删除完
rpm -qa |grep java rpm -e --nodeps tzdata-java-2020a-1.el7.noarch rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch rpm -qa |grep java |
实际配置的内容:
[root@hadoop10 ~]# rpm -qa |grep java tzdata-java-2020a-1.el7.noarch python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 javapackages-tools-3.4.1-11.el7.noarch [root@hadoop10 ~]# rpm -e --nodeps tzdata-java-2020a-1.el7.noarch [root@hadoop10 ~]# rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch [root@hadoop10 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 [root@hadoop10 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 [root@hadoop10 ~]# rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch [root@hadoop10 ~]# rpm -qa |grep java [root@hadoop10 ~]# |
为了方便,整理一下:
rpm -qa |grep java rpm -e --nodeps tzdata-java-2020a-1.el7.noarch rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch rpm -qa |grep java |
2、在根目录下面创建software文件夹,然后将文件上传到此文件夹下面,将所有的文件的安装都放到这个文件夹下面,方便统一管理。
5.2 上传解压重命名文件
上传到software文件夹下面
tar -zxvf jdk-8u202-linux-x64.tar.gz
mv jdk1.8.0_202/ jdk
重命名
5.3 修改配置
修改之前最好先备份一下配置文件
export JAVA_HOME=/software/jdk
export PATH=.:$PATH:$JAVA_HOME/bin
第六章 Hadoop安装
先在一台机器上面安装,然后复制到其他的机器上面即可。
6.1 在节点1上面上传解压重命名
3.2 添加环境变量
export JAVA_HOME=/software/jdk
export HADOOP_HOME=/software/hadoop
export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/software/jdk export PATH=.:$PATH:$JAVA_HOME/bin export HADOOP_HOME=/software/hadoop export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin |
6.3 修改配置文件
6.3.1 在一个节点上配置
vi hadoop-env.sh
export JAVA_HOME=/software/jdk
<property> <name>dfs.datanode.data.dir</name> <value>file:///software/hadoop/data/datanode</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///software/hadoop/data/namenode</value> </property> <property> <name>dfs.namenode.http-address</name> <value>hadoop0:50070</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop1:50090</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> |
先使用默认的即可
(4)配置core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop0/</value> </property> |
注意:端口可以不指定,默认是8020,也可以指定<value>hdfs://hadoop0:9000/</value>
6.3.2 将hadoop0上的配置拷贝到其他节点上
拷贝hadoop0上的配置到hadoop1和hadoop2上面
scp -r /software/hadoop hadoop1:/software/ scp -r /software/hadoop hadoop2:/software/ |
scp /etc/profile hadoop11:/etc/
scp /etc/profile hadoop12:/etc/
(3)或者手动配置
export HADOOP_HOME=/software/hadoop
export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.4 启动/停止Hadoop集群
3.4.1 格式化文件系统
执行上面的命令后,在后面的提示中如果看到successfully formatted的字样,说明hdfs格式化成功!
3.4.2 第一次启动时候遇到的问题
start-all.sh或者start-dfs.sh 和 start-yarn.sh来启动
出现问题如下:
解决方案:
cd /software/hadoop/etc/hadoop
修改hadoop-env.sh。(只需要在主节点上面配置一些即可,因为只在主节点上启动)
在最上面添加如下内容:
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 |
配置结果如下:
3.4.3 正确启动关闭
查看进程
[root@hadoop0 hadoop]# jps 5538 Jps 5196 ResourceManager 4733 NameNode |
[root@hadoop1 hadoop]# jps 3681 SecondaryNameNode 3860 Jps 3770 NodeManager 3567 DataNode |
[root@hadoop2 software]# jps 51234 DataNode 51362 NodeManager 51452 Jps |
3.4.4 查看页面
3.4.5 在页面创建文件夹时候出现的问题
问题如下:
Permission denied: user=dr.who, access=WRITE, inode="/":root:supergroup:drwxr-xr-x |
解决方案:
配置权限:
[root@hadoop0 hadoop]# hadoop fs -chmod -R 777 / |
修改之后创建文件夹以及上传文件都正常了
相关文章:

大数据研发工程师课前环境搭建
大数据研发工程师课前环境搭建 第一章 VMware Workstation 安装 在Windows的合适的目录来进行安装,如下图 1.1 双击打开 1.2 下一步,接受协议 1.3 选择安装位置 1.4 用户体验设置 1.5 快捷方式 已经准备好安装,点击安装 1.6 安装中 1.7 安装…...

Qt图形视图框架:QGraphicsItem详解
Qt图形视图框架:QGraphicsItem详解 Chapter1 Qt图形视图框架:QGraphicsItem详解Chapter2 自定义QGraphicsItem实现平移、改变尺寸和旋转1. 平移2. 改变尺寸3. 旋转完整代码如下:头文件源文件 Chapter1 Qt图形视图框架:QGraphicsIt…...

defer和async
如果两个属性浏览器都不兼容,推荐把<script>标签放到底部 一般情况下,浏览器在解析html源文件时,如果遇到外部的<script>标签,解析过程就会先暂停,这时会对script进行加载,执行两个过程&…...

数电实验-----实现74LS139芯片扩展为3-8译码器以及应用(Quartus II )
目录 一、74LS139芯片介绍 芯片管脚 芯片功能表 二、2-4译码器扩展为3-8译码器 1.扩展原理 2.电路图连接 3.仿真结果 三、3-8译码器的应用(基于74ls139芯片) 1.三变量表决器 2.奇偶校验电路 一、74LS139芯片介绍 74LS139芯片是属于2-4译码器…...
洋葱架构、三层架构及两者区别
前言 洋葱架构它的名称来源于洋葱的层次结构,即软件代码的各层次之间的关系。在这种架构中,应用程序的各个组件通过一系列层次结构被逐层包裹在一起,形成一个类似于洋葱的结构。 一、经典三层架构 三层架构是一种软件设计模式,…...

JavaEE进阶学习:Spring 的创建和使用
Spring 就是⼀个包含了众多工具方法的 IoC 容器。既然是容器那么它就具备两个最基本的功能: 将对象存储到容器(Spring)中从容器中将对象取出来 接下来使用 Maven 方式来创建一个 Spring 项目,创建 Spring 项目和 Servlet 类似&a…...
音视频项目—基于FFmpeg和SDL的音视频播放器解析(十四)
介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...

Tomcat无法映射到activiti-app导致activiti无法启动页面
原因之一:JDK版本与Tomcat版本不匹配,jdk8 yyds 我使用的是JDK11,Tomcat是9.0的,都是最新的,但还是不行,最后JDK改为8,tomcat的cmd后台没有报错,activiti-pp也可以正常访问了,很神奇…...
c语言常见的面试问题
在C语言编程中,面试官可能会询问你以下一些常见问题: 什么是C语言? C语言是一种通用的、过程式的计算机编程语言,由Dennis Ritchie在1972年创建。它是Unix操作系统的核心语言,也是许多其他编程语言(如Go、…...

image图片之间的间隙消除
多个图片排列展示,水平和垂直方向的间隔如何消除 垂直方向 vertical-align 原因: vertical-align属性主要用于改变行内元素的对齐方式,行内元素默认垂直对齐方式是基线对齐(baseline) 这是因为图片属于行内元素&…...

asp.net心理健康管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目
一、源码特点 asp.net 心理健康管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 系统视频链接 https://www.bilibili.com/video/BV19w411H7P4/ 二、功能介绍 本系统使用Microsoft Visual Studio…...

CnosDB有主复制演进历程
分布式存储系统的复杂性涉及数据容灾备份、一致性、高并发请求和大容量存储等问题。本文结合CnosDB在分布式环境下的演化历程,分享如何将分布式理论应用于实际生产,以及不同实现方式的优缺点和应用场景。 分布式系统架构模式 分布式存储系统下按照数据复…...

【前沿学习】美国零信任架构发展现状与趋势研究
转自:美国零信任架构发展现状与趋势研究 摘要 为了应对日趋严峻的网络安全威胁,美国不断加大对零信任架构的研究和应用。自 2022 年以来,美国发布了多个零信任战略和体系架构文件,开展了多项零信任应用项目。在介绍美国零信任战略…...
Toolformer论文阅读笔记(简略版)
文章目录 引言方法限制结论 引言 大语言模型在zero-shot和few-shot情况下,在很多下游任务中取得了很好的结果。大模型存在的限制:无法获取最新的信息、无法进行精确的数学计算、无法理解时间的推移等。这些限制可以通过扩大模型规模一定程度上解决&…...

Pytorch torch.dot、torch.mv、torch.mm、torch.norm的用法详解
torch.dot的用法: 使用numpy求点积,对于二维的且一个二维的维数为1 torch.mv的用法: torch.mm的用法 torch.norm 名词解释:L2范数也就是向量的模,L1范数就是各个元素的绝对值之和例如:...

Jave 定时任务:使用Timer类执行定时任务为何会发生任务阻塞?如何解决?
IDE:IntelliJ IDEA 2022.2.3 x64 操作系统:win10 x64 位 家庭版 JDK: 1.8 文章目录 一、Timer类是什么?二、Timer类主要由哪些部分组成?1.TaskQueue2. TimerThread 三、示例代码分析四、自定义TimerTask为什么会发生任务相互阻塞的…...

Visual Studio Code配置c/c++环境
Visual Studio Code配置c/c环境 1.创建项目目录2.vscode打开项目目录3.项目中添加文件4.文件内容5.配置编译器6.配置构建任务7.配置调试设置 1.创建项目目录 d:\>mkdir d:\c语言项目\test012.vscode打开项目目录 3.项目中添加文件 4.文件内容 #include <iostream> u…...
漏洞利用工具的编写
预计更新网络扫描工具的编写漏洞扫描工具的编写Web渗透测试工具的编写密码破解工具的编写漏洞利用工具的编写拒绝服务攻击工具的编写密码保护工具的编写情报收集工具的编写 漏洞利用工具是一种常见的安全工具,它可以利用系统或应用程序中的漏洞来获取系统权限或者窃…...
ChatGPT之父被OpenAI解雇
首席技术官 Mira Murati 任命临时首席执行官领导 OpenAI;山姆阿尔特曼(Sam Altman)离开公司。 阿尔特曼先生的离职是在董事会经过深思熟虑的审查程序之后进行的,审查程序得出的结论是,他在与董事会的沟通中始终不坦诚…...

linux中利用fork复制进程,printf隐藏的缓冲区,写时拷贝技术,进程的逻辑地址与物理地址
1.prinf隐藏的缓冲区 1.思考:为什么会有缓冲区的存在? 2.演示及思考? 1).演示缓存区没有存在感 那为什么我们感觉不到缓冲区的存在呢?我们要打印东西直接就打印了呢? 我们用代码演示一下: 比如打开一个main.c,输入内容如下: #include <stdio.h>int main(){printf…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...