首页 > 其他分享 >hadoop全分布配置

hadoop全分布配置

时间:2023-03-18 15:25:03浏览次数:25  
标签:rw -- 配置 hadoop 分布 master 2015 root

实验前的安装部署

1.配置静态网络信息、

[root@master ~]# cd /etc/sysconfig/network-scripts/
[root@master network-scripts]# ls
ifcfg-ens33  ifdown-isdn      ifdown-tunnel  ifup-isdn    ifup-Team
ifcfg-lo     ifdown-post      ifup           ifup-plip    ifup-TeamPort
ifdown       ifdown-ppp       ifup-aliases   ifup-plusb   ifup-tunnel
ifdown-bnep  ifdown-routes    ifup-bnep      ifup-post    ifup-wireless
ifdown-eth   ifdown-sit       ifup-eth       ifup-ppp     init.ipv6-global
ifdown-ippp  ifdown-Team      ifup-ippp      ifup-routes  network-functions
ifdown-ipv6  ifdown-TeamPort  ifup-ipv6      ifup-sit     network-functions-ipv6
[root@master network-scripts]# vi ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.129
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=8.8.8.8
:wq
#重启网络
systemctl restart network

2.修改主机名

hostnamectl set-hostname master
bash

3.主机名与IP地址的映射关系

vi /etc/hosts
192.168.100.129   master
192.168.100.130   slave1
192.168.100.131   slave2
#保存退出后
ping master
ping slave1
ping slaver2

4.关闭防火墙

systemctl disable --now firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=diabled

5.无密码登陆

rpm -qa | grep openssh
rpm -qa | grep rsync
ssh-keygen -t rsa -P ''
#查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对
#将 id_rsa.pub 追加到授权 key 文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#交换 SSH 密钥
ssh-copy-id [email protected]
#远程登陆
ssh [email protected]

1. 实验一:hadoop 全分布配置

1.1. 实验目的

完成本实验,您应该能够:

掌握 hadoop 全分布的配置
掌握 hadoop 全分布的安装
掌握 hadoop 配置文件的参数意义

1.2. 实验要求

熟悉 hadoop 全分布的安装
了解 hadoop 配置文件的意义

1.3. 实验环境

本实验所需之主要资源环境如表 1-1 所示。
表 1-1 资源环境
服务器集群 单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘
运行环境 CentOS.7.3
服务和组件 服务和组件根据实验需求安装

1.4. 实验过程

1.4.1. 实验任务一:在 Master 节点上安装 jdk

1.4.1.1. 步骤一:解压缩 jdk-8u152-linux-x64.tar.gz 安装包到/usr 目录下
[root@master ~]# tar xf jdk-8u152-linux-x64.tar.gz  -C /usr/local/src/

1.4.1.2. 步骤二:将 jdk-8u152-linux-x64.tar.gz 文件夹重命名为jdk
[root@master ~]# cd /usr/local/src
[root@master src]# ls
hadoop  jdk1.8.0_152
[root@master src]# mv jdk1.8.0_152/ jdk
[root@master src]# ls
hadoop  jdk

1.4.1.3. 步骤三:配置 jdk 环境变量
#进入vi /etc/profile.d/jdk.sh
[root@master src]# cat /etc/profile.d/jdk.sh
#输入
export JAVA_HOME=/usr/local/src/jdk
export PATH=${JAVA_HOME}/bin:$PATH
#生效
[root@master src]# bash
#查看是否生效
[root@master src]# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

#安装hadoop过程跟安装jdk一样

1.4.1.4. 步骤四:创一个Hadoop 用户
[root@master src]# useradd hadoop
[root@master src]# echo 'qwerty' | passwd --stdin hadoop 
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.

1.4.1.5. 步骤五:执行以下命令修改 hadoop-env.sh 配置文件。
[root@master ~]# cd /usr/local/src/hadoop/etc/hadoop/
#将JAVA_HOME改成/usr/local/src/jdk

export JAVA_HOME=/usr/local/src/jdk

image-20230302105750375

1.4.2. 实验任务二:配置 hdfs-site.xml 文件参数

执行以下命令修改 hdfs-site.xml 配置文件。
[root@master hadoop]# vi hdfs-site.xml 

#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<configuration>
    <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/usr/local/src/hadoop/dfs/name</value>
    </property>
    <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/usr/local/src/hadoop/dfs/data</value>
    </property>
    <property>
          <name>dfs.replication</name>
          <value>3</value>
    </property>
 
</configuration>
~                                                          
对于 Hadoop 的分布式文件系统 HDFS 而言,一般都是采用冗余存储,冗余因子通常为 3,也就是说,一份数据保存三份副本。所以,修改 dfs.replication 的配置,使 HDFS 文件 的备份副本数量设定为 3 个。

#提前建好data,name的文件夹

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/{name,data}

[root@master hadoop]# ll /usr/local/src/hadoop/dfs
total 0
drwxr-xr-x 2 root root 6 Mar  2 11:15 data
drwxr-xr-x 2 root root 6 Mar  2 11:15 name

1.4.3. 实验任务三:配置 core-site.xml 文件参数

执行以下命令修改 core-site.xml 配置文件。
[root@master hadoop]# vi core-site.xml 

#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
         <name>fs.defaultFS</name>
         <value>hdfs://master</value>
    </property>
    <property>
         <name>io.file.buffer.size</name>
         <value>131072</value>
    </property>
    <property>
         <name>hadoop.tmp.dir</name>
         <value>file:/usr/local/src/hadoop/tmp</value>
    </property>

</configuration>

如没有配置 hadoop.tmp.dir 参数,此时系统默认的临时目录为:/tmp/hadoop-hadoop。 该目录在每次 Linux 系统重启后会被删除,必须重新执行 Hadoop 文件系统格式化命令,否 则 Hadoop 运行会出错。

#提前建好tmp的文件夹

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/tmp
[root@master hadoop]# ll /usr/local/src/hadoop
total 28
drwxr-xr-x. 2 10021 10021   194 Jun 29  2015 bin
drwxr-xr-x  4 root  root     30 Mar  2 11:15 dfs
drwxr-xr-x. 3 10021 10021    20 Jun 29  2015 etc
drwxr-xr-x. 2 10021 10021   106 Jun 29  2015 include
drwxr-xr-x. 3 10021 10021    20 Jun 29  2015 lib
drwxr-xr-x. 2 10021 10021   239 Jun 29  2015 libexec
-rw-r--r--. 1 10021 10021 15429 Jun 29  2015 LICENSE.txt
-rw-r--r--. 1 10021 10021   101 Jun 29  2015 NOTICE.txt
-rw-r--r--. 1 10021 10021  1366 Jun 29  2015 README.txt
drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 sbin
drwxr-xr-x. 4 10021 10021    31 Jun 29  2015 share
drwxr-xr-x  2 root  root      6 Mar  2 11:48 tmp

1.4.4. 实验任务四:配置 mapred-site.xml

在“/usr/local/src/hadoop/etc/hadoop”目录下有一个 mapred-site.xml.template, 需要修改文件名称,把它重命名为 mapred-site.xml,然后把 mapred-site.xml 文件配置成 如下内容。
执行以下命令修改 mapred-site.xml 配置文件。
#确保在该路径下执行此命令
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vi mapred-site.xml

#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>  
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
    </property>
    <property>
         <name>mapreduce.jobhistory.address</name>
         <value>master:10020</value>
    </property>
    <property>
         <name>mapreduce.jobhistory.webapp.address</name>
         <value>master:19888</value>
    </property>

</configuration>

Hadoop 提供了一种机制,管理员可以通过该机制配置 NodeManager 定期运行管理员提 供的脚本,以确定节点是否健康。 管理员可以通过在脚本中执行他们选择的任何检查来确定节点是否处于健康状态。如果 脚本检测到节点处于不健康状态,则必须打印以字符串 ERROR 开始的一行信息到标准输出。 NodeManager 定期生成脚本并检查该脚本的输出。如果脚本的输出包含如上所述的字符串 ERROR,就报告该节点的状态为不健康的,且由 NodeManager 将该节点列入黑名单,没有进 一步的任务分配给这个节点。但是,NodeManager 继续运行脚本,如果该节点再次变得正常, 该节点就会从 ResourceManager 黑名单节点中自动删除。节点的健康状况随着脚本输出,如 果节点有故障,管理员可用 ResourceManager Web 界面报告,节点健康的时间也在 Web 界面 上显示。

1.4.5. 实验任务五:配置 yarn-site.xml

执行以下命令修改 yarn-site.xml 配置文件。
[root@master hadoop]# vi yarn-site.xml 

#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<configuration>
    <property>
         <name>yarn.resourcemanager.address</name>
         <value>master:8032</value>
    </property>
    <property>
         <name>yarn.resourcemanager.scheduler.address</name>
         <value>master:8030</value>
    </property>
    <property>
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>master:8031</value>
    </property>
    <property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>master:8033</value>
    </property>
    <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>master:8088</value>
    </property>
    <property>
         <name>yarn.resourcemanager.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>

1.4.6. 实验任务六:Hadoop 其它相关配置

1.4.6.1. 步骤一:配置 masters 文件
执行以下命令修改 masters 配置文件。
[root@master hadoop]# vi master

[root@master hadoop]# cat master
192.168.100.129   

1.4.6.2. 步骤二:配置 slaves 文件
#删除 localhost,加入以下配置信息
[root@master hadoop]# vi slaves
[root@master hadoop]# cat slaves
192.168.100.130
192.168.100.131
1.4.6.4. 步骤三:修改目录权限
[root@master hadoop]# chown -R hadoop:hadoop /usr/local/src/hadoop
[root@master hadoop]# ll
total 160
-rw-r--r--. 1 hadoop hadoop  4436 Jun 29  2015 capacity-scheduler.xml
-rw-r--r--. 1 hadoop hadoop  1335 Jun 29  2015 configuration.xsl
-rw-r--r--. 1 hadoop hadoop   318 Jun 29  2015 container-executor.cfg
-rw-r--r--  1 hadoop hadoop  1123 Mar  2 11:48 core-site.xml
-rw-r--r--. 1 hadoop hadoop  3670 Jun 29  2015 hadoop-env.cmd
-rw-r--r--  1 hadoop hadoop  4230 Mar  2 10:59 hadoop-env.sh
-rw-r--r--. 1 hadoop hadoop  2598 Jun 29  2015 hadoop-metrics2.properties
-rw-r--r--. 1 hadoop hadoop  2490 Jun 29  2015 hadoop-metrics.properties
-rw-r--r--. 1 hadoop hadoop  9683 Jun 29  2015 hadoop-policy.xml
-rw-r--r--. 1 hadoop hadoop   775 Jun 29  2015 hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop  1449 Jun 29  2015 httpfs-env.sh
-rw-r--r--. 1 hadoop hadoop  1657 Jun 29  2015 httpfs-log4j.properties
-rw-r--r--. 1 hadoop hadoop    21 Jun 29  2015 httpfs-signature.secret
-rw-r--r--  1 hadoop hadoop   993 Mar  2 11:11 httpfs-site.xml
-rw-r--r--. 1 hadoop hadoop  3518 Jun 29  2015 kms-acls.xml
-rw-r--r--. 1 hadoop hadoop  1527 Jun 29  2015 kms-env.sh
-rw-r--r--. 1 hadoop hadoop  1631 Jun 29  2015 kms-log4j.properties
-rw-r--r--. 1 hadoop hadoop  5511 Jun 29  2015 kms-site.xml
-rw-r--r--. 1 hadoop hadoop 11237 Jun 29  2015 log4j.properties
-rw-r--r--. 1 hadoop hadoop   951 Jun 29  2015 mapred-env.cmd
-rw-r--r--. 1 hadoop hadoop  1383 Jun 29  2015 mapred-env.sh
-rw-r--r--. 1 hadoop hadoop  4113 Jun 29  2015 mapred-queues.xml.template
-rw-r--r--  1 hadoop hadoop  1100 Mar  2 12:00 mapred-site.xml
-rw-r--r--. 1 hadoop hadoop   758 Jun 29  2015 mapred-site.xml.template
-rw-r--r--  1 hadoop hadoop    19 Mar  2 12:17 masters
-rw-r--r--  1 hadoop hadoop    32 Mar  2 12:21 slaves
-rw-r--r--. 1 hadoop hadoop  2316 Jun 29  2015 ssl-client.xml.example
-rw-r--r--. 1 hadoop hadoop  2268 Jun 29  2015 ssl-server.xml.example
-rw-r--r--. 1 hadoop hadoop  2250 Jun 29  2015 yarn-env.cmd
-rw-r--r--. 1 hadoop hadoop  4567 Jun 29  2015 yarn-env.sh
-rw-r--r--  1 hadoop hadoop  1551 Mar  2 12:14 yarn-site.xml

1.4.6.5. 步骤四:同步配置文件到 Slave 节点
上述配置文件全部配置完成以后,需要执行以下命令把 Master 节点上的 “/usr/local/src/hadoop”文件夹复制到各个 Slave 节点上,并修改文件夹访问权限。
[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/

[root@master ~]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/
The authenticity of host 'slave2 (192.168.100.131)' can't be established.
ECDSA key fingerprint is SHA256:PBtGVMglru206eEDbi9G1WgfQEtCgE78HO8doBP7hl4.
ECDSA key fingerprint is MD5:0e:4f:4f:70:7f:5f:1f:a2:a2:78:4f:37:a4:b3:fa:86.
Are you sure you want to continue connecting (yes/no)? yes


1.4.6.5. 步骤五:在Slave1 节点,slave2节点上新建hadoop用户
[root@slave1 ~]# useradd hadoop
[root@slave1 ~]# echo "qwerty" | passwd --stdin hadoop
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.

[root@slave2 ~]# useradd hadoop
[root@slave2 ~]# echo "qwerty" | passwd --stdin hadoop
Changing password for user hadoop.
passwd: all authentication tokens updated successfully.

1.4.6.5. 步骤六:将环境变量同步配置文件到 Slave 节点
[root@master ~]# scp /etc/profile.d/jdk.sh root@slave1:/etc/profile.d/
jdk.sh                                                      100%   71    43.2KB/s   00:00    
[root@master ~]# scp /etc/profile.d/jdk.sh root@slave2:/etc/profile.d/
jdk.sh                                                      100%   71    53.0KB/s   00:00    
[root@master ~]# scp /etc/profile.d/hadoop.sh root@slave2:/etc/profile.d/
hadoop.sh                                                   100%   98    76.2KB/s   00:00    
[root@master ~]# scp /etc/profile.d/hadoop.sh root@slave1:/etc/profile.d/
hadoop.sh                                                   100%   98    79.3KB/s   00:00    

标签:rw,--,配置,hadoop,分布,master,2015,root
From: https://www.cnblogs.com/shuangmu668/p/17230823.html

相关文章

  • hadoop集群运行
    无密码登录[hadoop@masterhadoop]$rpm-qa|grepopensshopenssh-server-7.4p1-16.el7.x86_64openssh-clients-7.4p1-16.el7.x86_64openssh-7.4p1-16.el7.x86_64[h......
  • SSH 无密码验证配置
    SSH无密码验证配置2.1.实验目标完成本实验,您应该能够:掌握SSH无密钥登录配置2.2.实验要求熟悉SSH无密钥登录配置2.3.实验环境本实验所需之主要资源环境如表......
  • tesseract-ocr下载安装与配置
    1:下载地址:https://digi.bib.uni-mannheim.de/tesseract/2:安装,一直下一步3:配置环境变量,tesseract-ocr安装成功之后,找到tesseract-ocr安装位置,加入到环境变量的path变量......
  • allure的安装配置、使用
    一、安装配置JDK说明:先检查是否安装JDK,cmd中查看java版本:java-version  若未安装,下方以win10系统为例:1、Oracle官网下载JDK:https://www.oracle.com/java/techn......
  • LVS+keepalived配置高可用架构和负载均衡机制(2)
    一、概述接上文,实际生产场景中,往往存在硬件资源数量的限制,此时需要设置DS节点复用RS节点。所以往往最常见的架构如下图所示:3台主机组建真实服务器集群,即3个RS2个RS兼......
  • SpringBoot——自定义自动配置与起步依赖
    SpringBoot——自定义自动配置与起步依赖SpringBoot为我们提供了灵活强大的自动配置与起步依赖功能,接下来我们参考其实现原理,实现专属于我们自己的自动配置与起步依赖。......
  • maven常用命令和配置
     mavenpom中的parent标签:parent标签类似java中的继承,复用依赖,减少冗余配置 使用场景(when):在多模块(module)的项目中,有很多模块中的pom中存在相同的引用,如果此时声明一......
  • Vue-Cli devServer.proxy 配置代理服务,解决跨域请求报错的问题
    如果你的前端应用和后端API服务器没有运行在同一个主机上,你需要在开发环境下将API请求代理到API服务器。这个问题可以通过 vue.config.js 中的 devServer.proxy ......
  • Springboot中redis的配置和使用
    1、引入依赖Springboot中可以引入整合的redis的starter依赖如:<!--springboot整合redis,包含了spring-data-redis--><dependency><groupId>org.s......
  • mtk flash配置
    在mtk的flashexcel配置表中有些专业名称,在如下的文档中有详细的描写,对配置新的flash都是有帮助的一、对clock的基本认识   第七部分是“clock&powermanagement”,......