Hadoop分布式集群的搭建的方法步骤
1安装说明
1.1用到的软件
软件 | 版本 | 下载地址 |
---|---|---|
linux | UbuntuServer18.04.2LTS | https://ubuntu.com/download/server |
hadoop | hadoop-2.7.1 | http://archive.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz |
java | jdk-8u211-linux-x64 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
1.2节点安排
名称 | ip | hostname |
---|---|---|
主节点 | 192.168.233.200 | Master |
子节点1 | 192.168.233.201 | Slave01 |
子节点2 | 192.168.233.202 | Slave02 |
2创建hadoop用户
所有的节点均创建一个名为hadoop的用户,并添加管理员权限。
注意:这里这是单纯为了方便管理,创建的用户名,也可以使用其他用户名,或者使用系统之前的用户,主要有管理员权限即可
$sudouseradd-mhadoop-s/bin/bash#创建用户 $sudopasswdhadoop#修改密码 $sudoadduserhadoopsudo#添加管理员权限
3配置网络环境
3.1修改主机名
修改/etc/hostname文件,每个节点都要修改。
- 主节点修改为:Master
- 从节点分别修改为:Slave01,Slave02,...
注意:如果是ubuntu18.04桌面版直接修改/etc/hostname文件即可,ubuntu18.04服务器版还需要修改/etc/cloud/cloud.cfg文件,修改如下:
#Thiswillcausetheset+updatehostnamemoduletonotoperate(iftrue) preserve_hostname:true#这里是将false改成true
3.2添加IP与主机名的映射关系
在/etc/hosts文件里添加如下内容(每个节点都要修改,根据实际情况修改ip)
192.168.233.200Master 192.168.233.201Slave01 192.168.233.202Slave02
检查各个节点是否能相互ping通。
3.3设置SSH无密码登录节点
让Master能够通过SSH无密码登录各个Slave节点
如果修改过主机名,需要重新生成的新的公钥。
在Master上执行如下命令:
$cd~/.ssh#如果没有该目录,先执行一次sshlocalhost $rm./id_rsa*#删除之前生成的公匙(如果已经存在) $ssh-keygen-trsa#执行该命令后,遇到提示信息,一直按回车就可以 $cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
接着将Master中的id_rsa.pub文件复制到各个Slave节点中
$scp~/.ssh/id_rsa.pubhadoop@Slave01:/home/hadoop/ $scp~/.ssh/id_rsa.pubhadoop@Slave02:/home/hadoop/
在各个Slave节点中执行如下命令:
$mkdir~/.ssh#如果不存在该文件夹需先创建 $cat~/id_rsa.pub>>~/.ssh/authorized_keys $rm~/id_rsa.pub#用完以后就可以删掉
在Master中验证是否可以无密码登录,各个Slave节点。
如:
$sshSlave01#如果成功登录,则配置完成 $sshSlave02#如果成功登录,则配置完成
4安装java环境
每个节点都要安装,步骤相同
为了方便操作每个节点,默认在/usr/local/下新建一个名为bigdata的文件夹,存放所有的大数据相关的软件。
$sudomkdir/usr/local/bigdata $sudochown-Rhadoop:hadoop/usr/local/bigdata/
4.1解压
$sudomkdir/usr/local/bigdata/java $sudotar-zxvfjdk-8u211-linux-x64.tar.gz-C/usr/local/bigdata/java/
4.2添加环境变量
在~/.bashrc文件中添加如下内容,并执行$source~/.bashrc命令使其生效
#java exportJAVA_HOME=/usr/local/bigdata/java/jdk1.8.0_211 exportJRE_HOME=$JAVA_HOME/jre exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib exportPATH=${JAVA_HOME}/bin:$PATH
5解压hadoop
下载hadoop-2.7.1.tar.gz文件,并解压到/usr/local/bigdata/文件夹下
$sudotar-zxvfhadoop-2.7.1.tar.gz-C/usr/local/bigdata
6修改hadoop配置文件
需要修改6个文件,文件位于/usr/local/bigdata/hadoop-2.7.1/etc/hadoop/下
6.1slave文件
将文件中原来的localhost删除,添加内容:
Slave01 Slave02
6.2core-site.xml文件
内容修改为:
fs.defaultFS hdfs://Master:9000 hadoop.tmp.dir file:/usr/local/bigdata/hadoop-2.7.1/tmp Abaseforothertemporarydirectories.
6.3hdfs-site.xml文件
Hadoop的分布式文件系统HDFS一般采用冗余存储,一份文件通常保存3份副本,所以dfs.replication的值还是设置为3。
具体内容如下:
dfs.namenode.secondary.http-address Master:50090 dfs.replication 3 dfs.namenode.name.dir file:/usr/local/bigdata/hadoop-2.7.1/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/bigdata/hadoop-2.7.1/tmp/dfs/data
6.4mapred-site.xml文件
修改内容如下:
mapreduce.framework.name yarn mapreduce.jobhistory.address Master:10020 mapreduce.jobhistory.webapp.address Master:19888
6.5yarn-site.xml文件
内容如下:
yarn.resourcemanager.hostname Master yarn.nodemanager.aux-services mapreduce_shuffle
6.6hadoop-env.sh文件
修改如下内容:
exportJAVA_HOME=/usr/local/bigdata/java/jdk1.8.0_211 #可以不用 exportHADOOP_HOME=/usr/local/hadoop-2.7.1
7设置hadoop环境变量
每个节点都要设置
在~/.bashrc文件中添加如下内容,并$source~/.bashrc使其生效
exportPATH=$PATH:/usr/local/bigdata/hadoop-2.7.1/bin:/usr/local/bigdata/hadoop-2.7.1/sbin
8slave节点配置
slave节点只需将master节点上/usr/local/下的bigdata文件夹和~/.bashrc文件,放到slave节点即可
注意切换到对应机器执行$source~/.bashrc使环境变量生效。
后续的软件均可使用此方式配置。
在master节点:
$sudorm-r/usr/local/bigdata/hadoop-2.7.1/tmp#删除Hadoop临时文件,如果之前有启动过 $sudorm-r/usr/local/bigdata/hadoop-2.7.1/logs/*#删除日志文件,如果之前有启动过 $tar-zcvf~/bigdata.tar.gz/usr/local/bigdata/#先压缩再复制 $scp~/bigdata.tar.gzSlave01:/home/hadoop $scp~/bigdata.tar.gzSlave02:/home/hadoop $scp~/bashrcSlave01:/home/hadoop $scp~/bashrcSlave02:/home/hadoop
在各个slave节点上
$sudomkdir/usr/local/bigdata $sudochown-Rhadoop:hadoop/usr/local/bigdata $tar-zxvf~/bigdata.tar.gz-C/usr/local/bigdata $sudosource~/.bashrc
9启动Hadoop集群
在Master上执行
首次运行需要,执行
$hdfsnamenode-format
格式化名称节点,然后就可以启动hadoop了。
启动hadoop:
$start-dfs.sh $start-yarn.sh $mr-jobhistory-daemon.shstarthistoryserver
使用jps查看启动的各个节点,缺少任何进程,都表示出错。
$jps 3585JobHistoryServer 2938NameNode 3148SecondaryNameNode 3308ResourceManager 3629Jps
浏览器查看:http://192.168.233.200:50070/
查看相关信息:$hdfsdfsadmin-report
关闭hadoop:
$stop-yarn.sh $stop-dfs.sh $mr-jobhistory-daemon.shstophistoryserver
如果有问题,重复如下命令:
$stop-dfs.sh#关闭 $rm-r/usr/local/bigdata/hadoop-2.7.1/tmp#删除tmp文件,注意这会删除HDFS中原有的所有数据 $hdfsnamenode-format#重新格式化名称节点 $start-dfs.sh#重启
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。