Hadoop3.0.3分布式集群搭建-慎入
参考这位大哥的角色分离
https://blog.csdn.net/hzj1998/article/details/87967359
本文的任务是构建分布式集群,但并不是上面链接的角色分离,而是一个用户下的集群,单纯地为了学习和练习熟练程度,参考。
准备环境
- VM15虚拟机
- Ubuntu1604
- jdk8u91
- Hadoop3.0.3
开始工作
先给大家说明主要的流程
- 固定IP
- 创建一个用户(这就是本文要写的目的)
- 安装配置jdk和Hadoop
- 安装ssh免密登录
*注意:我们这就要开始了,
*
---------固定IP,net模式---------
创建虚拟机的时候就指定推荐的net模式,大家也可以试试桥接模式。
修改IP,/etc/network/interfaces文件中
auto ens33
iface ens33 inet static
address 192.168.93.200
netmask 255.255.255.0
gateway 192.168.93.2
dns-nameserver 114.114.114.114
(不知道文件夹路径写的对不对,呃)
(根据情况自己填写,默认网关,查看IP范围,在vm的编辑中的虚拟网络编辑器重卡一查看)
我这里先创建了三个虚拟机,固定IP之后,将每个虚拟机IP写入etc/hosts文件中,不会写的话,自行百度。
创建一个同名用户
在多个虚拟机中创建一个同名用户,我这里是had,密码也是had,好记一些
sudo useradd -m -d /home/had -u 10000 -s /bin/bash had
sudo passwd had
键入 had
创建用户完成,紧接着把新加的用户填入sudoers文件中
sudo vim /etc/sudoers
再root ALL=(ALL:ALL) ALL下一行加上对应用户
如had ALL=(ALL:ALL) ALL
(上面的操作肯定要做的,如果不把新用户填入sudoers,切换用户进行后续操作的时候,肯定会有提示,当然了你可以在创建虚拟机的时候就弄一个同名用户)
安装解压jdkHadoop,包括建立日志文件,数据文件。修改xml。
具体的文件包,没有让人恶心的百度云连接,网上自行查找下载
sudo tar -zxvf /opt/jdk-8u91-linux-x64.tar.gz -C /opt
sudo tar -xvf /opt/hadoop-3.0.3.tar -C /opt
cd /opt
sudo ln -s hadoop-3.0.3 hadoop
sudo ln -s jdk1.8.0_91 jdk
echo "export JAVA_HOME=/opt/jdk" >> /etc/profile
echo "export HADOOP_HOME=/opt/hadoop" >> /etc/profile
echo "export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" >> /etc/profile
(会出现权限问题,可以进入vim编辑,直接粘贴复制)
source /etc/profile
(可以线检测jdk和Hadoop时生效了没有,接下面的过程建议切换到had用户下操作)
echo "建立logs文件夹"
cd /opt/hadoop
sudo mkdir logs
sudo chomd 777 -R logs
(如果775,之后格式化遇到对logs文件没有权限(极有可能,提前改)修改为777 的权限)
had@datanode-2:/opt/hadoop$ sudo chown -R had logs/
had@datanode-2:/opt/hadoop$ sudo chgrp -R had logs/
(上面修改所属组和用户,一定要完成,不改的话,你可以试试后面启动ddfs时候,查看dfs日志上面的内容)
echo "建立data文件夹"
sudo mkdir /data
cd /data
sudo mkdir hadoop
cd hadoop
sudo mkdir hdfs yarn
cd /data/hadoop/hdfs
sudo mkdir dn nn snn
cd /data/hadoop/yarn
sudo mkdir logs nm
sudo chmod 777 -R /data/hadoop
修改拥有者和组
data文件夹
logs文件夹
下面修改所属用户和所属组
had@datanode-2:/data$ sudo chown -R had hadoop/
had@datanode-2:/data$ sudo chgrp -R had hadoop/
接下来是蟹盖几个xml文件,具体参考这位大哥的文章,我只列出需要修改的文件
这些文件在 /opt/hadoop/etc/hadoop下面。
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
workers(从节点的IP一定要写,你也可以试试主节点的IP写不写会发生什么)
格式化(这个基本上是一次性完成的内容,如果上面logs权限赋的少,在这里就会有提示)
hdfs namenode –format
注意过程中提示是否继续格式化
Yes注意大小写(这个提示,我在1804/1604上也还没有遇见过)
主节点和从节点都分别只格式化一次。
ssh免密登录
要做安装openssh,生成分发公钥
sudo apt install openssh-server
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
将公钥拷贝到从节点的需要无密码登陆的机器上去
例如:ssh-copy-id -i 192.168.93.201
注意:还要分发给本机
ssh-copy-id -i IP
.验证是否可以无密码登陆(都要验证一变)
ssh 192.168.93.200
完了
start-dfs.sh
start-yarn.sh
stop…
stop…
启动hdfs和yarn,然后你可以浏览网页
IP:9870和 IP:8088
网页上看看namenode和datanode在不在,链没连,柱状图,日志什么的(多看两眼)。
我是一边安装一遍排错的,所以上面的步骤都是在这些错误的基础上改正的,如果有人安装的时候遇到了我没有说明,那你就要自己学会查看日志,看shell上的提示,不要着急,慢慢来。