Hadoop完全分布式搭建
环境:
使用的是 centos6.5 hadoop-3.3.0 ,jdk版本推荐使用Jdk-1.8.0_202否则容易出现版本不兼容
准备三台主机:HadoopMaster,HadoopSlave1,HadoopSlave2
!!注:除了一些系统文件用root用户编辑外,其他都用普通用户来编辑(可以用vim,sudo来编辑),否则要出现权限问题
步骤:
一.主机配置
1.配置ip(比较基础就没写了)
2.关闭防火墙
临时关闭
service iptable stop
永久关闭
chkconfig iptable off
3.root用户下编辑hosts文件将主机名与ip绑定(三台都要互相放)
vi /etc/hosts
4 .三台主机互相进行免密登录
分别在三台主机上执行命令生成秘钥并将三台主机的公钥钥都复制在authorized_keys中
ssh-keygen -t rsa
系统在~/.ssh目录下会生成两个文件id_rsa(本机私钥) id_rsa.pub(公钥),将公钥放进authorized_keys(复制后自动生成)中
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
将另外两台主机的公钥也放进来
直接把authorized_keys文件传到另外两台的.ssh文件中
scp ~/.ssh/authorized_keys hadoop@HadoopSlave1:~/.ssh
scp ~/.ssh/authorized_keys hadoop@HadoopSlave2:~/.ssh
将authorized_keys文件赋予权限600
chmod600 ~/.ssh/authorized_keys
二.编辑hadoop配置文件:
上传hadoop压缩包到Master并解压:
在这用的是powershell 上传的大家可以用其他工具上传
Scp Hadoop.tar.gz [email protected]:/home/hadoop/software
在/home/hadoop/software目录下解压
tar -zxvf Hadoop.tar.gz
创建数据目录 ,因为三台都要创建故直接放在hadoop-3.3.0中,直接后期一起传过去
mkdir /home/hadoop/software/hadoop-3.3.0/hadooptmp
解压过后在 hadoop-.3.3.0/etc/hadoop 目录下初步环境需要编辑7个文件,大家在相应的中添加下面代码
1.hadoop-env.sh
vim hadoop-env.sh
将jdk路径放进其中(根据自己jdk的安装路径):
exportJAVA_HOME=/home/hadoop/桌面/jdk
2.yarn-env.sh
加入如下代码(jdk路径)
vim yarn-env.sh
exportexportJAVA_HOME=/home/hadoop/桌面/jdk
然后保存文件
3.core-site.xml
vim core-site.xml
core-site.xml 中的内容:
<configuration><property><name>fs.defaultFS</name><value>hdfs://HadoopMaster:9000</value></property><property>#这是上面自己创建的文件hadooptmp,<value>是文件路径 <name>hadoop.tmp.dir</name><value>/home/hadoop/software/hadooptmp</value></property></configuration>
4.hdfs-site.xml
hdfs-site.xml 中的内容:
vim hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>2</value></property></configuration>
5.yarn-site.xml
yarn-site.xml 中的内容:
vim yarn-site.xml
<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.address</name><value>HadoopMaster:18040</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>HadoopMaster:18030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>HadoopMaster:18025</value></property><property><name>yarn.resourcemanager.admin.address</name><value>HadoopMaster:18141</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>HadoopMaster:8088</value></property></configuration>
6.mapred-site.xml
mapred-site.xml 中的内容
vim mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
7.在 HadoopMaster 节点配置 works 文件
使用 vim 编辑:
vim /workers
用下面的代码替换 works 中的内容(节点主机名)
HadoopSlave1
HadoopSlave2
8.复制到从节点
使用下面的命令将已经配置完成的 Hadoop目录复制到从节点 Slave 上:
scp -r hadoop hadoop@HadoopSlave1:~/software/
scp -r hadoop hadoop@HadoopSlave2:~/software/
9.配置 Hadoop 启动的系统环境变量 (root用户)
该节的配置需要同时在三个节点(Master 和 Slave)上进行操作,操作命令如下:
vi ~/.bash_profile
将下面的代码追加到.bash_profile 末尾:
exportHADOOP_HOME=/home/hadoop/software/hadoop-3.3.0
exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
然后执行刷新命令:
source ~/.bash_profile
10.格式化hadoop集群
格式化命令如下,该操作需要在 Master 节点上执行:
hadoop namenode -format
11.启动 Hadoop集群
在master上执行
start-all.sh
四.验证
1.分别查看进程
Master:
Slave1:
Slave2:
2.在浏览器打开端口:
在浏览器输入:http://192.168.53.20:9870 查看yarn端口
在浏览器输入:http://192.168.1.11:8088 查看hdfs端口会出现Slave1和Slave2节点
自己搭建的过程大家共同学习
版权归原作者 @28号技师 所有, 如有侵权,请联系我们删除。