Hadoop2.8.5详细安装教程

1.环境准备

1.1.环境说明

三台搭载Centos7.0虚拟机(有条件可以准备4台),1个Master和2个Slave。节点和IP地址如下:

机器名称IP地址
master192.*.*.101
slave1

192.*.*.102

slave2192.*.*.103

 

 

 

 

1.2.网络配置

主机名规划:分别修改三台机器主机名未master,slave1,slave2

修改当前机器IP:假定我们的机器IP,再安装机器时候没有配置好,那我们需要对“ifcfg-eth0”文件进行配置,该文件位于“/etc/sysconfig/network-scripts”文件夹下。在这个目录下面,存放的是网络接口(网卡)的制御脚本文件(控制文件),
认的第一个网络接口,如果机器中有多个网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3,……。

使用ifconfig命令检查修改是否生效,对应修改三台机器IP

配置Host文件:vi /etc/hosts

检查三台机器之间是否ping的通:ping slave1,三台机器都需要添加

1.3.java环境安装

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载jdk并安装,本人用的版本是1.8.0,这里安装好了之后不用着急配置环境变量,之后可以再hadoop用户下与hadoop环境变量一起配置。

2.SSH无密码验证

搭建hadoop集群需要一些基本安装包,检查机器是否存在服务ssh和rsync

rpm -qa | grep openssh

rpm -qa | grep rsync

如果已安装会打印以下信息:

若未安装通过yum安装:

yum install ssh

yum install rsync

确保所有服务器都安装,安装完成后各服务器之间可以通过密码验证相互登陆。在Master上执行ssh slave1

ssh无密码原理:Master作为客户端,需要实现无密码登陆slave1,需要在Master上生成一对密钥,包括一个公钥和一个私钥,而后将公钥复制到所有slave上。当Mster通过ssh连接slave时,slave就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master,Master收到加密数后再解密,并将解密数传给slave,slave确认密码无误后允许Master登录。

ps:在做无密码登陆时,最好新建一个hadoop用户,只有使用hadoop用户才能做无密码登陆

grpupadd hadoop //新建hadoop分组

useradd -g hadoop hadoop //新建hadoop用户并指定分组为hadoop

passwd hadoop //设置hadoop用户密码

这时系统会自动生成hadoop用户主目录/home/hadoop以及一些配置文件:

生成密钥命令:ssh-keygen -t rsa -P ''

切换到hadoop用户下执行该命令生成的密钥对:id_rsa和id_rsa.pub,默认存储在“/home/hadoop/.ssh”目录下。

接着在Master节点上做如下配置,把id_rsa.pub追加导授权的key里面去,记住是追加。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ps:保证Hadoop用户对authorized_keys文件有读写权限:

chmod 600 ~/.ssh/authorized_keys

设置SSH配置:用root用户登录服务器,修改配置文件“/etc/ssh/sshd_config”的下列内容。

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(即上面生成的公钥路径)

配置完后重启SSH服务:service sshd restart

再切到hadoop用户下,执行:ssh localhost

如图表示登陆成功

然后需要把公钥id_rsa.pub复制到所有slave机器上,同样slave机器建立hadoop用户,把传过来的公钥id_rsa.pub追加到authorized_keys文件,root用户修改SSH服务即可。

同样我们配置slava无密码登陆Master也是相同操作,在slave上生成一对密钥,把slave机器上生成的公钥复制到master机器,

追加到authorized_keys文件。

3.Hadoop集群安装

3.1.软件安装与环境变量配置

下载hadoop:http://www.apache.org/dist/hadoop/core/

将下载的包 hadoop-2.8.5.tar.gz上传至hadoop用户主目录下home/hadoop,

解压:tar –zxvf hadoop-2.8.5.tar.gz,并将解压文件夹重命名为hadoop,

根据hadoop的安装目录和java的安装目录配置环境变量:

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:
export PATH=$JAVA_HOME/bin:$JAVA_HOME/bin/tools.jar:$JRE_HOME/bin:$PATH

#hadoop environment vars
export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native/"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

3.2.hadoop配置

hadoop的配置文件位于{HADOOP_HOME}/etc/hadoop目录下,更具配置参数需要建立

tmp目录:/home/hadoop/hadoop/tmp

dfs目录:/home/hadoop/hadoop/tmp/dfs

name目录:/home/hadoop/hadoop/tmp/dfs/name

1.core-site.xml   集群全局参数

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp</value>
  </property>
</configuration>

2.hdfs-site.xml HDFS参数

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/hadoop/tmp/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/hadoop/tmp/dfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
</configuration>

3.mapred-site.xml   Mapreduce参数

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

4.yarn-site.xml   集群资源管理系统参数

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>
</configuration>

配置完成后复制到其他机器scp ~/hadoop hadoop@slave1:~/

3.3.启动及验证

1.格式化HDFS文件系统,在master机器上执行

hadoop  namenode  -format

2.启动hadoop,注意监控启动日志/home/hadoop/hadoop/logs/hadoop-hadoop-namenode-s1.log

start-all.sh

Web浏览器输入127.0.0.1:50070,查看管理界面,如果防火墙没开执行

iptables -I INPUT -p tcp --dport 50070 -j ACCEPT 

启动成功!!!!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值