大数据集群创建
Apr.11,2022
默认你已具备Linux基本操作与使用过虚拟机。本教程可适用于多台主机中也可在虚拟机中自行创建。
一、集群安装的准备
1、自行准备虚拟机
在虚拟机中创建4台主机,自行学习创建虚拟机的过程。本教程使用centos6
2、关闭虚拟机的防火墙
如下操作基本在Linux-01(修改名字为Linux-01)
firewalld-cmd --state(查看防火墙)
systemctl stop firewalld(暂时关闭)
systemctl -diable firewalld(永久关闭)
3、永久修改设置的主机名
vi /etc/hostname
然后把默认的删除,写上你想要的主机名(如Linux-01、Linux-02…)
注意:需要重启才会生效—>reboot
4、配置文件的映射
vi /etc/hostname
将默认的加#号注释掉,后面加上你集群里的主机的ip地址,如下:
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.203.128 Linux-01
192.168.203.129 Linux-02
192.168.203.130 Linux-03
192.168.203.131 Linux-04
其中 Linux-01是我修改后的hostname名字
然后使用传递的方法可以将你的主机配置好的文件发送到其他主机,也可以在不同主机上配置(集群的主机)
scp -r /etc/hosts 192.168.203.129:/etc/
scp -r /etc/hosts 192.168.203.130:/etc/
scp -r /etc/hosts 192.168.203.131:/etc/
二、集群安装
1、准备工作
在root目录下创建一个文件夹sowf用来存放日后大数据集群软件。将在网上下载的Linux版本的jdk传到该文件夹下后进行解压:
tar zxvf jdk-8u121-linux-x64.tar.gz -C sowf/
2.配置jdk环境
打开配置环境文件
vi /etc/profile
在配置环境文件加上
export JAVA_HOME=/root/sowf/jdk1.8.0_121(查看你jdk的路径)
export PATH=$PATH:$JAVA_HOME/bin
配置好后需要重新运行配置文件
source /etc/profile
3.将文件发送到其他机器
- 发送jdk
scp -r sowf/jdk1.8.0_121/ Linux-02(可以为IP地址):sowf/jdk1.8.0_121(需要先在其他机器中创建sowf)
- 发送配置文件
scp -r /etc/profile/ Linux-02:/etc/
4.配置ssh免密登录(为了方便)
(1)首先生成密钥对
ssh-keygen
(2)将密钥对复制到其他机器,让机器密钥对都相同(先复制自己)
ssh-copy-id Linux-01(可以为IP地址)
ssh-copy-id Linux-02
ssh-copy-id Linux-03
ssh-copy-id Linux-04
5.安装HDFS集群
(1)在Apache官网下载的Hadoop集群软件,拉到你的Linux中(跟下载jdk步骤一样,存放到sowf中)
(2)修改在hadoop/etc/中的hadoop-env.sh,因为hdfs是运行在java虚拟机上的,所以需要配置好安装的jdk的路径,启动后可以找到
将默认的删除,变为你的jdk路径
export JAVA_HOME=/root/sowf/jdk1.8.0_121
(3)修改core-site.xml(核心配置文件)官网可以查找配置内容
<configuration>
//配置hdfs
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.203.128:9000</value>
</property>
</configuration>
用于设置Hadoop的默认文件系统。文件系统是由URI指定的,这里我们已使用hfds URI来配置HDFS 为Hadoop的默认文件系统。HDFS的守护程序通过该属性项来确定HDFS namenode的主机与端口,这样HDFS客户端就可以通过该属性得知namenode在哪里进而连接到它
(4)修改hdfs-site.xml
<configuration>
//配置元数据储存位置
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/sowf/dfs/name</value> //其中dfs/name目录是没有的,到第6点后介绍如何生成
</property>
//配置数据储存位置
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/sowf/dfs/data</value>
</property>
</configuration>
(5)配置hadoop的环境
在启动集群则需要调动脚本文件sbin中启动,这时候需要修改配置环境变量(如jdk),让每个目录下都可以启动
vi /etc/profile
后面加上:
export HADOOP_HOME=/root/sowf/hadoop-2.8.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin(主要是让hadoop可以在任意目录下输入hadoop的命令)
注意加载环境变量:source etc/profile
(6)执行初始化存储namenode的元数据目录
首先进入hadoop的bin文件夹中
cd sowf/hadoop-2.8.4/bin
执行初始化namenode的元数据操作
hadoop namenode -format
此时会自动生成dfs/name文件夹
(7)启动集群
首先启动namenode
hadoop-daemon.sh start namenode
查看jps使用命令:jps,此时可以看到一个namenode的节点
(8)需要将在Linux-01操作的传递给其他机器,启动其他datanode机器,其中包括传递:
- 配置文件
scp -r /etc/profile/ Linux-02:/etc/
scp -r /etc/profile/ Linux-03:/etc/
scp -r /etc/profile/ Linux-04:/etc/
- hadoop文件(这里包括了之前设置的变量)
scp -r /root/sowf/hadoop-2.8.4/ Linux-02:/root/sowf/
scp -r /root/sowf/hadoop-2.8.4/ Linux-03:/root/sowf/
scp -r /root/sowf/hadoop-2.8.4/ Linux-04:/root/sowf/
(9)其他机器启动datanode的操作跟namenode的操作一样,需要每台都启动
开启:hadoop-daemon.sh start datanode
关闭:hadoop-daemon.sh stop datanode
(10)自动批量的启动脚本
打开配置环境的文件
vi root/sowf/hadoop-2.8.4/etc/hadoop/slaves
将默认的删除后加上如下信息:
Linux-02(也可以为IP地址)
Linux-03
Linux-04
在namenode中直接开启各datanode
start-dfs.sh
(11)secondarynamenode默认下放在namenode中,则需要将其分开,并把它放在其他机器中,则需要对副本进行配置
打开配置文件
vi sowf/hadoop-2.8.4/etc/hadoop/hdfs-site.xml
在后面加入配置的参数
<property>
<name>dfs.namenode.secondary.http-address</name> #注意http,不是https
<value>Linux-02:50090</value> #你要放取的位置
</property>
在namenode配置后,其他datanode也需要同步文件的信息,则需要把文件发送到其他机器中(注意要将集群关闭掉)
6.Yarn集群安装
(1)修改配置文件yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.174.128</value> 这里是你的ip地址也可以改为主机的名字
</property>
<porperty>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffice</value>
</porperty>
2.然后将配置文件复制到其他电脑中,使集群中的配置文件相同
scp yarn-site.xml root@Linux-02:$PWD
scp yarn-site.xml root@Linux-03:$PWD
scp yarn-site.xml root@Linux-04:$PWD
3.修改slaves文件
在Linux-01上,修改hadoop的slaves文件,列入要启动nodemanager的机器,上述以配置完成。
4.脚本启动yarn集群:
启动:sbin/start-yarn.sh
停止:sbin/stop-yarn.sh
5.访问web端口
启动完成后,可以在windows上用浏览器访问resourcemanager的web的端口http://192.168.174.128:8088
上述配置过程为笔记主要用于个人学习,其中省略了一些基本参数的介绍。