概要说明
先看下效果
HDFS管理界面
Yarn管理界面
在上一篇博客大数据学习01之基于vbox 6.0搭建ubuntu 18.04伪集群的基础上安装伪分布式hadoop集群。
下载hadoop
去Apache官网下载hadoop2.x的最新版hadoop-2.9.2.tar.gz,现在hadoop3.x已经发布了,但是业界大部分还是2.x版,所以我这次还是用2.x版。放到共享目录vmshare,方便我们在虚拟机安装,如有不会怎么弄共享目录的,请查看大数据学习01之基于vbox 6.0搭建ubuntu 18.04伪集群#设置共享目录
安装hadoop
我们以hadoop0作为master,hadoop1,hadoop2作为slave。
登录hadoop0,新建目录:
mkdir ~/hadoop
将hadoop安装包解压到刚新建的hadoop目录:
tar xvf /media/cdrom/hadoop-2.9.2.tar.gz -C ~/hadoop
新建hdfs等相应的文件夹
mkdir ~/hadoop/dfs
mkdir ~/hadoop/dfs/name
mkdir ~/hadoop/dfs/data
mkdir ~/hadoop/tmp
修改hadoop-env.sh配置文件:
vim /home/hadoop/hadoop/hadoop-2.9.2/etc/hadoop/hadoop-env.sh
将export JAVA_HOME=
J
A
V
A
H
O
M
E
改
成
具
体
的
目
录
,
一
定
要
改
,
别
看
{JAVA_HOME}改成具体的目录,一定要改,别看
JAVAHOME改成具体的目录,一定要改,别看{JAVA_HOME}就是对应的Java目录,我这里是export JAVA_HOME=/usr/local/java/jdk1.8.0_221
修改slaves文件:
vim /home/hadoop/hadoop/hadoop-2.9.2/etc/hadoop/slaves
修改为hadoop1,hadoop2,这两个节点作为DataNode
修改/home/hadoop/hadoop/hadoop-2.9.2/etc/hadoop/core-site.xml文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop0:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
修改/home/hadoop/hadoop/hadoop-2.9.2/etc/hadoop/hdfs-site.xml文件:
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop0:9001</value>
<description>
访问hadoop0:50070也可以访问hadoop0:9001
</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
重命名mapred-site.xml.template为mapred-site.xml,修改/home/hadoop/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml文件:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop0:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop0:19888</value>
</property>
</configuration>
修改/home/hadoop/hadoop/hadoop-2.9.2/etc/hadoop/yarn-site.xml文件:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop0:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop0:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop0:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop0:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop0:8088</value>
</property>
</configuration>
复制到其它slave节点:
sudo scp -r ~/hadoop hadoop@hadoop1:~/
sudo scp -r ~/hadoop hadoop@hadoop2:~/
文件比较多,要会儿。
修改环境变量:
vim ~/.bashrc
在后面添加
export HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.9.2
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
重新启动下三台虚拟机。
启动hadoop集群
格式化:
hdfs namenode -format
启动hdfs:
start-dfs.sh
启动yarn:
start-yarn.sh
如下打印,表示启动成功:
访问:
http://192.168.1.102:50070/dfshealth.html#tab-overview
http://192.168.1.102:8088/cluster
就能看到开始的图了。
参考资料
https://my.oschina.net/u/697744/blog/518903
https://www.cnblogs.com/likui360/p/6558749.html
欢迎关注我的微信公众号