手工部署Hadoop与Spark

2020-11-19  本文已影响0人  dingtom

Hadoop与Spark之间区别联系类似WPS与Word,即Hadoop与Spark功能相同,一个性能较高、另一个性能较普通而已。



可按如下步骤手工部署:

一、制定部署规划。


以下均可:一是云创云端容器云;二是四台实体机;三是在一台高配物理机上使用VMware虚拟出四台虚拟机;四是在一台中配置机上使用Docker虚拟出四台虚拟机。

二、准备机器。

1.修改机器名
2.关闭防火墙

默认情况下CentOS防火墙iptables会阻断进程间(不同机器)通信,用户可永久关闭防火墙或设置防火墙开放Hadoop相关端口,为简单起见,使用永久关闭命令。

3.安装JDK

Hadoop运行时需1.7及以上的Oracle版JDK环境支撑,选用当前最稳定版“jdk-8u161-linux-x64.rpm”,请读者自行下载并拷贝至CentOS的某目录,如以下假定jdk安装文件位于CentOS机的“/root/tools/jdk-8u161-linux-x64.rpm”。

4.添加域名映射
5.关闭桌面

systemctl set-default multi-user.target
关闭桌面
注意一是非必须(仅为节省内存),二是必须root权限执行,三是通过“startx”命令可从命令行进入桌面。

6.重启生效

reboot
不管三七二一,重启生效一切操作
重启好机器后,可通过如下命令逐一收获结果:
hostname
查看本机主机名,结果应为slave1
systemctl status firewalld
查看防火墙状态,结果应有incative字样
java -version
查看jdk版本,结果应有1.8.0_161
ping slave1
查看域名映射,结果应可以ping的通

三、配置集群环境。

指的是对集群中的每台机器,设置其相应的“主机名”、“关闭每台机器的防火墙”、“为每台机器安装JDK”、“为每台机器添加整个集群的域名映射”。显然,除“为每台机器添加整个集群的域名映射”外,其余三项设置实质上就是前面的任务,即对新创建的五台CentOS机器,逐一执行。

1.为每台机器添加整个集群的域名映射
192.168.1.100  master 
192.168.1.101  slave1 
192.168.1.102  slave2 
192.168.1.102  slave3
192.168.1.102  slave4

编辑master、 slave的域名映射文件

注意一是无需重启立刻生效;二是必须root权限执行;三是追加,不可删除原内容;四是集群中每台机器都要添加。

2.配置SSH免密登录

Hadoop的基础是分布式文件系统HDFS,HDFS集群有两类节点以管理者-工作者的模式运行,即一个namenode(管理者)和多个datanode(工作者)。在Hadoop启动以后,namenode通过SSH来启动和停止各个节点上的各种守护进程,这就需要在这些节点之间执行指令时采用无需输入密码的认证方式,因此,我们需要将SSH配置成使用无需输入root密码的密钥文件认证方式。

编译、运行或者打包Java程序。

使用vi编辑器编写HelloWorld.java:

public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

四、下载组件。

下载Hadoop。请至http://archive.apache.org/dist/主页下载hadoop-2.7.4.tar.gz并以root用户拷贝至各机“/root/tools/hadoop-2.7.4.tar.gz”。。

五、部署前置组件。


所谓的“部署前置组件”指的是部署本组件的依赖组件,如部署Hive前需提前部署Hadoop;部署Spark前需提前部署HDFS(当指定Spark使用HDFS时)。

六、部署组件。

解压Hadoop(五台机器均需解压Hadoop);配置HDFS(五台均配置 hadoop-env.sh ,core-site.xml);格式化主节点(仅安装时主节点执行一次,其它情况均不执行)。

<property><name>hadoop.tmp.dir</name><value>/root/hadoopdata</value></property>
<property><name>fs.defaultFS</name><value>hdfs://master:8020</value></property>

注意一是以root用户登录;二是五台机器均需执行;三是仅在<configuration>与</configuration>间添加上述内容,切不可删除configuration外原有内容。

七、启动HDFS

总原则为“主节点启动主服务、从节点启动从服务”

实际操作命令见如下两步骤。

  • 在master机上使用下述命令启动HDFS主服务namenode:
    /root/hadoop-2.7.4/sbin/hadoop-daemon.sh start namenode
    master启动主服务
  • 在slave1、slave2、slave3、slave4上使用下述命令启动HDFS从服务datanode
    /root/hadoop-2.7.4/sbin/hadoop-daemon.sh start datanode
    slave1、2、3启动从服务
    注意一是以root用户操作;二是master机仅启动namenode;三是所有slave都需启动datanode;四是使用的脚本名为“hadoop-daemon.sh”,而不是“hadoop-daemons.sh” 。

统一启动

八、测试HDFS

192.168.1.100  master
192.168.1.101  slave1
2347 NameNode                                       #分布式存储HDFS集群主服务
slave1、slave2、slave3、slave4机可看到类似如下信息(进程号,进程名):
4021 DataNode                                        #分布式存储HDFS集群从服务

no datanode to stop

九、关闭该HDFS集群

总原则为“主节点关闭主服务、从节点关闭从服务”,实际操作命令参见如下两步骤。此外,本步骤最简单的验证方法为关闭前浏览器可打开“http://master:50070”,关闭后浏览器打不开“http://master:50070”。

上一篇下一篇

猜你喜欢

热点阅读