Hadoop 3.x 配置

缺少静态IP地址配置

自动时钟配置

crontab -e

0 1 * * * /user/sbin/ntpdate aliyun.com #01*** 之间有空格

如果 是 root@localhost

0 1 * * * /sbin/ntpdate aliyun.com


配置主机名

1.要永久设置主机名,你需要编辑/etc/hostname文件。

echo "主机名" >  /etc/hostname  # 地址可能不同

2.编辑/etc/hosts文件,确保主机名和IP地址的映射正确。

sudo vi /etc/hosts

确保文件中有类似以下内容:

127.0.0.1   localhost
127.0.1.1   myhostname

其中myhostname是你设置的主机名。

方法二

编辑network

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master  # 主机名

3.重启系统

为了使更改生效,建议重启系统:

sudo reboot
  1. 验证主机名

重启后,你可以使用以下命令验证主机名是否已正确设置:

hostname

或者:

hostnamectl

关闭防火墙

sudo systemctl disable firewalld  # 关闭防护墙

配置hosts列表

编辑hosts文件

# ip地址 用户名
例如:
192.168.127.130 master

测试:

ping 地址/用户名

JDK安装

解压 jdk

rpm -hvy jdk.rpm

jdk 路径/usr/java/jdk1.8.0_221-amd64 jdk1.8.0_221-amd64是你jdk名称

免密登录

生成密钥

ssh-keygen -t rsa

注释: 一直回车

复制公钥

cat .ssh/id_rsa.pub >> .ssh/authorized_keys

授权

chmod 600 .ssh/authorized_keys

传递密钥

scp .ssh/authorized_keys root@slave:/root/.ssh/
scp .ssh/authorized_keys root@slave1:/root/.ssh/   # 密码是对应账号密码

注意: 将三个系统密钥都要存储在authorized_keys中,三台系统都有备份

测试ssh连接

ssh slave  # 无需密码自动登录

Hadoop配置

解压 hadoop 文件命令

tar -zxvf hadoop-3.1.3   # hadoop 是压缩文件名

配置hadoop环境命令

vi  /etc/profile
# ==========文本添加内容==========
export HADOOP_HOME=/root/hadoop/hadoop-3.1.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#  ==启用
source /etc/profile

# +++++++++++++++++++++++
vi .bash_profile
# ================添加文本=========
export HADOOP_HOME=/root/hadoop/hadoop-3.1.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#  ==启用
source /etc/profile

hadoop-env.sh 配置

cd hadoop/hadoop-3.1.3/etc/hadoop/
vi hadoop-env.sh 
# ==========文本添加内容==========
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64

yarn-env.sh 配置

vi yarn-env.sh 
# ==========文本添加内容==========
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64

配置worker (slave[hadoop2.x])

vi worker
# ==========文本添加内容==========
master
slave
slave1   # 注意不可以有多余的空格

配置 core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- HDFS文件系统的入口地址信息 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9820</value>
    </property>
    
    <!-- HDFS文件系统数据落地到本地磁盘的路径信息,
         /root/hadoop_setup/hadoopdata 该路径需要提前创建,
         后面将在启动hadoop集群时统一创建 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop_setup/hadoopdata</value>
    </property>
</configuration>

配置 hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->

<configuration>
  <property>
      <name>dfs.namenode.http-address</name>
      <value>master:9870</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>slave:9868</value>
  </property>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
</configuration>

配置mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- MapReduce计算框架的资源交给YARN管理 -->
    <property>
        <name>yarn.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置 yarn-site.xml

<?xml version="1.0"?>
<configuration>
  <!-- 让yarn的容器支持mapreduce的洗牌,开启shuffle服务 -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  
  <!-- 启用resourcemanager ha -->
  <property>
    <name>yarn.resourcemanager.ha.enabled</name>
    <value>true</value>
  </property>
  
  <!-- 指定zookeeper集群的各个节点地址和端口号 --> 
  <property>
    <name>yarn.resourcemanager.zk-address</name>
    <value>master:2181,slave:2181,slave1:2181</value>
  </property>
  
  <!-- 启用自动恢复 --> 
  <property>
    <name>yarn.resourcemanager.recovery.enabled</name>
    <value>true</value>
  </property>
  
  <!-- 指定RM的状态信息存储在zookeeper集群 --> 
  <property>
    <name>yarn.resourcemanager.store.class</name>   
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
  </property>
  
  <!-- 声明两台resourcemanager的地址 -->
  <property>
    <name>yarn.resourcemanager.cluster-id</name>
    <value>cluster-yarn1</value>
  </property>
  
  <!-- 指定resourcemanager的逻辑列表 -->
  <property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
  </property>
  
  <!-- rm1的配置  -->
  <!-- 指定rm1的主机名 -->
  <property>
    <name>yarn.resourcemanager.hostname.rm1</name>
    <value>slave</value>
  </property>
  
  <!-- 指定rm1的web端地址 -->
  <property>
    <name>yarn.resourcemanager.webapp.address.rm1</name>
    <value>slave:8088</value>
  </property>
  
  <!-- 指定rm1的内部通信地址 -->
  <property>
    <name>yarn.resourcemanager.address.rm1</name>
    <value>slave:8032</value>
  </property>
  
  <!-- 指定AM向rm1申请资源的地址 -->
  <property>
    <name>yarn.resourcemanager.scheduler.address.rm1</name> 
    <value>slave:8030</value>
  </property>
  
  <!-- 指定供NM连接的地址 --> 
  <property>
    <name>yarn.resourcemanager.resource-tracker.address.rm1</name>
    <value>slave:8031</value>
  </property>
  
  <!-- rm2的配置 -->
  <!-- 指定rm2的主机名 -->
  <property>
    <name>yarn.resourcemanager.hostname.rm2</name>
    <value>slave1</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.webapp.address.rm2</name>
    <value>slave1:8088</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.address.rm2</name>
    <value>slave1:8032</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.scheduler.address.rm2</name>
    <value>slave1:8030</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.resource-tracker.address.rm2</name>
    <value>slave1:8031</value>
  </property>
  
  <!-- 环境变量的继承 -->
  <property>
    <name>yarn.nodemanager.env-whitelist</name>
    <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_MAPRED_HOME,HADOOP_YARN_HOME</value>
  </property>
  
  <!-- yarn容器允许分配的最大最小内存 -->
  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>512</value>
  </property>
  
  <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>1024</value>
  </property>
  
  <!-- yarn容器允许管理的物理内存大小 -->
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>1024</value>
  </property>
  
  <!-- 关闭yarn对物理内存的限制检查 -->
  <property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
  </property>
  
  <!-- 关闭yarn对虚拟内存的限制检查 -->
  <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
</configuration>

配置 yarn 环境

vi sbin/start-yarn.sh
# ==========文本添加内容==========
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
# ------------------------------
vi sbin/stop-yarn.sh
# ==========文本添加内容==========
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

配置 用户信息

vi hadoop/hadoop-3.1.3/sbin/start-dfs.sh 
# =========添加文本========
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

测试hadoop

#had 后 按 tab  补全 Hadoop
hadoop version

格式化

hdfs namenode  -format

启动

start-dfs.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值