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

linux下hadoop 环境搭建

linux下hadoop 环境搭建

  1. 准备 3台linux 分别hostname为: node-1,node-2,node-3

    vi /etc/sysconfig/network
    HOSTNAME=yourhostname
    
    #保存
    hostname yourhostname
    hostname
    
  2. 安装 JDK 并配置 环境变量

  3. 通过xshell等ssh 工具 查看3台机子的时间是否一致(需通过成一致的时间)

  4. xshell 查看-撰写-撰写窗口-全部会话(可以在敲一遍命名 在所有窗口生效)

  5. Vi /etc/hosts

     127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
     ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
     192.168.1.220 node-1
     192.168.1.222 node-2
     192.168.1.223 node-3
    
  6. 免密登入配置:

         ssh-keygen -t rsa(4个空格) 
         生成 id_rsa(公钥) id_rsa..pub(公钥)
         cd ~/.ssh/
         scp id_rsa.pub root@ip:/usr/local/
         cd /usr/local/
         cat id_rsa.pub >> ~/.ssh/authorized_keys
    
  7. 解压hadoop安装包tar -zxvf hadoop-3.3.1.tar.gz

  8. vi /usr/local/hadoop-3.3.1/etc/hadoop/hadoop-env.xml
    #配置jdk JAVA_HOME=/usr/local/jdk1.8.0_301

  9. vi /usr/local/hadoop-3.3.1/etc/hadoop/core-site.xml

    	 
    		 
    			fs.default.name 
    			hdfs://node-1:9000 
    		 
    		 ##临时文件存放位置
    		 
    			hadoop.tmp.dir 
    			/home/hadoop/tmp 
    		 
    	
    
    
  10. vi /usr/local/hadoop-3.3.1/etc/hadoop/hdfs-site.xml

       
       	 
       		dfs.replication 
       		2
       	 
       	 
       		dfs.namenode.secondary.http-address 
       		node-2:50090 
       	 	
       	 
       		dfs.datanode.handler.count 
       		50
       	 
       
    
    
  11. vi /usr/local/hadoop-3.3.1/etc/hadoop/mapred-site.xml

       
       	 
       		mapreduce.framework.name 
       		yarn 
       	 
       
    
    
  12. vi /usr/local/hadoop-3.3.1/etc/hadoop/yarn-site.xml

    
    
    	 
    		 yarn.resourcemanager.hostname 
    		 node-1 
    	  
    	 
    	 
    		 yarn.log-aggregation-enable
    		 true
    	 
    	 
    		 yarn.log-aggregation.retain-seconds
    		 604800
    	 
    	 
    	 
    		 yarn.nodemanager.aux-services 
    		 mapreduce_shuffle 
    	 
    
    
    
  13. vi /usr/local/hadoop-3.3.1/etc/hadoop/workers

    node-1
    node-2
    node-3
    
  14. 配置hadoop环境变量(vi /etc/profile)

    export HADOOP_HOME=/usr/local/hadoop-3.3.1
    export PATH=$PATH:$HADOOP_HOME/bin: $HADOOP_HOME/sbin
    
  15. 复制: scp -r /usr/local/hadoop-3.3.1/ root@node-2:/usr/local/

  16. scp -r /usr/local/hadoop-3.3.1/ root@node-3:/usr/local/

  17. 复制: scp –r /etc/profile root@node-2:/etc/

  18. scp –r /etc/profile root@node-3:/etc/

  19. 格式化 hadoop 
    首次启动需要格式化是进行文件系统的初始化操作,创建一些自己需要的文件
    启动后,不在需要格式化
    必须在主节点上(主机器)操作
    hdfs namenode -format 或 hadoop namenode -format
    
  20. 一键启动
    主机器操作许配置 slaves 和 ssh 免密登入
    进入 hadoop 下 sbin 文件夹下 start-dfs.sh(sdfs 集群)和 start-yarn.sh(yarn 集群) 或者 start-all.sh(sdfs   和 yarn 集群同时启动)
    //启动历史
    mr-jobhistory-daemon.sh start historyserver 
    启动时报错:
    修改配置21和22
    
  21. 查看启动结果 jps 命令
    13248 NameNode 
    13345 DataNode 
    13610 ResourceManager 
    13757 Jps 
    13711 NodeManager
    
    提示 一下标识成功或者访问 ip:50070 页面
    
  22. 将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

    #!/usr/bin/env bash
    HDFS_DATANODE_USER=root
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    
  23. start-yarn.sh,stop-yarn.sh

    #!/usr/bin/env bash
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
    
  24. 如果启动后没有datenode节点要删除 core-site.xml中的路径在执行格式化

  25. 通过浏览器http://ip:8080访问页面

  26. java操作HDFS

    //连接hdfs
    configuration conf =new Configuration();
    conf.set(fs.defaultFs,"hdfs://node-1:9000")
    
    //设置用户身份
    方式1:System.setProperty("HADOOP_USER_NAME","root")
    方式2:FileSystem fs=FileSystem.get(new URI("hdfs://node-1:9000"),conf,"root");
    FileSystem fs=FileSystem.get(conf);
    //操作
    fs.xxxx()
    fs.close()
    ---------------------------获取遍历文件--------
    RemoteInterator list=fs.listFIles(path,true);
    while(list.hasnext()){LocatedFIleStatus f=list.next()};
    --------------------------上传文件流操作---------------------------------------------
    FSDataOutputStream out=fs.create(new Path(文件),true);
    FIleInputStream in=new FIleInputstream("D://文件");
    IOUtils.copy(in, out  );
    ---------------------------------------------------------------------------------
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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