栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

hadoop运维

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

hadoop运维

hadoop完全分布式集群搭建
  • 环境准备
  • 安装zookeeper
    • 下载zookeeper安装包
    • 解压安装包
    • 创建zookeeper配置文件(conf/zoo.cfg)
    • 启动zookeeper
  • 安装hadoop
    • 下载hadoop安装包
    • 解压安装包
    • 修改配置文件
    • 分发安装包,将hadoop的安装包传输到其他的机器
    • 启动journalnode
    • 格式化zkfc并启动(hadoop1)
    • 格式化namenode并启动(hadoop1)
    • 复制元数据到secondarynode(hadoop2)
    • 启动全部服务
  • 验证
    • hadoop原生页面
    • yarn 原生页面
    • 提交mapreduce测试程序:

环境准备

安装vmware workstation软件(略)
在vmware workstation中创建虚拟机(略)
集群安装规划:

主机名IP地址namenodedatanodezookeeperjournalnodezkfcresourcemanagernodemanager
hadoop1192.168.8.2yesyesyesyesyesyesyes
hadoop2192.168.8.3yesyesyesyesyesyesyes
hadoop3192.168.8.4noyesyesyesnonoyes
  1. 修改主机名
 hostname hadoop1
 echo hadoop1 > /etc/hostname

说明:三台机器都需要操作
2. 配置IP地址和主机名映射
执行:ip a 查看本机ip地址(例如:192.168.8.2)

echo 192.168.8.2 hadoop1 >> /etc/hosts

说明:三台机器都需要操作
3. 关闭selinux

setenforce 0
 sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux

说明:三台机器都需要操作
4. 关闭防火墙

 systemctl disable firewalld
 systemctl stop firewalld

说明:三台机器都需要操作
5. 免密登录

 ssh-keygen
 ssh-copy-id root@hadoop1
 ssh-copy-id root@hadoop2
 ssh-copy-id root@hadoop3

说明:只在第一台机器操作
6. 安装java(默认系统已经安装,执行一下命令查看版本)

 java -version

说明:三台机器都需要操作

安装zookeeper 下载zookeeper安装包

最新版本下载:https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
历史版本下载:https://archive.apache.org/dist/zookeeper/

解压安装包
tar zxvf apache-zookeeper-3.8.0-bin.tar.gz
创建zookeeper配置文件(conf/zoo.cfg)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888

echo 1 > /data/zookeeper/myid
说明:三台机器都需要操作(上面的数字“1” :hadoop1 对应1,hadoop2 对应2,hadoop3对应3)

启动zookeeper
/opt/zookeeper/bin/zkServer.sh start

说明:三台机器都需要操作

安装hadoop 下载hadoop安装包

最新版本下载:https://dlcdn.apache.org/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz
历史版本下载:https://archive.apache.org/dist/hadoop/

解压安装包
tar zxvf hadoop-3.3.3.tar.gz
#将解压后的软件包移动到/usr/local/目录中
mv hadoop-3.3.3 /usr/local
修改配置文件

进入hadoop的安装目录,然后修改如下配置

  1. 修改etc/hadoop/workers
echo -e "hadoop1nhadoop2nhadoop3" > etc/hadoop/workers

说明:只在第一台机器操作
2. 修改etc/hadoop/hadoop-env.sh

echo "export JAVA_HOME=$JAVA_HOME" >> etc/hadoop/hadoop-env.sh

说明:只在第一台机器操作
3. 修改etc/hadoop/core-site.xml


    
        fs.defaultFS
        hdfs://cluster
    
    
        hadoop.tmp.dir
        /data/hadoop
    
    
        ha.zookeeper.quorum
        hadoop1:2181,hadoop2:2181,hadoop3:2181
    
    
        hadoop.proxyuser.hadoop.hosts
        *
    
    
        hadoop.proxyuser.hadoop.groups
        *
    

  1. 修改etc/hadoop/hdfs-site.xml

    
        dfs.nameservices
        cluster
    
    
        dfs.ha.namenodes.cluster
        nn1,nn2
    
    
        dfs.namenode.rpc-address.cluster.nn1
        hadoop1:9000
    
    
        dfs.namenode.http-address.cluster.nn1
        hadoop1:50070
    
    
        dfs.namenode.rpc-address.cluster.nn2
        hadoop2:9000
    
    
        dfs.namenode.http-address.cluster.nn2
        hadoop2:50070
    
    
        dfs.namenode.shared.edits.dir
        qjournal://hadoop1:8485;hadoop2:8485;hadoop3:8485/cluster
    
    
        dfs.journalnode.edits.dir
        /data/hadoop/journaldata
    
    
        dfs.ha.automatic-failover.enabled
        true
    
    
        dfs.client.failover.proxy.provider.cluster			     
        org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
    
    
        dfs.ha.fencing.methods
        sshfence
    
    
        dfs.ha.fencing.methods
        
            sshfence
            shell(/bin/true)
        
    
    
        dfs.ha.fencing.ssh.private-key-files
        /root/.ssh/id_rsa
    

  1. 修改etc/hadoop/mapred-site.xml

     
	mapreduce.framework.name
	yarn
     

  1. 修改etc/hadoop/yarn-site.xml


  yarn.nodemanager.aux-services
  mapreduce_shuffle


       yarn.nodemanager.aux-services.mapreduce_shuffle.class
       org.apache.hadoop.mapred.ShuffleHandler


  yarn.resourcemanager.ha.enabled
  true


  yarn.resourcemanager.cluster-id
  cluster


  yarn.resourcemanager.ha.rm-ids
  rm1,rm2


  yarn.resourcemanager.hostname.rm1
  hadoop1


  yarn.resourcemanager.hostname.rm2
  hadoop2


  yarn.resourcemanager.webapp.address.rm1
  hadoop1:8088


  yarn.resourcemanager.webapp.address.rm2
  hadoop2:8088


  hadoop.zk.address
  hadoop1:2181,hadoop2:2181,hadoop3:2181


  yarn.app.mapreduce.am.env
  HADOOP_MAPRED_HOME=/opt/hadoop


  mapreduce.map.env
  HADOOP_MAPRED_HOME=/opt/hadoop


  mapreduce.reduce.env
  HADOOP_MAPRED_HOME=/opt/hadoop


分发安装包,将hadoop的安装包传输到其他的机器
scp -r /usr/local/hadoop root@hadoop2:/usr/local
scp -r /usr/local/hadoop root@hadoop3:/usr/local
启动journalnode
/usr/local/hadoop/sbin/hadoop-daemon.sh start journalnode
#说明:只在第一台机器操作
格式化zkfc并启动(hadoop1)
/usr/local/hadoop/bin/hdfs zkfc -formatZK
/usr/local/hadoop/sbin/hadoop-daemons.sh start zkfc
#说明:只在第一台机器操作
格式化namenode并启动(hadoop1)
/usr/local/hadoop/bin/hdfs namenode -format
/usr/local/hadoop/sbin/hadoop-daemon.sh start namenode
#说明:只在第一台机器操作
复制元数据到secondarynode(hadoop2)
/usr/local/hadoop/bin/hdfs  namenode  -bootstrapStandby
#说明:只在第二台机器操作
启动全部服务
/usr/local/hadoop/sbin/start-all.sh
验证 hadoop原生页面

yarn 原生页面

提交mapreduce测试程序:

yarn jar /usr/local/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.3.jar pi 1 1
运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/962502.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号