大数据研发工程师课前环境搭建

news2024/12/22 14:20:15

大数据研发工程师课前环境搭建

第一章 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 修改配置

修改之前最好先备份一下配置文件

vi /etc/profile

export JAVA_HOME=/software/jdk

export PATH=.:$PATH:$JAVA_HOME/bin

source /etc/profile

java

java -version

javac

同理在其他节点上一样安装即可。

第六章 Hadoop安装

先在一台机器上面安装,然后复制到其他的机器上面即可。

6.1 在节点1上面上传解压重命名

tar -zxvf hadoop-3.3.1.tar.gz

mv hadoop-3.3.1 hadoop

3.2 添加环境变量

vi /etc/profile

export JAVA_HOME=/software/jdk

export HADOOP_HOME=/software/hadoop

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

source /etc/profile

线上实际配置

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 修改配置文件

在hadoop0上修改Hadoop的配置文件

cd  hadoop/etc/hadoop

6.3.1 在一个节点上配置

(1)配置hadoop-env.sh

vi hadoop-env.sh

export JAVA_HOME=/software/jdk

(2)配置hdfs-site.xml

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

(3)配置yarn-site.xml

先使用默认的即可

(4)配置core-site.xml

<property>

    <name>fs.defaultFS</name>

    <value>hdfs://hadoop0/</value>

</property>

 注意:端口可以不指定,默认是8020,也可以指定<value>hdfs://hadoop0:9000/</value>

(5)配置workers

hadoop1

hadoop2

6.3.2 将hadoop0上的配置拷贝到其他节点上

拷贝hadoop0上的配置到hadoop1和hadoop2上面

(1)拷背hadoop配置

scp -r /software/hadoop  hadoop1:/software/

scp -r /software/hadoop  hadoop2:/software/

(2)拷贝

scp /etc/profile hadoop11:/etc/

scp /etc/profile hadoop12:/etc/

source /etc/profile

(3)或者手动配置

export HADOOP_HOME=/software/hadoop

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

3.4 启动/停止Hadoop集群

3.4.1 格式化文件系统

hdfs namenode -format

执行上面的命令后,在后面的提示中如果看到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 /

修改之后创建文件夹以及上传文件都正常了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux基本指令总结--文件和目录

前言&#xff1a; 想要学好Linux操作系统&#xff0c;理解并熟悉一些基本的指令是必要的&#xff0c;下面我将整理出关于文件和目录操作的一些基本指令和用法&#xff0c;我的linux环境部署在服务器端&#xff0c;使用xshell软件进行远程操作。 本章指令整合&#xff1a; ls查…

【技术追踪】SAM(Segment Anything Model)代码解析与结构绘制之Mask Decoder

论文&#xff1a;Segment Anything   代码&#xff1a;https://github.com/facebookresearch/segment-anything 系列篇&#xff1a;   &#xff08;1&#xff09;【技术追踪】SAM&#xff08;Segment Anything Model&#xff09;代码解析与结构绘制之Image Encoder   &am…

如何在el-tree懒加载并且包含下级的情况下进行数据回显-01

在项目中做需求&#xff0c;遇到一个比较棘手的问题&#xff0c;el-tree懒加载在包含下级的时候&#xff0c;需要做回显&#xff0c;将选中的数据再次勾选上&#xff0c;在处理这个需求的时候有两点是比较困难的&#xff1a; el-tree是懒加载的&#xff0c;包含下级需要一层一…

DPDK初始化

rte_eal_init │ ├──rte_cpu_is_supported&#xff1a;检查cpu是否支持 │ ├──rte_atomic32_test_and_set&#xff1a;操作静态局部变量run_once确保函数只执行一次 │ ├──pthread_self() 获取主线程的线程ID,只是用于打印 │ ├──eal_reset_internal_config&#x…

Python 利用PIL由多张图片合成gif动画

Python 由多张图片合成gif动画 案例 import os figure_save_path "file_fig_test" import warnings warnings.filterwarnings("error") import numpy as np np.random.seed(0) import matplotlib.pyplot as plt from PIL import Image import timenum 1…

​软考-高级-系统架构设计师教程(清华第2版)【第16章 嵌入式系统架构设计理论与实践(P555~613)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第16章 嵌入式系统架构设计理论与实践&#xff08;P555~613&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图

将ArduinoIDE库文件移动到其他磁盘的方法

本文主要介绍更改软件包位置Arduino IDE &#xff08;含2.0以上版本&#xff09;的方法。 Arduino IDE 默认将软件包安装到 C 盘&#xff0c;如果你使用的开发板较多&#xff0c;产生的库文件很大&#xff0c;会导致 C 盘可用空间不足&#xff0c;博主只用了ESP开发板&#xf…

GCD:异步同步?串行并发?一文轻松拿捏!

GCD 文章目录 GCD进程线程进程与线程的关系进程与线程的区别 任务&#xff08;执行的代码&#xff09;队列线程与队列的关系 队列任务**同步执行任务&#xff08;sync&#xff09;**辅助方法**异步执行任务&#xff08;async)**总结栅栏任务迭代任务 队列详细属性QoSAttributes…

CF1899 G. Unusual Entertainment [二维数点/二维偏序]

传送门:CF [前题提要]:没什么好说的,区域赛爆炸之后发愤加训思维题.秒了div3 A~F的脑筋急转弯,然后被G卡了,树剖dfs序的想法已经想到了,题目也已经化简为两个线段是否存在一个合法位置了.但是MD不会二维数点,用一个树剖扫描线搞来搞去最后还是Tle.果然如下图所说:科技还是十分…

掌握未来技术趋势,Python编程引领人工智能时代

掌握未来技术趋势&#xff0c;Python编程引领人工智能时代 摘要&#xff1a;Python作为一种高级编程语言&#xff0c;在人工智能领域中扮演着越来越重要的角色。本文将通过介绍Python编程的特点、应用场景及发展前景&#xff0c;展望Python未来的发展趋势&#xff0c;并结合代…

搭建mysql主从错误集合

1 mysqld --verbose --help --log-bin-index/tmp/tmp.Frnt2oibYI mysqld: Cant read dir of /etc/mysql/conf.d/ my.cnf是在/etc/mysql/conf.d/文件夹下&#xff0c;所以挂载的时候不要写/etc/mysql 2 COLLATION utf8_unicode_ci is not valid for CHARACTER SET latin1 配…

Windows10下Maven3.9.5安装教程

文章目录 1.下载maven2.安装3.配置系统变量3.1.新建系统变量 MAVEN_HOME3.2.编辑系统变量Path 4.CMD命令测试是否安装成功5.配置maven本地仓库6.配置国内镜像仓库 1.下载maven 官网 https://maven.apache.org/download.cgi 点击下载。 2.安装 解压到指定目录 D:\installSoft…

springcloudalibaba-3

一、Nacos Config入门 1. 搭建nacos环境【使用现有的nacos环境即可】 使用之前的即可 2. 在微服务中引入nacos的依赖 <!-- nacos配置依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-…

​软考-高级-系统架构设计师教程(清华第2版)【第18章 安全架构设计理论与实践(P648~690)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第18章 安全架构设计理论与实践&#xff08;P648~690&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图

【算法每日一练]-图论(保姆级教程 篇5(LCA,最短路,分层图)) #LCA #最短路计数 #社交网络 #飞行路线 # 第二短路

今天讲最短路统计和分层图 目录 题目&#xff1a;LCA 思路&#xff1a; 题目&#xff1a;最短路计数 思路&#xff1a; 题目&#xff1a;社交网络 思路&#xff1a; 题目&#xff1a;飞行路线 思路&#xff1a; 题目&#xff1a;第二短路 思路&#xff1a; 题目&a…

轻量服务器和云服务器的区别,轻量应用服务器和云服务器区别对比

在云计算时代&#xff0c;服务器作为互联网应用的基础设施&#xff0c;扮演着重要的角色。对于个人用户、个人开发者、学生用户和个人站长来说&#xff0c;选择一款适合自己的服务器是一个关键的决策。本文将介绍轻量服务器和标准云服务器的优点和应用场景&#xff0c;帮助读者…

深入理解ResNet网络:实现与应用

Resnet 在深度学习领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;是一种非常重要的模型&#xff0c;它在图像识别、目标检测等领域取得了显著的成果。然而&#xff0c;随着网络层数的增加&#xff0c;梯度消失和梯度爆炸问题变得越来越严重&#xff0c;导致训练深层…

Prometheus+Grafana环境搭建(window)

PrometheusGrafana环境搭建 1&#xff1a;配置Prometheus 1.1: 下载Prometheus安装包 官方下载地址 找到对应的win版本进行下载并解压 1.2 下载Window数据采集 官方下载地址 下载以管理员运行&#xff0c;安装成功后在服务里会出现一个"windows_exporter"采集…

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!由于工作量大,准备整8个系列完事,-----系列5

文章目录 前言一、原始程序---计算原型&#xff0c;开始训练&#xff0c;计算损失二、每一行代码的详细解释2.1 粗略分析2.2 每一行代码详细分析 前言 承接系列4&#xff0c;此部分属于原型类中的计算原型&#xff0c;开始训练&#xff0c;计算损失函数。 一、原始程序—计算原…

IO流-序列化流

一&#xff0c;序列化&#xff08;把java对象写到对象中去&#xff09; 二&#xff0c; Object OutputStream(对象字节输出流) 三&#xff0c;案例 package BigDecimal;import java.io.FileOutputStream; import java.io.ObjectOutputStream;public class Main {public static…