一、首先下载好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标签下添加如下内容:
3、为了防止文件系统意外,需要配置文件副本的存储,保证文件保存的健壮性
>>vim hdfs-size.xml
配置如下内容:
4、指定程序运行在yarn集群上
>>mv mapred-site.xml.template mapred-size.xml
>>vim mapred-site.xml
5、配置yarn
>>vim yarn-site.xml
输入如下内容:
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