linux 伪分布(master,slave1,slave2)安装Hadoop3.1.3

学习目标:

     能够通过步骤提醒,完成 hadoop3.1.3 的伪分布式安装


安装前提准备:

  1. master,slave1,slave2 已经安装jdk,并配置好环境变量(/etc/profile)
  2. 三台虚拟机已经配置 ssh 免密登录(目的:集群的整体启停不需要输入密码)
  3. 准备好 hadoop-3.1.3.tar.gz 安装包在/opt/software目录下

集群规划:

主机角色
masternanenode datanode resourcemanager nodemanager
slave1sencondarynamenode datanode nodemanager
slave2datanode nodemanager

安装正文部分:

(注:三台配置一样可以单独配,也可以配好master传到slave1,slave2)

1.解压安装包在/opt/module目录下(这里我是习惯将安装包放/opt/software目录下,将解压后的软件文件放/opt/module目录下)
tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/
 2.改个名字因为方便一点,把后面版本号改掉
mv /opt/module/hadoop-3.1.3/ /opt/module/hadoop
 3.配置系统环境变量
vim /etc/profile

4.设置几个配置文件
  • core-site.xml
<property>

       <name>hadoop.tmp.dir</name>
 
       <value>file:/opt/module/hadoop/tmp</value>
 
       <description>location to store temporary files</description>
 
</property>
 
<property>
 
       <name>fs.defaultFS</name>
 
       <value>hdfs://master:9000</value>
 
</property>
  • hdfs-site.xml

<property>
      <name>dfs.namenode.http-address</name>
      <value>master:9870</value>
 </property>
 <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>slave1:50090</value>
 </property>
 <property>
      <name>dfs.replication</name>
      <value>2</value>
 </property>
 <property>
      <name>dfs.namenode.name.dir</name>
      <value>/opt/tmp/dfs/name</value>
 </property>
 <property>
      <name>dfs.datanode.data.dir</name>
      <value>/opt/tmp/dfs/data</value>
 </property>

  • yarn-site.xml
 <property>
    <name>yarn.resourcemanager.hostsname</name>
    <value>master</value>
 </property>
 <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8088</value>
 </property>
 <property>
    <name>yarn.nodemanager.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>
 <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
 </property>
 <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>106800</value>
 </property>
 <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/user/hadoopcontainer/logs</value>
 </property>

  • mapred-site.xml
 <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
 </property>
 <property>
     <name>mapreduce.jobhistory.address</name>
     <value>slave2:10020</value>
 </property>
 <property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>slave2:19888</value>
 </property>
 <property>
     <name>mapreduce.jobhistory.intermediate-done-dir</name>
     <value>${hadoop.tmp.dir}/mr-history/tmp</value>
 </property>
 <property>
     <name>mapreduce.jobhistory.done-dir</name>
     <value>${hadoop.tmp.dir}/mr-history/done</value>
 </property>

  • hadoop-env.sh 
vim /opt/module/hadoop/etc/hadoop/hadoop-env.sh

# 修改这句代码
export JAVA_HOME=/opt/module/jdk1.8.0_152
  • yarn-env.sh 
vim /opt/module/hadoop/etc/hadoop/yan-env.sh

# 添加java路径进去
export JAVA_HOME=/opt/module/jdk1.8.0_152 

 

  • 配置workers文件
vim /opt/module/hadoop/etc/hadoop/workers 

5.检查文件hadoop目录有没写入权限(没用用chmod命令添加),并格式化namenode只在master主节点上格式化(没有Error就成功了,有的话查看具体报错原因并找寻解决方法)
hdfs namenode -format

6. 启停集群
# 启动集群
start-all.sh

报错:

这是因为hadoop这个软件想到一些安全问题就会限制 root,而我们又没有定义,出现权限问题,解决方法:

vim /etc/profile 

# 加入以下代码
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

# 刷新环境变量,刷新环境变量,刷新环境变量,这很!!!!!!!重要
source /etc/profile

启动成功,并查看各节点进程:

停止集群命令,并查看进程是否停止:

 


结束啦!!祝你好运 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值