1.Standalone/local
独立/本地模式
所有的程序运行在一个JVM中,不需要启动hadoop的进程.应用的文件系统就是本地文件系统.
2.Pseudodistributed mode
伪分布模式
完全类似于完全分布式,但是只有一个节点.
[配置过程]
a.core-site.xml修改
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost</value>
</property>
</configuration>
b.对hdfs-site.xml修改(主要是用来指定集群中数据块的副本系数)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
c.对mapred-site.xml修改
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
d.对yarn-site.xml 修改
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
e.SSH
ssh免密码登录的原理:
A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开!
1.安装ssh
$>sudo apt-get install ssh
2.生成密钥对
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
查看生成的公私密钥
$>cd ~/.ssh
3.导入公钥数据到授权库
$>cat id_rsa.pub >> ~/.ssh/authorized_keys
4.登陆到localhost
$>ssh localhost
$>....yes
$>exit
$>ssh localhost //不需要密码
f.格式化hdfs文件系统
$>hadoop namenode -format
g.启动所有进程
$>start-all.sh
h.查看进程
$>jps 5个进程
i.查看文件系统
$>hadoop fs -ls
j.创建文件系统
$>hadoop fs -mkdir -p /user/ubunt/data/
3.Full distributed mode
完全分布式
a.准备5台客户机
b.安装jdk
c.配置环境变量
JAVA_HOME PATH
d.安装hadoop
e.配置环境变量
HADOOP_HOME PATH
f.安装ssh
g.配置文件
[/soft/hadoop/etc/hadoop/core-site.xml]
fs.default.name=hdfs://s100/
[/soft/hadoop/etc/hadoop/hdfs-site.xml]
dfs.replication=3
[/soft/hadoop/etc/hadoop/yarn-site.xml]
yarn.resourcemanager.hostname=s100
[/soft/hadoop/etc/hadoop/workers]
s101 s102 s103
[/soft/hadoop/etc/hadoop/hdfs-site.xml]
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>s104:9868</value>
</property>
h.在集群上分发以上三个文件
i.修改本地的临时目录
1.修改hadoop.tmp.dir
[/soft/hadoop/etc/hadoop/core-site.xml]
<property>
<name>hadoop.tmp.dir</name>
<value>/home/ubuntu/hadoop</value>
</property>
2.停止进程
$>stop-all.sh
3.分发core-site.xml
$>xsync core-site.xml
4.格式化
$>hadoop namenode -format
5.启动进程
$>start-all.sh
NameNode的本地目录配置成多个,则每个目录存放内容相同,可靠性.
[hdfs-site.xml]
dfs.namenode.name.dir=file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2
DataNode也可以配置多个目录,不是副本.
[hdfs-site.xml]
dfs.datanode.data.dir=file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2
hadoop 本地模式/伪分布模式/完全分布式配置
最新推荐文章于 2023-01-03 00:15:43 发布