Ubuntu18.04搭建Hadoop3.2分布式集群

该博客介绍在Ubuntu18.04环境下安装配置Hadoop3.2和JDK1.8的详细步骤。包括修改服务器主机名和hosts文件、配置免密登录,接着分别安装JDK1.8和Hadoop3.2并修改相关配置文件,最后还提及了Hadoop常用命令及浏览器查看端口变化。
  • 目录

运行环境

修改每台服务器的主机名

修改每台服务器的hosts文件

配置免密登录

安装jdk1.8

安装hadoop3.2

修改hadoop配置文件

hadoop常用命令


  • 运行环境

  • ubuntu18.04
  • hadoop3.2
  • jdk1.8

 

  • 修改每台服务器的主机名

    vim /etc/hostname
  • 4台服务器的主机名分别为 Master、Slave1、Slave2、Slave3
  • 保存修改后重启服务器

 

  • 修改每台服务器的hosts文件

    vim /etc/hosts
  • 添加以下内容
    [Master的ip] Master
    [Slave1的ip] Slave1
    [Slave2的ip] Slave2
    [Slave3的ip] Slave3

 

  • 配置免密登录

cd ~/.ssh

ssh-keygen -t rsa    # 有提示按回车即可

cat ./id_rsa.pub >> ./authorized_keys    # 把公钥添加到授权文件

       把 Slave1、Slave2、Slave3 的公钥添加到 Master 的授权文件后,再在 Slave1、Slave2、Slave3 做同样处理

 

  • 安装jdk1.8

  1. 下载jdk1.8  https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. 解压
    mkdir /usr/lib/jvm
    tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/lib/jvm
  3. 修改配置文件
    vim ~/.bashrc

    添加以下内容

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

    使修改生效

    source ~/.bashrc

 

  • 安装hadoop3.2

  1. 下载hadoop3.2 https://hadoop.apache.org/releases.html
  2. 解压
    tar zxvf hadoop-3.2.0.tar.gz -C /usr/local
    cd /usr/local
    mv hadoop-3.2.0 hadoop 
  3. 修改配置文件
    vim ~/.bashrc

          添加以下内容  

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

           使修改生效

source ~/.bashrc

 

  • 修改hadoop配置文件

  • 一共需要修改5个文件,位于 /usr/local/hadoop/etc/hadoop/
  • 配置 workers ,添加以下内容
Slave1
Slave2
Slave3
  • 配置 core-site.xml ,在 <configuration></configuration> 之间添加以下内容
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://Master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
</property>
  • 配置 hdfs-site.xml ,在 <configuration></configuration> 之间添加以下内容
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
  • 配置 mapred-site.xml ,在 <configuration></configuration> 之间添加以下内容
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</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>
  • 配置 yarn-site.xml ,在 <configuration></configuration> 之间添加以下内容
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
  • 配置启动脚本,添加 HDFSYarn 权限,位于/usr/local/hadoop/sbin
  • start-dfs.sh、stop-dfs.sh
    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
  • start-yarn.sh、stop-yarn.sh
    YARN_RESOURCEMANAGER_USER=root
    HDFS_DATANODE_SECURE_USER=yarn
    YARN_NODEMANAGER_USER=root
  • 把在 Master 配置好的hadoop压缩打包发送到 Slave1、Slave2、Slave3 
    cd /usr/local
    tar zcvf hadoop.tar.gz hadoop/
    scp hadoop.tar.gz root@Slave1:~
    scp hadoop.tar.gz root@Slave2:~
    scp hadoop.tar.gz root@Slave3:~
  • hadoop常用命令

    # 格式化
    hdfs namenode -format
    
    # 启动
    start-all.sh
    
    # 关闭
    stop-all.sh
    
    # 上传文件
    hdfs dfs -copyFromLocal [本地目录] [hdfs目录]
    
    # 下载文件
    hdfs dfs -get [文件路径]
    
    # 删除文件
    hdfs dfs -rm [文件路径]
    
    # 删除目录
    hdfs dfs -rm -r [目录路径]
    
    # 启动日志服务器
    mr-jobhistory-daemon.sh start historyserver
    
    # 关闭日志服务器
    mr-jobhistory-daemon.sh stop historyserver
  • 启动hadoop
    hadoop namenode -format # 格式化
    start-all.sh # 启动hadoop
  • 查看hadoop datanode状态
    hdfs dfsadmin -report
  • 浏览器查看,与hadoop2.x相比,hadoop3.x浏览器查看端口有所变化
  • Master:9870 查看datanode状态
  • Master:8088 查看job
  • Master:19888 查看日志服务器
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值