博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop3.1.0集群搭建
阅读量:5158 次
发布时间:2019-06-13

本文共 5184 字,大约阅读时间需要 17 分钟。

一.环境配置

  jdk1.8

  centos7

二.环境搭建

  1.安装jdk

    这个不用怎么说了吧,可以直接yum安装或者自己下载tar包。yum安装不用配置javahome,但是需要知道javahome位置,因为hadoop是java项目,运行需要jdk环境。通过yum安装查找javahome如下:

$whereis javacjavac: /usr/bin/javac /usr/share/man/man1/javac.1.gz

    可以看出结果是两个目录  用ll命令查看这两个目录详情

$ll /usr/bin/javaclrwxrwxrwx. 1 root root 23 8月   7 14:03 /usr/bin/javac -> /etc/alternatives/javac

    这个是个软连接 指向/etc/alternatives/javac 继续对这个目录ll直至不在出现软连接为止

$ll /etc/alternatives/javaclrwxrwxrwx. 1 root root 70 8月   7 14:03 /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/bin/javac

  $ ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/bin/javac  

  -rwxr-xr-x. 1 root root 7424 7月 24 00:34 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/bin/javac

 

  $ ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64

  总用量 50780
  drwxr-xr-x. 2 root root 4096 8月 7 14:03 bin
  drwxr-xr-x. 10 root root 134 8月 7 14:03 demo
  drwxr-xr-x. 3 root root 132 8月 7 14:03 include
  drwxr-xr-x. 4 root root 28 8月 7 14:03 jre
  drwxr-xr-x. 3 root root 144 8月 7 14:03 lib
  drwxr-xr-x. 11 root root 162 8月 7 14:03 sample
  -rw-r--r--. 1 root root 51993150 7月 23 23:59 src.zip
  drwxr-xr-x. 2 root root 204 8月 7 14:03 tapset

    看出来这个文件夹就是jdk的安装路径了。

 

  2 centos7 linux用户之间免登陆

     a)分别在机器上创建相同的用户,设置密码

     b)在a机器上运行ssh-keygen命令生成公钥私钥

      

     c)将a中的公钥id_dsa.pub烤到b机器上,并查看是否有authorized_keys这个文件,如果有追加id_dsa.pub内容在authorized_keys文件中,没有则创建,并将它的权限修改为600(chmod 600 authorized_keys)

     d)b中ssh测试是否能,免密连接

     a连b亦是同理

   3.安装hadoop 

     前置准备 三台机器ip,主机名分别为

      

     将三台机器/etc/hosts都修改为这种,ip主机名根据实际而定

 

     a) 下载网站,选择合适的版本  http://mirror.bit.edu.cn/apache/hadoop/common/

      

      b)下载好以后解压 tar -zxvf 安装包

      c)配置 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml 这四个文件hadoop安装包 etc/hadoop/目录下

        core文件主要用于配置namenode地址和tmp文件地址

$ vim etc/hadoop/core-site.xml
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/workhome/hadoop-3.1.0/data/tmp

 hdfs用于设置namenode datanode,hdfs备份份数 默认是3 

dfs.permissionsdfs权限是否打开 ,通过idea远程操作的时候提示没有权限访问不了 因此设置为false 默认值是true
 
$ vim etc/hadoop/hdfs-site.xml
dfs.name.dir
/workhome/hadoop-3.1.0/hdfs/name
namenode上存储hdfs名字空间元数据
dfs.data.dir
/workhome/hadoop-3.1.0/hdfs/data
datanode上数据块的物理存储位置
dfs.replication
2
dfs.permissions
false

mapred设置mapreduce

 
$ vim etc/hadoop/mapred-site.xml 
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
mapred.job.tracker
http://master:9001
 
$ vim 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.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088

 

修改 etc/hadoop/hadoop-env.sh 添加java安装路径

$ vim etc/hadoop/hadoop-env.sh export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64

配置hadoop环境变量

$  vim /etc/profileexport HADOOP_HOME=/workhome/hadoop-3.1.0export PATH=$PATH:$HADOOP_HOME/bin

 

  然后将master这个hadoop完整的复制到其他机器即可

  最后在master etc/hadoop下新增workers 将slave机器添加进去 ,以后要是扩展节点 也应该添加到这个里面

 

  e)初始化:

    hadoop namenode -format

  f) 启动

    只需启动master的  

    hadoop安装路径/sbin/start-all.sh

    查看:jps命令 用来查看启动了的java服务

    master 

    

    slave1

    

    slave2

    

 

    只需查看到master上有namenode slave上有datanode就代表成功。

    g)关闭 /sbin/stop-all.sh脚本 

 

 

 四.遇到的问题以及解决方案

   扩展一台机器,重启服务没有datanode

    解决方案:清除 core-site.xml中配置的tmp文件夹  以及hdfs-site.xml中配置的datanode和namenode的文件夹  重新格式化namenode

转载于:https://www.cnblogs.com/xingluo/p/9511005.html

你可能感兴趣的文章
Shader Overview
查看>>
Reveal 配置与使用
查看>>
Java中反射的学习与理解(一)
查看>>
C语言初学 俩数相除问题
查看>>
B/S和C/S架构的区别
查看>>
[Java] Java record
查看>>
jQuery - 控制元素显示、隐藏、切换、滑动的方法
查看>>
postgresql学习文档
查看>>
Struts2返回JSON数据的具体应用范例
查看>>
js深度克隆对象、数组
查看>>
socket阻塞与非阻塞,同步与异步
查看>>
团队工作第二天
查看>>
System类
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
菜鸟“抄程序”之道
查看>>
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>