Centos 7 安装HADOOP 2.6.0

来源:互联网 发布:梅雨知时节作品 编辑:程序博客网 时间:2024/05/18 02:59


1 安装的主要环境

OS:Centos 7 64-bit

Hadoop version:2.6.0

Java:Jdk1.7.0_75


1.1 首先安装编译和安装过程所需要的所有依赖程序包:

sudo yum install autoconfautomake libtool cmake ncurses-devel gcc* openssl-devel

注意:更新过程中,若发现速度慢,则进行源更换,换个镜像下载。

1.2 Java环境配置:

l  Jdk下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

l  在/usr/下新建java文件夹,将下载好的压缩文件移动到/usr/java/文件夹中并解压:

sudo mkdir/usr/java

sudo mv jdk-7u79-linux-x64.tar.gz/usr /java/

sudo tar –zxvf jdk-7u79-linux-x64.tar.gz


l  修改~/.bashrc,配置java环境变量

vim ~/.bashrc

(文件末尾加入以下四行)

exportJAVA_HOME=/usr /java/jdk1.7.0_79

exportJRE_HOME=${JAVA_HOME}/jre

exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

exportPATH=${JAVA_HOME}/bin:$PATH

l  使环境变量生效

source  ~/.bashrc

l  检查一下是否配置成功

java –version


1.3 protobuf安装配置

l  protobuf下载地址:

https://code.google.com/p/protobuf/downloads/list

l  在/usr/下新建protobuf文件夹,将下载好的压缩文件移动到/usr/protobuf/文件夹中并解压,然后编译安装:

sudo mkdir /usr/ protobuf

sudo mv protobuf-2.5.0.tar.gz  /usr / protobuf /

tar -zxvfprotobuf-2.5.0.tar.gz


l  进入到protobuf的安装目录/usr/protobuf/protobuf-2.5.0

cd /usr/protobuf/ protobuf-2.5.0

./configure --prefix=/usr/(--prefix=/usr/这部分可以不写,直接执行./configure即可)

sudo make

sudo make check

sudo make install

l  检查是否安装成功:

protoc  --version


1.4 ant安装配置

l  在/usr/下新建ant文件夹,将下载好的压缩文件移动到/usr/ant/文件夹中并解压,然后编译安装:

sudo mkdir /usr/ ant

sudo mv apache-ant-1.9.5-bin.tar.gz  /usr / ant /

tar -zxvf apache-ant-1.9.5-bin.tar.gz


l  修改~/.bashrc,配置ant环境变量

vim ~/.bashrc

(文件末尾加入一行)

expoet ANT_HOME= /usr/ant/apache-ant-1.9.5

1.5 findbugs安装配置

l  在/usr/下新建findbugs文件夹,将下载好的压缩文件移动到/usr/ findbugs /文件夹中并解压,然后编译安装:

sudo mkdir /usr/ findbugs

sudo mv findbugs-3.0.1.tar.gz  /usr / findbugs /

tar -zxvf findbugs-3.0.1.tar.gz


l  修改~/.bashrc,配置ant环境变量

vim ~/.bashrc

(文件末尾加入一行)

expoetFINDBUGS_HOME= /usr/findbugs/ findbugs -3.0.1

1.6 maven安装配置

l  在/usr/下新建maven文件夹,将下载好的压缩文件移动到/usr/ maven/文件夹中并解压,然后编译安装:

sudo mkdir /usr/ maven

sudo mv apache-maven-3.3.3-bin.tar.gz  /usr / maven/

tar -zxvf apache-maven-3.3.3-bin.tar.gz


l  修改~/.bashrc,配置java环境变量

vim ~/.bashrc

(文件末尾加入一行)

expoet MAVEN_HOME=/usr/maven/ apache-maven -3.3.3

l  最后在~/.bashrc文件末尾加上一行

exportPATH=$JAVA_HOME/bin:$ANT_HOME/bin:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$PATH

l  使环境变量生效

source  ~/.bashrc


注意:完成这一部分之后,若是在虚拟机中安装,可以将这台机器关闭,复制整台机器到其他服务器上,并在其他服务器中的虚拟机中打开。

2配置网络环境及ssh免密安装配置

假设服务器设备如下:(每台机器都可以连接外网,进行通信)

hostname

IP

作用

master

125.216.242.200

NameNode、ResourceManager

slave1

125.216.242.202

DataNode、NodeManager

slave2

125.216.242.203

DataNode、NodeManager

2.1. 配置网络环境

l  修改hostname:

sudo vim/etc/hostname

l  三台服务器修改成对应的hostname后保存文件。

具体如下图:

master机器上:


slave1机器上:


slave2机器上:


l  修改hosts:

sudo vim /etc/hosts

将其中内容全部删掉,然后在文件中加入以下三行:

125.216.242.200master

125.216.242.202slave1

125.216.242.203slave2

(三台服务器均需配置。)


2.2. SSH免密安装配置

l  在三台服务器中执行:

ssh-keygen –t rsa –P‘’

l  查看~/.ssh权限

ls –al ~

l  若为700,则不做任何操作,否则执行

sudo chmod 700 ~/.ssh

l  进入到.ssh目录

cd ~/.ssh

sudo chmod 600 authorized_keys

l  在master中执行:

scp id_rsa.pub hadoop@slave1:~/.ssh/key_from_master(其中hadoop是用户名)

scp id_rsa.pub hadoop@slave2:~/.ssh/key_from_master 

l  在slave1和slave2中执行:

catkey_from_master >> authorized_keys

rm key_from_master

以上步骤实现了数据节点(slave1、slave2)单向免密登录主节点(master),但主节点(master)并不能免密登录数据节点(slave1、slave2)

l  在slave1执行:

scp id_rsa.pub hadoop@slave1:~/.ssh/key_from_slave1

l  在slave2中执行:

scp id_rsa.pub hadoop@slave1:~/.ssh/key_from_slave2

l  在master中执行:

cat key_from_ slave1>>authorized_keys

cat key_from_ slave2>>authorized_keys

rm key_from_ slave1

rm key_from_ slave2

这样就实现了主节点和数据节点双向通信了。

注意:若上述操作后,主节点和数据节点还是不能免密连接时,如下图:


则在所有机器中使用命令:ssh-add,即可成功免密通信。

3 hadoop-2.6.0安装配置

3.1安装hadoop

l  将下载好的压缩文件hadoop-2.6.0.tar.gz移动到用户的主目录/home/hadoop下并解压,然后编译安装:

mv hadoop-2.6.0.tar.gz  /home/hadoop

tar –zxvf hadoop-2.6.0.tar.gz

l  修改~/.bashrc,配置hadoop环境变量

vim ~/.bashrc

(文件末尾加入以下6行)

exportHADOOP_HOME=/home/hadoop/hadoop-2.6.0

exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

exportHADOOP_LOG_DIR=$HADOOP_HOME/logs

exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

exportHDFS_CONF_DIR=$HADOOP_HOME/etc/hadoop

exportYARN_CONF_DIR=$HADOOP_HOME/etc/Hadoop

如下图:


l  使环境变量生效

source  ~/.bashrc

3.2配置hadoop

l  进入hadoop的配置目录

cd ~/hadoop-2.6.0/etc/hadoop/    (其中~表示当前用户主目录,即:/home/hadoop)


l  修改上图中红色方框中的core-site.xml:

vim core-site.xml

内容如下:

<configuration>

  <property>

    <name>fs.defaultFS</name>

    <value>hdfs://master0:9000</value>

  </property>

  <property>

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

    <value>131072</value>

  </property>

  <property>

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

   <value>file:/home/hadoop/hadoop-2.6.0/tmp</value>

    <description>Abase for othertemporary directories.</description>

  </property>

</configuration>


l  修改上图中红色方框中的hdfs-site.xml:

vim hdfs-site.xml

内容如下:

<configuration>

  <property>

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

    <value>master:9001</value>

  </property>

  <property>

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

   <value>file:/home/hadoop/hdfs/dfs/name</value>

  </property>

  <property>

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

   <value>file:/home/hadoop/hdfs/dfs/data</value>

  </property>

  <property>

    <name>dfs.replication</name>

    <value>2</value>

  </property>

  <property>

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

    <value>true</value>

  </property>

</configuration>


l  将上图红色方框中mapred-site.xml.template文件一份复制为mapred-site.xml

cp mapred-site.xml.templatemapred-site.xml

修改mapred-site.xml:

vim mapred-site.xml

内容如下:

<configuration>

  <property>

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

    <value>yarn</value>

  </property>

  <property>

   <name>mapreduce.jobhistory.address</name>

    <value>master:10020</value>

  </property>

  <property>

   <name>mapreduce.jobhistory.webapp.address</name>

    <value>master:19888</value>

  </property>

</configuration>


l  修改上图中红色方框中的yarn-site.xml:

vim yarn-site.xml

内容如下:

erty>

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

    <value>master:8032</value>

  </property>

  <property>

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

    <value>master:8030</value>

  </property>

  <property>

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

    <value>master:8031</value>

  </property>

  <property>

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

    <value>master:8033</value>

  </property>

  <property>

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

    <value>master:8088</value>

  </property>

</configuration>


l  修改上图中红色方框中的yarn-env.sh:

vim yarn-env.sh

在文件开头添加如下一行内容:

exportJAVA_HOME=/usr /java/jdk1.7.0_79


l  修改上图中红色方框中的slaves:

vim slaves

内容如下:

slave1

slave2


l  三台服务器的hadoop配置是一样的,所以可以先将编译输出安装到其中一台服务器,然后配置好所有配置文件,然后再将整个hadoop目录复制安装到其他服务器中。

如在master中完成配置后:

scp -r/home/hadoop/hadoop-2.6.0 slave1:/home/hadoop/hadoop-2.6.0

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

注意:传输完成后,必须手动创建临时目录(/home/hadoop/hadoop-2.6.0/tmp/)、主节点目录(/home/hadoop/hdfs/dfs/name/)和数据节点目录(/home/hadoop/hdfs/dfs/data/)

4.启动hadoop

l  格式化主节点(只执行一次

hadoop namenode-format

l  在master中执行:

start-dfs.sh

start-yarn.sh

l  用jps命令查看Java进程。

master中应有:

NameNode

SecondaryNameNode

ResourceManager

slave1和slave2中应有:

NodeManager

DataNode

l  浏览器中查看集群状态:

查看HDFS:http://125.216.242.200:50070


查看YARN:http://125.216.242.200:8088


0 0
原创粉丝点击