Hadoop集群的安装和配置

一、首先下载好jdk、hadoop包,放入linux并解压

注意:

1、大家尽量选择centos6版本,反正我用的是centos7,出现了很多问题,可能是7增加了一些安全机制,导致在免密登陆那块很容易出现授权列表有公钥也无法登陆问题

2、用普通用户模式进行密钥的分发和集群的开启,如果用root用户模式,可能会出现意想不到的问题,比如:系统只认第一次进行密钥分发的模式(普通用户模式/root用户模式),还出现一个root用户通过修改sshd_config后可以通过ssh登陆其他主机,而普通用户模式,就算密码输入无误也无法登陆,总是提示无权限,我已经进坑,各位注意点

为了日后的使用方便,给自己的集群确定一个主机,多个从主机

主机的命名为master

从主机的命名为salve(1、2、3...)

修改方式:

>>vim /etc/hostname

1.1、为了主机能够控制从主机,我们使用ssh进行免密登录,原理图如下:

 接下来开干:

1、通过rsa方式生成密钥

>> ssh-keygen

一路回车,就完成了,此时在.ssh文件目录生成了几个文件

>> cd ~/.ssh

>> ls

会看到如下几个文件:

id_rsa.pub:公共密钥,用于发送给将要登录的主机,进行验证

id_rsa:私密,与公钥成对出现

authorized_keys:授权列表,只有在此列表的公共密钥才能通过公钥免密登录

2、比如现在又A、B两台主机,A想要免密登录B,在A、B两台主机都进行了密钥生成操作后

我先只需要将A的公钥,放到B的授权列表中,首先将A的公钥文件id_rsa_A.pub发送到B主机,比如放到"/home/"

在B主机上执行将A的公钥加入授权列表操作

>> cd ~/.ssh

>>cat  /home/id_rsa_A_pub  >> authorized_keys 

现在看看文件,会发现授权列表里已经加入了A的公钥

二、文件的配置

2.1.系统变量文件的配置,添加jdk和hadoop的安装路径

>>vim /etc/profile

在文件中输入如下内容:

export JAVA_HOME=/home/zhangdabai/jdk1.8.0_201

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

export HADOOP_HOME=/home/zhangdabai/hadoop/hadoop-2.7.3

export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

2.2.hadoop文件的配置(6步):

准备工作:进入hadoop-2.7.3文件夹目录下,创建一个hdfs文件夹,并在其下创建

name、tmp、data子文件夹

接下来全部的文件配置需进入hadoop-2.7.3/etc/hadoop/文件夹下进行

1、配置hadoop的环境变量,告诉hadoop,它所依赖的jdk的安装路径

>>vim hadoop-env.sh

添加如下内容:

# The java implementation to use.

export JAVA_HOME=/home/zhangdabai/jdk1.8.0_201

2、配置核心xml文件

>>vim core-site.xml

在configuration标签下添加如下内容:

<configuration>

<!--1、指定临时文件的存储路径-->

<property>

   <name>hadoop.tmp.dir</name>

   <value>file:/home/zhangdabai/hadoop/hadoop-2.7.3/hdfs/tmp</value>

   <description>A base for other temporary directories.</description>

 </property>

 

<!--2、指定文件缓冲区大小-->

 <property>

  <name>io.file.buffer.size</name>

   <value>131072</value>

 </property>

 

<!--3、指定文件系统文hdfs和namenode的地址及端口,其中master为主机名-->

 <property>

   <name>fs.defaultFS</name>

   <value>hdfs://master:9000</value>

 </property>

 

</configuration>

3、为了防止文件系统意外,需要配置文件副本的存储,保证文件保存的健壮性

>>vim hdfs-size.xml

配置如下内容:

<configuration>

<property>

 <name>dfs.replication</name>

   <value>1</value>

 </property>

 <property>

   <name>dfs.namenode.name.dir</name>

   <value>file:/home/zhangdabai/hadoop/hadoop-2.7.3/hdfs/name

</value>

   <final>true</final>

</property>

 <property>

   <name>dfs.datanode.data.dir</name>

   <value>file:/home/zhangdabai/hadoop/hadoop-2.7.3/hdfs/data

</value>

   <final>true</final>

 </property>

 <property>

  <name>dfs.namenode.secondary.http-address</name>

   <value>master:9001</value>

 </property>

 <property>

   <name>dfs.webhdfs.enabled</name>

   <value>true</value>

 </property>

 <property>

   <name>dfs.permissions</name>

   <value>false</value>

 </property>

</configuration>

4、指定程序运行在yarn集群上

>>mv  mapred-site.xml.template  mapred-size.xml

>>vim mapred-site.xml

<configuration>

<property>

   <name>mapreduce.framework.name</name>

   <value>yarn</value>

 </property>

</configuration>

5、配置yarn

>>vim yarn-site.xml

输入如下内容:

<configuration>

 

<!-- Site specific YARN configuration properties -->

 

<!-- 指定资源的管理者(ResourceManger),master为管理主机名 -->

<property>

 <name>yarn.resourcemanager.address</name>

   <value>master:18040</value>

 </property>

 <property>

   <name>yarn.resourcemanager.scheduler.address</name>

   <value>master:18030</value>

 </property>

 

 <property>

   <name>yarn.resourcemanager.webapp.address</name>

   <value>master:18088</value>

 </property>

 <property>

   <name>yarn.resourcemanager.resource-tracker.address</name>

   <value>master:18025</value>

 </property>

 <property>

   <name>yarn.resourcemanager.admin.address</name>

   <value>master:18141</value>

 </property>

 <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

 </property>

 <property>

     <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

     <value>org.apache.hadoop.mapred.ShuffleHandler</value>

 </property>

</configuration>

 

6、指定从主机名

>>vim slaves

slave1

slave2

...

2.3、将主机上配置好了的hadoop发送到各个从主机上,并按2.1方式配置好环境变量

>>ssh-copy-id  “主机ip”

...

hadoop1是linux在虚拟机中的名字,slave1是linux主机名

3、格式化

>>hdfs namenode -format

 

4、启动集群

>>start-all.sh

5、jps测试

会出现6个进程,分别为:datanode、namenode、nodemanager、resourcemanager、secondarynamenode、jps

缺一不可!

如果出现如下问题,解决方案:

出现问题首先看日志文件(有些情况不会生成日志文件)

1、出现datanode未启动

解决方法:考虑到是多次格式化原因,造成id不一致,所以将data文件、tmp文件夹下面的文件删除,重新格式化,重启

2、nodemanager未启动,或者启动后马上消失进程

解决方法:hadoop配置文件错了,重新去配过就好

本文章只做学习记录,不喜勿喷。

如果大家还是有问题,给大家一个文档,照做应该可以

链接:https://pan.baidu.com/s/1V82T5JFltGngxWaXXUebDw 
提取码:pqho 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值