CentOS 7 64位 部署Hadoop2.6.1

1、  环境: 3台CentOS764位 Hadoop2.6.1

(1).安装centos 7

(2).修改三台服务器/etc下的hosts和hostname:

三台服务器的Hostname分别修改:master、slave1、slave2

查询主机状态并更改主机名

hostnamectl status

hostnamectlset-hostname [更改后的主机名]

Vim /etc/sysconfig/network-script/ifcfg-ens33

设置IPADDR、GATEWAY、DNS、onboot=yes

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=8af8b865-d42e-40f2-9b15-1415e251ccad

DEVICE=ens33

ONBOOT=yes

IPADDR=192.168.122.2

GATEWAY=192.168.122.255

NETMASK=255.255.255.0

DNS=8.8.8.8

 

三台服务器的Hosts文件修改为一致的:

192.168.0.2  master-hadoop

192.168.0.3  slave1-hadoop

192.168.0.4  slave2-hadoop

注意:这里的IP为三台主机实际IP地址.

(3). 关闭防火墙 (三台机器全部关闭)

# systemctlstatus firewalld.service  --查看防火墙状态

# systemctl stopfirewalld.service    --关闭防火墙

# systemctldisable firewalld.service --永久关闭防火墙

 

2、           SSH免密码登录设置.

因为Hadoop需要通过SSH登录到各个节点进行操作,我用的是root用户,每台服务器都生成公钥,再合并到authorized_keys。

 

(1)CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,

#RSAAuthentication yes

#PubkeyAuthentication yes

(2)输入命令,ssh-keygen -trsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,

(3)合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,

cat id_rsa.pub>> authorized_keys

//ssh root@192.168.0.3 cat~/.ssh/id_rsa.pub>> authorized_keys

//ssh root@192.168.0.4 cat~/.ssh/id_rsa.pub>> authorized_keys

每台服务器都要合并公钥

(4)把Master服务器/root/.ssh的authorized_keys、known_hosts两个文件复制到两台Slave服务器的/root/.ssh目录

在两台slave服务器上执行:

/sbin/restorecon -Rv /root/.ssh

(5)完成,sshroot@192.168.0.3、ssh root@192.168.0.4就不需要输入密码了

 

 

3、           安装JDK

先卸载系统原版本

# java –version

使用#  rpm -qa | grep java 会看到自带的Java

javapackages-tools-3.4.1-6.el7_0.noarch

tzdata-java-2014i-1.el7.noarch

java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64

java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64

python-javapackages-3.4.1-6.el7_0.noarch

 

卸载JDK,执行以下操作:

# rpm -e --nodeps tzdata-java-2014i-1.el7.noarch

# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64

# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64

 

安装新的JDK

上传新的jdk-8u25-linux-x64.rpm软件到/usr/local/执行以下操作:

# rpm -ivh jdk-8u25-linux-x64.rpm

JDK默认安装在/usr/java中。

验证安装

执行以下操作,查看信息是否正常:

# java -version

java version "1.8.0_25"

Java(TM) SE Runtime Environment (build 1.8.0_25-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

 

配置环境变量

修改系统环境变量文件

#vim /etc/profile

向文件里面追加以下内容:

JAVA_HOME=/usr/java/jdk1.8.0_25

JRE_HOME=/usr/java/jdk1.8.0_25/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

 

 

使修改生效

# source /etc/profile   //使修改立即生效

 

 

 

4、安装Hadoop2.6.1。只需要在Master服务器解压后配置,三台主机配置是一样的,可直接复制到Slave服务器 无需再到slave服务器配置。

(1)把“hadoop-2.6.1.tar.gz”,放到master的/home/hadoop目录下

(2)解压,输入命令,tar -xzvfhadoop-2.6.1.tar.gz

(3)在/home/hadoop目录下创建数据存放的文件夹,tmp、dfs、dfs/data、dfs/name

 

 

5、配置/home/hadoop/hadoop-2.6.1/etc/hadoop目录下的core-site.xml。这个文件是指定 NameNode的host名/ip和端口号,端口号可以根据自己的需要修改:

<configuration>

   <property>

       <name>fs.default.name</name>

       <value>hdfs://hadoop:9000</value>

       <description>change your own hostname</description>

   </property>

   <property>

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

       <value>/usr/local/hadoop/tmp</value>

   </property> 

</configuration>

6、配置/home/hadoop/hadoop-2.6.1/etc/hadoop目录下的hdfs-site.xml 。这个文件是配置HDFS的namenode和datanode的存储路径、网络访问端口。

<configuration>

   <property>

       <name>dfs.replication</name>

       <value>1</value>

   </property>

   <property>

       <name>dfs.permissions</name>

       <value>false</value>

   </property>

</configuration>

 

7、配置/home/hadoop/hadoop-2.6.1/etc/hadoop目录下的mapred-site.xml.template要改成.xml文件。该文件用于指定MapReduce使用的框架和设置MapReduce的web访问端口。

<configuration>

   <property>

       <name>mapred.job.tracker</name>

       <value>hadoop:9001</value>

       <description>change your own hostname</description>

   </property>

</configuration>

8、配置/home/hadoop/hadoop-2.6.1/etc/hadoop目录下的yarn-site.xml 。这个文件是设置nodemanager和resourcemanager的web访问端口。

<configuration>

   <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>

   <property>

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

       <value> master:8032</value>

    </property>

   <property><configuration>

<property>

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

       <value>mapreduce_shuffle</value>

</property>

<property>

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

       <value>192.168.241.128:8099</value>

</property>

</configuration>

 

 

9、配置/home/hadoop/hadoop-2.6.1/etc/hadoop目录下hadoop-env.sh、yarn-env.sh,给这两个文件添加JAVA变量,否则Hadoop无法找到Java运行环境。在末尾添加:

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

 

10、修改/home/hadoop/hadoop-2.6.1/etc/hadoop目录下的slaves文件,删除里面默认的“localhost”,输入两台slave的主机名:

slave1-hadoop

slave2-hadopp

 

11、将配置好的Hadoop复制到各个节点上的/home/路径下,可以通过远程传输命令scp传送到slave服务器上面或者使用其他方式拷贝。在终端执行:

 

scp -r /home/hadoop slave2-hadoop:/home/

 

 

12、在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.6.1目录

在vi ~/.bash_profile配置如下:

export HADOOP_HOME=/home/hadoop/hadoop-2.6.1

export PATH=$PATH:$HADOOP_HOME/bin

 

(1)初始化:./bin/hdfs namenode-format

(2)全部启动sbin/start-all.sh

(3)停止:sbin/stop-all.sh

13、安装完成后在master和slave1、slave2的终端输入命令jps,可以看到相以下息表示部署完成。

16288 SecondaryNameNode

16681 Jps

16107 NameNode

16427 ResourceManager

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值