1. 按照左侧虚拟机名称修改对应主机名(分别为master、slave1、slave2,使用hostnamectl命令)

hostnamectl set-hostname master && bash

hostnamectl set-hostname slave1 && bash

hostnamectl set-hostname slave2 && bash

2. 修改host文件添加左侧master、slave1、slave2节点IP与主机名映射(使用内网IP)

vim /etc/hosts

172.18.38.142 master

172.18.38.143 slave1

172.18.0.82 slave2

注:三个节点的文件都修改

3. 时区更改为上海时间(CST+0800时区)

tzselect

5 9 1 1

echo "TZ='Asia/Shanghai';export TZ" >> /etc/profile && source /etc/profile

4. 环境已经安装NTP,修改master节点NTP配置,设置master为本地时间服务器,屏蔽默认server,服务器层级设为10

vim /etc/ntp.conf

server 127.127.1.0

fudge 127.127.1.0 stratum 10

5. 开启NTP服务

systemctl restart ntpd.service

6. 添加定时任务--在早十-晚五时间段内每隔半个小时同步一次本地服务器时间(24小时制、使用用户root任务调度crontab,服务器地址使用主机名)

(0 / 5分)

ntpdate master

crontab -e

*/30 10-17 * * * usr/sbin/ntpdate master

crontab -l

7. 主节点生成公钥文件id_rsa.pub(数字签名RSA,用户root,主机名master)

ssh-keygen

8. 建⽴master⾃身使⽤root⽤户ssh访问localhost免密登录

ssh-copy-id localhost

9. 建⽴master使⽤root⽤户到slave1的ssh免密登录访问

ssh-copy-id slave1

10. 建⽴master使⽤root⽤户到slave2的ssh免密登录访问

ssh-copy-id slave2

11. 将jdk安装包解压到/usr/java目录(安装包存放于/usr/package277/,路径自行创建,解压后文件夹为默认名称,其他安装同理)

mkdir /usr/java

tar -zxvf /usr/package277/jdk-8u221-linux-x64.tar.gz -C /usr/java/

12. 文件/etc/profile中配置系统环境变量JAVA_HOME,同时将JDK安装路径中bin目录加入PATH系统变量,注意生效变量,查看JDK版本

vim /etc/profile

#java

export JAVA_HOME=/usr/java/jdk1.8.0_221

export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

java -version

Hadoop完全分布式集群搭建

1. 将Hadoop安装包解压到指定路径/usr/hadoop(安装包存放于/usr/package277/)

mkdir /usr/hadoop

tar -zxvf /usr/package277/hadoop-2.7.7.tar.gz -C /usr/hadoop/

2. 文件/etc/profile中配置环境变量HADOOP_HOME,将Hadoop安装路径中bin目录和sbin目录加入PATH系统变量,注意生效变量

vim /etc/profile

加入:

#hadoop

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7

export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib

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

source /etc/profile

3. 配置Hadoop运行环境JAVA_HOME

cd /usr/hadoop/hadoop-2.7.7/etc/hadoop/

echo "export JAVA_HOME=/usr/java/jdk1.8.0_221" >> hadoop-env.sh

4,5. 设置全局参数,指定HDFS上NameNode地址为master,端口默认为9000

vim core-site.xml

<property>

  <name>fs.default.name</name>

   <value>hdfs://master:9000</value>

</property>

<property>

  <name>hadoop.tmp.dir</name>

   <value>/root/hadoopData/tmp</value>

</property>

6,7,8. 设置HDFS参数,指定备份文本数量为2

vim hdfs-site.xml

<property>

 <name>dfs.replication</name>                                                                                                              

   <value>2</value>

 </property>

 <property>

 <!--namenode节点数据存储目录-->

   <name>dfs.namenode.name.dir</name>

   <value>/root/hadoopData/name</value>

 </property>

  <!--datanode节点数据存储目录-->

  <property>

    <name>dfs.datanode.data.dir</name>

    <value>/root/hadoopData/data</value>

</property>

<!-- 设置HDFS的文件权限-->

 <property>

   <name>dfs.permissions</name>

   <value>false</value>

</property>

<property>

       <name>dfs.datanode.use.datanode.hostname</name>

       <value>true</value>

</property>

echo "export JAVA_HOME=/usr/java/jdk1.8.0_221" >> yarn-env.sh

10. 设置YARN核心参数,指定ResourceManager进程所在主机为master,端口为18141;指定mapreduce 获取数据的方式为mapreduce_shuffle

vim yarn-site.xml

<property>

 <name>yarn.resourcemanager.admin.address</name>

 <value>master:18141</value>

</property>

<property>

 <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

 <value>org.apache.hadoop.mapred.shuffleHandler</value>

</property>

<property>

 <name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle</value>

</property>

11. 设置计算框架参数,指定MR运行在yarn上

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

<property>

   <name>mapreduce.framework.name</name>

   <value>yarn</value>

</property>

12. 设置节点文件,要求master为主节点; slave1、slave2为子节点

echo "master" >> master

vim slaves

slave1

slave2

13. 对文件系统进行格式化

cd /usr/hadoop/hadoop-2.7.7/

hadoop namenode -format

14. 启动Hadoop集群查看各节点服务

sbin/start-all.sh

Spark集群搭建

1. 将Spark安装包解压到指定路径/usr/spark/spark-2.4.3-bin-hadoop2.7(安装包存放于/usr/package277/)

mkdir /usr/spark

tar -zxvf /usr/package277/spark-2.4.3-bin-hadoop2.7.tgz -C /usr/spark/

2. 文件/etc/profile中配置环境变量SPARK_HOME,将Spark安装路径中的bin目录加入PATH系统变量,注意生效变量

vim /etc/profile

加入:

#spark

export SPARK_HOME=/usr/spark/spark-2.4.3-bin-hadoop2.7

export PATH=$PATH:$SPARK_HOME/bin

source /etc/profile

3,4,5,6. 修改配置文件spark-env.sh,设置主机节点为master

cd /usr/spark/spark-2.4.3-bin-hadoop2.7/conf

mv spark-env.sh.template spark-env.sh

echo "export SPARK_MASTER_IP=master

export SCALA_HOME=/usr/scala/scala-2.10.3

export SPARK_WORKER_MEMORY=8g

export JAVA_HOME=/usr/java/jdk1.8.0_221

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7

export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.7/etc/hadoop" >> spark-env.sh

7. 修改slaves文件,添加spark从节点slave1、slave2

mv slaves.template slaves

vim slaves

slave1

slave2

8. 开启集群,查看各节点进程(主节点进程为Master,子节点进程为Worker)

cd /usr/spark/spark-2.4.3-bin-hadoop2.7/

sbin/start-all.sh

开启单节点集群环境

1.修改云主机host文件,添加内网IP,对应映射名为hadoop000,实现云主机自身使用root用户ssh访问hadoop000免密登陆

vim /etc/hosts

#添加以下内容

hadoop000_IP hadoop000

2. 格式化HDFS文件系统

hadoop namenode -format

3. 启动Hadoop集群

start-all.sh

4.开启mysql服务,并初始化数据库

systemctl start mysqld.service

schematool -dbType mysql -initSchema

5.开启hiveserver2服务,查看端口是否正常开启

hive

create database hive;

航空事故分析

1. 数据上传至HDFS://crash目录下

hdfs dfs -mkdir /crash

hdfs dfs -put /root/college/accidents.csv /crash

2. 对数据进行清洗,具体参考步骤说明,结果写入HDFS://crash/data/part-r-00000

修改windows或者mac的hosts文件,添加主机映射:hadoopip hadoop000

然后找idea运行crash_clean文件

3. 统计各国历史上空难发生次数,结果写入HDFS://crash/01/part-r-00000(格式参考:USA 2911)。

然后找idea运行crash02文件

4. 统计历年空难次数分析其变化趋势,结果写入HDFS://crash/02/part-r-00000(2022 38)。

然后找idea运行crash03文件

5. 分析空难数据中各国累计伤亡人数,结果写入HDFS://crash/03/part-r-00000(USA 9389)。

然后找idea运行crash04文件

6. 分析数据中不同事故类别(category)及其次数,结果写入HDFS://crash/04_1/part-r-00000(H2 936)。

然后找idea运行crash05_1文件

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐