上一篇:078-BigData-06hadoop架构及环境搭建
一、hadoop伪分布式
SSH无密码登录
ssh-keygen -t rsa
image.png
回车确定,或者指定特定目录也行。
将公钥拷贝到要免密登录的目标机器上:
ssh-copy-id 主机名1
ssh-copy-id 主机名2
ssh-copy-id 主机名3
完成后
image.png image.png image.png- .ssh文件夹下的文件功能解释
(1)~/.ssh/known_hosts :记录ssh访问过计算机的公钥(public key)
(2)id_rsa :生成的私钥
(3)id_rsa.pub :生成的公钥
(4)authorized_keys :存放授权过得无秘登录服务器公钥
二、配置集群
1、伪分布式只有一台机器,所以配置全在一台机器上。
2、分布式准备架构:
image.png3、配置文件(超级重点)
core-site.xml配置:
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.X.X/data/tmp</value>
</property>
hdfs-site.xml配置:
<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--secondary的地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>主机名1:50090</value>
</property>
<!--关闭权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
yarn-site.xml配置:
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主机名1</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
mapred-site.xml配置:
<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>主机名1:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>主机名1:19888</value>
</property>
hadoop-env.sh、yarn-env.sh、mapred-env.sh(分别在这些的文件中添加下面的路径):
自己的路径
export JAVA_HOME=/opt/soft/jdk1.8.0_144
slaves:
bigdata131、bigdata132、bigdata133(自己设置的主机名)
- 格式化Namenode:
刚开始用的时候需要格式化,以后都不需要了
hdfs namenode -format
对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。
附:格式化做了哪些事情?
在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件
hadoop.tmp.dir 这个配置,会让dfs.name.dir和dfs.name.edits.dir会让两个目录的文件生成在一个目录里
- 启动集群得命令:
Namenode的主节点:
sbin/start-dfs.sh
Yarn的主节点:
sbin/stop-yarn.sh
注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。
附: scp文件传输:
实现两台远程机器之间的文件传输(bigdata132主机文件拷贝到bigdata133主机上)
scp -r [文件] 用户@主机名:绝对路径
三、测试
分布式搭好了之后
启动后。网站访问试试:
192.168.30.131:50070
image.png
然后:
192.168.30.132:8088
image.png
这2个关键端口要记住:50070和8088
网友评论