Hadoop安装部署的三种模式

hadoop安装部署有以下三种模式:
本地模式
伪分布模式
全分布模式

安装之前操作:
1.修改主机名,设置好IP
2.设置hadoop的环境变量:
命令:vi ~/.bash_profile
```
### add for hadoop
HADOOP_HOME=/root/ubuntu/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
```
source ~/.bash_profile 让环境变量生效                 

一、本地模式

1.配置参数:

参数文件                配置参数            参考值
hadoop-env.sh   JAVA_HOME   /root/training/jdk1.8.0_144
特点:
机器一台,没有HDFS、只能测试MapReduce程序,MapReduce处理的是本地Linux的文件数据

2.实际操作:

修改配置:
vi hadoop-env.sh
25 export JAVA_HOME=/root/training/jdk1.8.0_144

3.测试MapReduce程序:
(1)、创建目录和原始数据data.txt
mkdir ~/input
vi ~/input/data.txt
编辑内容:
《Hadoop安装部署的三种模式》

(2)、运行和结果查看
例子:/root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt ~/output
《Hadoop安装部署的三种模式》

二、伪分布模式

1.参数配置:
《Hadoop安装部署的三种模式》
特点:
是在单机上,模拟一个分布式的环境
具备Hadoop的主要功能,可以用于学习使用
HDFS: namenode+datanode+secondarynamenode
Yarn: resourcemanager + nodemanager
2.实际操作:
(1)修改配置文件
. hdfs-site.xml
原则:一般数据块的冗余度跟数据节点(DataNode)的个数一致;最大不超过3

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

先不设置
<!--是否开启HDFS的权限检查,默认true-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
这里写代码片

core-site.xml

<!--配置NameNode地址,9000是RPC通信端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata111:9000</value>
</property>

<!--HDFS数据保存在Linux的哪个目录,默认值是Linux的tmp目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.7.3/tmp</value>
</property> 

mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml

<!--MR运行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> 

yarn-site.xml

<!--Yarn的主节点RM的位置,bigdata111为主机名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata111</value>
</property>

<!--MapReduce运行方式:shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> 

(2).格式化:HDFS(NameNode)
hdfs namenode -format
日志:
Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
《Hadoop安装部署的三种模式》
(3).启动停止Hadoop的环境
start-all.sh
《Hadoop安装部署的三种模式》

(4).访问:通过2个Web界面,如果能看到表示伪分布式环境搭建成功。
HDFS: http://192.168.17.111:50070
《Hadoop安装部署的三种模式》

Yarn: http://192.168.17.111:8088
《Hadoop安装部署的三种模式》

(5).stop-all.sh

注意:最好配置免密码登录

3.运行例子:

/root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
命令:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/0407
hdfs dfs -ls -R /out/0407
ubuntu@ubuntu ~/training/hadoop-2.7.3/tmp/dfs $ hdfs dfs -ls -R /output
drwxr-xr-x - ubuntu supergroup 0 2018-07-05 16:31 /output/0407
-rw-r--r-- 1 ubuntu supergroup 0 2018-07-05 16:31 /output/0407/_SUCCESS
-rw-r--r-- 1 ubuntu supergroup 56 2018-07-05 16:31 /output/0407/part-r-00000

ubuntu@ubuntu ~/training/hadoop-2.7.3/tmp/dfs $ hdfs dfs -cat /output/0407/part-r-00000
Beijing 2
China 2
I 2
captital 1
is 1
love 2
of 1
the 1

三、全分布模式

1.参数配置
《Hadoop安装部署的三种模式》

特点:
正在的分布式环境,用于生产

2.实际操作:
做好规划,三台机器

(1)、准备工作(3台均操作)

(*)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
(*)安装JDK
(*)配置主机名 vi /etc/hosts
192.168.17.112 bigdata112
192.168.17.113 bigdata113
192.168.17.114 bigdata114
(*)配置免密码登录:两两之间的免密码登录
    a. 每台机器产生自己的公钥和私钥
    ssh-keygen -t rsa
    b. 每台机器把自己的公钥给别人
    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114

(*)保证每台机器的时间同步
如果时间不一样,执行MapReduce程序的时候可能存在问题
在MTputty上使用date -s 2018-06-29

(2)、在主节点上(bigdata112)安装
a.解压设置环境变量

tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/

设置:112 113 114
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

b.修改配置文件
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
hdfs-site.xml

<!--表示数据块的冗余度,默认:3-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

core-site.xml

<!--配置NameNode地址,9000是RPC通信端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata112:9000</value>
</property>

<!--HDFS数据保存在Linux的哪个目录,默认值是Linux的tmp目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.7.3/tmp</value>
</property> 

mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml

<!--MR运行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> 

yarn-site.xml

<!--Yarn的主节点RM的位置-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata112</value>
</property>

<!--MapReduce运行方式:shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> 

slaves

bigdata113
bigdata114

(3) 格式化NameNode: hdfs namenode -format
(4) 把主节点上配置好的hadoop复制到从节点上
scp -r hadoop-2.7.3/ root@bigdata113:/root/training
scp -r hadoop-2.7.3/ root@bigdata114:/root/training
(5) 在主节点上启动 start-all.sh
《Hadoop安装部署的三种模式》
《Hadoop安装部署的三种模式》
运行wordcount程序:
《Hadoop安装部署的三种模式》
详细操作步骤可参考链接:

Apache hadoop集群安装的三种方式:本地、伪分布、完全分布:https://blog.csdn.net/qq_37873221/article/details/80240722

    原文作者:随我逐流
    原文地址: https://blog.csdn.net/qq_33890819/article/details/80945016
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞