1、相关软件的下载与安装
本文章所用到的工具 为
VMware Workstation Pro15
Ubuntu 镜像: ubuntu-16.04.7-desktop-amd64.iso
jdk : jdk-8u321-linux-x64.tar.gz
hadoop : hadoop-2.7.3.tar.gz
建议用 Xshell 和 Xftp 工具 进行操作 (注意事项 Xftp 采用的协议为 SFTP )
相关软件下载在文章最后
文章中所有的配置文件路径,请根据个人实际情况填写,本文都在 /home/hadoop 路径下
本文 hadoop 和 jdk 没有创建软连接 ,如有需要可自行创建
jdk 软连接
ln -s jdk1.8.0_171 jdk
hdaoop软连接
ln -s hadoop-2.7.3 hadoop
2、完全分布式的搭建
1、防火墙操作
1、关闭防火墙
sudo ufw disable
2、查看防火墙·状态
sudo ufw status
2、安装SSH
1、SSH 客户端查看是否安装
sudo dpkg -l | grep ssh
SSH 客户端一般是默认安装好的,如果返回包含“openssh-client”的字样,说明已经安装SSH客户端软件,
否则用 sudo apt-get install openssh-client 安装
2、SSH 服务端安装
sudo apt-get install openssh-server
3、 重启SSH 服务
sudo /etc/init.d/ssh restart
3、jdk的 安装
1、解压
tar -zxvf jdk-8u321-linux-x64.tar.gz
2、配置环境变量
打开 ~ 下的 bashrc 文件
vi .bashrc
并在文件内容末尾加入
export JAVA_HOME=/home/hadoop/jdk1.8.0_321
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
export PATH=${JAVA_HOME}/bin:$PATH
3、使上述配置生效
source ~/.bashrc
4、检验是否安装成功
java -version
显示路径
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
4、hadoop 的安装
1、解压
tar -zxvf hadoop-2.7.3.tar.gz
2、配置环境变量
打开 ~ 下的 bashrc 文件
vi .bashrc
并在文件内容末尾加入
export HADOOP_HOME=/home/hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3、让配置生效
source .bashrc
4、检验是否安装成功
whereis hdfs
whereis start-all.sh
结果分别输出
hdfs: /home/hadoop/hadoop-2.7.3/bin/hdfs.cmd /home/hadoop/hadoop-2.7.3/bin/hdfs
start-all: /home/hadoop/hadoop-2.7.3/sbin/start-all.sh /home/hadoop/hadoop-2.7.3/sbin/start-all.cmd
5、克隆主机
方式为完整克隆
注意更改路径
一共克隆 三 次分别为node1、 node2 和 node3
6、修改主机名
1、分别修改三台机器名称为 node1 、node2、node3
依次修改三台虚拟机
修改命令
sudo vi /etc/hostname
(以一台主机为例)并将文件内容更改为 node1,另外两台分别改为 node2 和 node3
2、重启使之生效
sudo reboot
另外两台 同理
7、
映射IP地址及主机名
对3台虚拟机,依次修改/etc/hosts文件
打开
sudo vi /etc/hosts
在文件末尾添加如下内容
192.168.184.166 node1
192.168.184.167 node2
192.168.184.168 node3
(注意 IP 地址要改为自己的)
8、免密登录设置
以 node1 为例
1、在node1主机生成密钥对
ssh-keygen -t rsa
键入上面一条命令后连续敲击三次回车键
可使用 ls .ssh 命令 查看
2、将node1公钥id_rsa.pub复制到node1、node2和node3主机上
分别在node1、node2、node3主机上生成公钥/私钥密钥对,然后将公钥发送给集群内的所有主机
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3
3、验证免密登录
ssh node1
ssh node2
ssh node3
用 exit 退出 (注意主机名和路径的该变)
若需求的话,可以在node2 和 node3 上仿照上面步骤也配置一下
9、安装 NTP 服务
1、安装命令
sudo apt-get install ntp
2、查看是否运行
sudo dpkg -l | grep ntp
若出现 ntp 字样,则正在运行
10、设置 hadoop配置文件
注意是在 node1中操作
进入 配置文件路径中
cd hadoop-2.7.3/etc/hadoop
1、hadoop-env.sh 文件
更改JAVA_HOME=为自己JDK路径,如果JAVA_HOME=前面有 # 则将#去掉
打开
vim hadoop-env.sh
#找到并修改为
# The java implementation to use.
export JAVA_HOME=/home/hadoop/jdk1.8.0_321
2、core-site.xml 文件
打开
vim core-site.xml
并在<configuration></configuration> 写入
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
<!-- 以上ip地址或主机名要按实际情况修改 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value> <!--用户名是自己的用户名-->
</property>
</configuration>
3、hdfs-site.xml文件
vim hdfs-site.xml
并在<configuration></configuration> 写入
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4、mapred-site.xml文件
首先复制mapred-site.xml.template,生成mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
然后打开 mapred-site.xml
vim mapred-site.xml
并将<configuration></configuration> 内容改为
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5、yarn-site.xml文件
vi yarn-site.xml
并将<configuration></configuration> 内容改为
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
<!-- 以上主机名或IP地址按实际情况修改 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6、更改slaves
vim slaves
删除原有内容并写入
node2
node3
7、node1 向 node2 和 node3 分发文件
进入下面路径
cd /home/hadoop/hadoop-2.7.3/etc/
依次输入
scp -r hadoop hadoop@node2:/home/hadoop/hadoop-2.7.3/etc/
scp -r hadoop hadoop@node3:/home/hadoop/hadoop-2.7.3/etc/
注意node2 和 node3 的路径
3、启动
1、格式化 hdfs
hdfs namenode -format
只格式化一次,以后都不要格式化,否则会少 datanode 节点
2、在 node1 上启动 HDFS 和 YARN
cd hadoop-2.7.3/sbin
start-all.sh
3、查看进程
jsp
结果 :三个进程 NameNode、SecondaryNameNode 、ResourceManager
分在node2 和 node3 中输入 jps 命令,各有两个进程· NodeManager 、DataNode
4、Web访问
查看NameNode和DataNode信息 : http://192.168.184.166:50070
查看SecondaryNameNode信息 : http://192.168.184.166:50090
YARN Web界面 : http://192.168.184.166:8088
最后 和大家分享一下 相关软件的下载途径:
个人建议最好去官网上下在,这是一种能力,需要锻炼
而且还可以防止病毒啥的
下载连接:
WMware https://www.vmware.com/cn/products/workstation-pro.html
为了方便我还 将 WMware 及 密钥放在 百度网盘里了 ,有需要的小伙伴可以自行下载,链接:https://pan.baidu.com/s/1hqe-sT7M9xoaXnlhipLYVw?pwd=mucf
提取码:mucf
Ubuntu 镜像 http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/
Xshell 和 Xftp https://51.ruyo.net/test/download_xshell_xftp.html
hadoop 2.7.3 https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/
jdk 1.8.0_321 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
担心有的小伙伴会如果找不到 jdk 1.8.0_321 ,小编给出了百度网盘连接 :
链接:https://pan.baidu.com/s/1SR0M7zmmanZGbsdaE9vayg?pwd=mucf
提取码:mucf