hadoop_集群搭建03-完全分布式-集群配置及启动
注:仅作笔记使用.
前提:hadoop_集群搭建02-安装jdk安装hadoop
未完 后续补
(一)编写集群分发脚本xsync
实现:循环复制文件到所有节点相同目录下
1)在user02家目录下新建bin/目录,再touch xsync
[user02@hadooop102 ~]$ mkdir bin
[user02@hadooop102 ~]$ cd bin
[user02@hadooop102 bin]$ touch xsync
[user02@hadooop102 bin]$ vim xsync
编写xsync脚本
参见 Shell_ODPS-D2-2-离线数仓集群分发、整体操作脚本xsync
(二)集群配置
集群部署规划
hadoop102 | hadoop03 | Hadoop104 | |
---|---|---|---|
HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManger | NodeManager |
配置集群
1)核心配置文件
配置core-site.xml文件
[user02$hadoop102]$ vim core-site.xml
编写配置
<configuration>
<!--指定hdfs中namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<!--指定hadoop运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
</configuration>
2)HDFS配置文件
配置hadoop-env.sh
[user02@hadoop102 hadoop]$ vim hadoop-env.sh
编写配置:
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置hdfs-site.xml
[user02@hadoop102 hadoop]$ vim hdfs-site.xml
编写配置
<configuration>
<!--指定副本数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--指定hadoop secondary namenode节点主机地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>
<!--可选 添加白名单。添加白名单的主机节点都允许访问namenode,不在白名单的主机节点都会被退出(需先手动创建一个dfs.host文件,主动退役时dfs.hosts.exclude)-->
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop2.7.2/etc/hadoop/dfs.hosts</value>
</property>
</configuration>
3)Yarn配置文件
配置yarn-env.sh
[user02@hadoop102 hadoop]$ vim yarn-env.sh
编写配置:
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml
<configuration>
<!--Reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定Yarn集群的ResourceManager-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
</configuration>
4)MapReduce配置文件
配置mapred-env.sh
[user02@hadoop102 hadoop]$ vim mapred-env.sh
编写配置:
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置mapred-site.xml
[user02@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[user02@hadoop102 hadoop]$ vim mapred-site.xml
编写配置
<configuration>
<!--指定MR运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在集群上分发配置好的hadoop文件
[user02@hadoop102 hadoop]$ xsync /opt/module/hadoop2.7.2/
查看文件分发情况
[user02@hadoop103 hadoop]$ cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
(三)集群单点启动
(四)SSH免密登录配置
- 配置ssh
- 基本语法
ssh 另一台机器的ip
- ssh连接时出现Host key verification failed 输入yes
- 无密钥配置
-
原理图省略
-
生成公钥和私钥
[user02@hadoop102 .ssh] $ ssh -keygen -t rsa
敲三个回车就会生成两个文件id_rsa(私钥)、id_rsa(公钥)
- 将公钥拷贝到钥免密登录的目标机器上
[user02@hadoop102 .ssh] $ ssh-copy-id hadoop102
[user02@hadoop102 .ssh] $ ssh-copy-id hadoop103
[user02@hadoop102 .ssh] $ ssh-copy-id hadoop104
root账号重复操作一遍
[root@hadoop102 .ssh] $ ssh -keygen -t rsa
[root@hadoop102 .ssh] $ ssh-copy-id hadoop102
[root@hadoop102 .ssh] $ ssh-copy-id hadoop103
[root@hadoop102 .ssh] $ ssh-copy-id hadoop104
- .ssh文件夹下(~/.ssh)的文件功能解释
know_hosts: 记录ssh访问过计算机的公钥
id_rsa: 生成的私钥
id_rsa.pub: 生成的公钥
authorized_keys: 存放授权过的无密登录服务器公钥
(五)群起集群
(六)集群启动/停止方式总结
- 各个服务组件逐一启动/停止
(1)分别启动/停止 HDFS 组件
hadoop-daemon.sh start / stop namenode / datanode / secondarynamenode
(2)启动/停止 YARN
yarn-daemon.sh start / stop resourcemanager / nodemanager
- 各个模块分开启动/停止(配置 ssh 是前提)常用
(1)整体启动/停止 HDFS
start-dfs.sh / stop-dfs.sh
(2)整体启动/停止 YARN
start-yarn.sh / stop-yarn.sh