Date:20180827 Monday

目前市场hadoop主流版本是2.7.x系列,下面我们就以hadoop-2.7.3为例进行安装

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

安装前准备:

 1.操作系统:cetos(6和7)

 2.java版本:1.8

 3.需要插件:wget, vim, openssh, ntpd

一.示列演示:

现在有3台机器,这里以centos6.8-64位为例,以minimal方式安装

192.168.1.101

192.168.1.102

192.168.1.103

3台节点上都先关闭防火墙

iptables –F

chkconfig iptables off

setenforce 0

vi /etc/selinux/config

SELINUX=disable

 1,分别为3台节点更改主机名

hostname c1(临时修改)

的命令更改每一台主机的主机名,并更改配置文件

vi /etc/sysconfig/network  (永久修改)

HOSTNAME=c1

2. 这里我们把ip映射成主机名,执行如下命令

vi  /etc/hosts

在hosts文件中,如以下内容(主机和域名一役对应)

192.168.1.101 c1

192.168.1.102 c2

192.168.1.103  c3

保存退出

 3. 然后用root身份将hosts文件发送到其它节点上 (先在3个节点上安装openssh)

(scp安装命令)

yum install –y openssh-clients

scp /etc/hosts c2:/etc/

scp /etc/hosts c3:/etc/

在发送的过程中需要输入root用户的密码

二、配置免密码登录

然后在家目录下执行ssh-keygen  -t  rsa命令,不用管提示,一路回车,直到命令执行完成

再去其他节点执行相同的操作

例如:  ssh node2 (跳转到node2节点)

1. 生成本机的密钥对

ssh-keygen -t rsa -P ''

2. 复制秘钥去其他机器要免密登录的机器,如:

 ssh-copy-id c1

ssh-copy-id c2

ssh-copy-id c3

ssh-copy-id localhost

3. 验证免密登录

ssh c2

ssh c3

ssh c1

三、安装JDK

下面这个地址下载JAVA8---jdk1.8

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

8u131及其他版本地址,推荐下载8u131Oracle官方地址:

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

yum install –y wget

JAVA环境的安装和设置在3台节点都要进行配置

1. rpm -ivh jdk-8u131-linux-x64.rpm

2. vi /etc/profile.d/java.sh

 export JAVA_HOME=/usr/java/jdk1.8.0_131

3. 执行刚才设置过的脚本

 source /etc/profile

4. 验证环境变量是否设置成功

 env | grep JAVA

四、安装Hadoop和启动

下面这个地址下载hadoop2.7.3版本的64位官方镜像:

http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.3/

在c1下载后,输入以下命令解压

tar  -zxvf  hadoop-2.7.3.tar.gz

解压完后删除压缩包,并修改文件夹名称

mvhadoop-2.7.3  hadoop

mvhadoop /opt

3台节点

/etc/profile.d/hadoop.sh中加上hadoop的环境变量设置,即

vi /etc/profile.d/hadoop.sh

export  HADOOP_PREFIX=/opt/hadoop

export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

source /etc/profile

env | grep HADOOP

进入c1 的hadoop的配置文件目录/opt/hadoop/etc/hadoop,键入命令及修改以下配置文件

1. hdfs的基础配置,hdfs-site.xml文件

 mkdir –p /opt/hadoop/data/nd

mkdir –p /opt/hadoop/data/dd

vi /opt/hadoo/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name> ##备份数

<value>3</value>

</property>

<property>

<name>dfs.namenode.name.dir</name> ##namemode 要先创建

<value>/opt/hadoop/data/nd</value>

</property>

<property>

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

<value>/opt/hadoop/data/dd</value> ##datanode 要先创建

</property>

</configuration>

2. 配置core-site.xml文件

mkdir -p /opt/hadoop/tmp/hadoop

vi /opt/hadoop/etc/hadoop/core-site.xml

<configuration>

<!--指定hdfs的nameservice为namenode -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://c1</value>

</property>

<!--指定hadoop临时目录,如果没有请手动创建-->

<property>

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

<value>/opt/hadoop/tmp/hadoop</value>

</property>

</configuration>

3. 配置datanode所在的节点:c1 c2 c3

vi  /opt/hadoop/etc/hadoop/slaves   

c1

c2

c3

4. 配置secondarynamenode到c2上

vi hdfs-site.xml

<configuration>

<property>

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

<value>c2:50090</value>

</property>

</configuration>

5. 更改mapreduce配置文件,(在/opt/hadoop/etc/hadoop目录下)

mv  mapred-site.xml.template  mapred-site.xml

vi  mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

</configuration>

6. 配置Yarn

 

vi  yarn-site.xml

<configuration>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>c1</value>

</property>

</configuration>

把配置完成的hadoop目录复制到所有节点

scp r /opt/hadoop c2:/opt

scp r /opt/hadoop c3:/opt

若只修改配置文件,则只需复制etc目录到所有节点,命令如下:

scp r /opt/hadoop/etc c2:/opt/hadoop

scp r /opt/hadoop/etc c3:/opt/hadoop

hdfs格式化和启动

格式化命令如下:

/opt/hadoop/bin/hdfs namenode format

启动hdfs:

/opt/hadoop/sbin/start-dfs.sh

关闭hdfs:

/opt/hadoop/sbin/stop-dfs.sh

启动yarn:

/opt/hadoop/sbin/start-yarn.sh

关闭yarn:

/opt/hadoop/sbin/stop-yarn.sh

启动任务历史服务器:

 /opt/hadoop/sbin/mr-jobhistory-daemon.sh starthistoryserver

关闭历史服务器:

/opt/hadoop/sbin/mr-jobhistory-daemon.sh stophistoryserver

hadoop访问

在浏览器中访问—如:

http://192.168.106.148:50070  

yarn访问:

http://192.168.106.148:8088

查错

1. jps命令来查询是否启动了namenode 和datanode等进程

查看相应进程的配置文件

2. 看/opt/hadoop/sbin/start-dfs.sh启动时的报错信息

3. 用/opt/hadoop/sbin/stop-dfs.sh停止所有节点服务,再尝试重启进程

4. netstat –tan查看各个端口,是否有监听,如50070等

5. 更改主节点配置后要copy配置去其他节点

6. 更改数据文件夹等内容的相关配置,要重新格式化hdfs,再启动进程

7. 查看/opt/hadoop/data/dd目录下的clusterid是否与namenode一致

注:可用jps查询程序启动情况

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄