码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS6.5系统下Hadoop2.6.0完全分布式环境安装与配置信息介绍

时间:2015-08-27 15:26:23      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:linux   centos   hadoop   

文件配置:

(注:修改配置文件需要使用root用户,否则修改失败

vim /etc/sysconfig/network

修改主机名为:HOSTNAME=Master

vim /etc/sysconfig/network-scripts/ifcfg-eth0

查看IP地址、网关、DNS服务器是否正确

vim /etc/sysconfig/network-scripts/ifcgf-eth0

如果不正确,进行修改

ifconfig

修改后的结果

 

vim /etc/hosts

配置hosts文件,主机和IP地址映射

(注:IP地址根据要求而定)

192.168.1.2 Master

192.168.1.3 Slave1

修改后的结果

 

SSH配置:

(注:如果ssh没有安装,可在root下安装)

yum install ssh 

安装SSH协议

yum install rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)

service sshd restart

启动服务

 

(注:以下操作在普通用户下操作)

ssh Master

登录本机,此时需要密码

(注:设置无密码登录本机)

exit

退出刚才的 ssh Master

cd ~/.ssh/

若没有该目录,请先执行一次ssh Master

ssh-keygen -t rsa

会有提示,都按回车就可以

cat id_rsa.pub >> authorized_keys

加入授权

(注:经过上述步骤,还是会提示输入密码,要做下面两个修改)

 

chmod 600 ~/.ssh/authorized_keys

修改文件"authorized_keys"权限

su -

进入root用户,在root用户下操作

vim /etc/ssh/sshd_config

root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容

###############

RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

###############

service sshd restart

重启

exit

退出root用户

 

ssh Master

登录本机,此时不需要密码

 

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.3:~/

复制文件"id_rsa.pub"到服务器IP"192.168.1.3"的用户为"hadoop""/home/hadoop/"下面

 

(注:下面在Slave1上操作)

mkdir ~/.ssh

"/home/hadoop/"下创建".ssh"文件夹

这一步并不是必须的,如果在Slave1"/home/hadoop"已经存在就不需要创建了,因为我们之前并没有对Slave机器做过无密码登录配置,所以该文件是不存在的。用下面命令进行创建。

(注:用hadoop登录系统,如果不涉及系统文件修改,一般情况下都是用我们之前建立的普通用户hadoop进行执行命令)

 

chmod 700 ~/.ssh

修改文件夹".ssh"的用户权限,把他的权限修改为"700"

(注:如果不进行,即使你按照前面的操作设置了"authorized_keys"权限,并配置了"/etc/ssh/sshd_config",还重启了sshd服务,在Master能用"ssh localhost"进行无密码登录,但是对Slave1进行登录仍然需要输入密码,就是因为".ssh"文件夹的权限设置不对。这个文件夹".ssh"在配置SSH无密码登录时系统自动生成时,权限自动为"700",如果是自己手动创建,它的组权限和其他权限都有,这样就会导致RSA无密码远程登录失败)

 

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

chmod 600 ~/.ssh/authorized_keys

Master的公钥追加到Slave1的授权文件"authorized_keys"中去

 

(注:用root用户修改"/etc/ssh/sshd_config",方法同上)

su -

进入root用户

vim /etc/ssh/sshd_config

root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容

###############

RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

###############

service sshd restart

重启

exit

退出root用户

 

(注:在Master上登录Slave1

ssh Slave1

登录Slave1,不需要密码

 

Java环境配置:

计划:

使用U盘将hadoop-2.6.0.tarjdk-7u51-linux-x64.tar拷贝到CentOS系统中

备选计划1

修改主机IP,直接上网下载

备选计划2

按照教程要求,搭建VSFTP服务器

(注:CentOS系统不能识别NTFS格式的U盘,将U盘重新格式化成FAT32的,可读取)

 

采用U盘方式,将所需文件拷贝到/home/hadoop/

(注:使用root用户)

mkdir /usr/local/java

"/usr/local"下创建"java"文件夹

cp /home/hadoop/jdk-7u51-linux-x64.tar.gz /usr/local/java

"jdk-7u51-linux-x64.tar.gz"复制到"/usr/local/java"文件夹中

cd /usr/local/java

打开/usr/local/java文件夹

tar -zxvf jdk-7u51-linux-x64.tar.gz -C  /usr/local/java

解压到/usr/local/java文件夹

 

(注:设置环境变量)

vim /etc/profile

编辑/etc/profile文件

(注:在文件末尾插入下列内容)

# set java environment

export JAVA_HOME=/usr/local/java/jdk1.7.0_51

export JRE_HOME=/usr/local/java/jdk1.7.0_51/jre

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

source /etc/profile

使配置生效

java -version

查看版本信息,验证是否安装成功

 

(注:设置环境变量,转到普通用户下)

vim ~/.bashrc

编辑.bashrc文件

(注:在文件末尾插入下列内容)

# set java environment

export JAVA_HOME=/usr/local/java/jdk1.7.0_51

export JRE_HOME=/usr/local/java/jdk1.7.0_51/jre

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

(注:在文件末尾插入上列内容)

source ~/.bashrc

使配置生效

 

(注:在root和普通用户下验证配置是否成功)

java -version

查看版本信息,验证是否安装成功

(注:信息如下所示)

[root@Master ~]# java -version

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

(注:信息如上所示)

 

(注:安装其他主机)

scp /home/hadoop/jdk-7u51-linux-x64.tar.gz hadoop@192.168.1.3:~/

"Master.Hadoop"文件夹"/home/hadoop/"JDK复制到其他Slave"/home/hadoop/"下面

(注:格式为:scp /home/hadoop/jdk-6u31-linux-i586.bin 远程用户名@远程服务器IP:~/

 

安装Hadoop

cp /home/hadoop/hadoop-2.6.0.tar.gz /usr/local

"hadoop-2.6.0.tar.gz"复制到"/usr/local"目录下面

cd /usr/local

进入"/usr/local"目录

tar -zxvf hadoop-2.6.0.tar.gz

解压"hadoop-2.6.0.tar.gz"安装包

mv hadoop-2.6.0 hadoop

"hadoop-2.6.0"文件夹重命名"hadoop"

chown -R hadoop:hadoop hadoop

(注:chown -R hadoop:hadoop(用户名:用户组) hadoop(文件夹))

将文件夹"hadoop"读权限分配给hadoop用户

rm -rf hadoop-2.6.0.tar.gz

删除"hadoop-2.6.0.tar.gz"安装包

 

mkdir /usr/local/hadoop/tmp

"/usr/local/hadoop"创建"tmp"文件夹

vim /etc/profile

配置"/etc/profile",配置信息如下

(注:信息如下所示)

# set hadoop path

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

(注:信息如上所示)

(注:上面的信息不能多打空格,否则,会报not a valid identifier错误)

 

配置Hadoop

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

配置hadoop-env.sh文件,注意它的目录,配置信息在下面

(注:信息如下所示)

# set java environment

export JAVA_HOME=/usr/local/java/jdk1.7.0_51

(注:信息如上所示)

 

(注:配置其他文件)

cd /usr/local/hadoop/etc/hadoop

打开路径,需要配置的文件都保存在这里

 

vim slaves

将原来 localhost 删除,把所有Slave的主机名写上,每行一个,例如我只有一个 Slave节点,那么该文件中就只有一行内容:Slave1

 

vim core-site.xml

配置core-site.xml

(注:修改配置信息如下所示)

<configuration>

<property>

    <name>fs.defaultFS</name>

    <value>hdfs://Master:9000</value>

</property>

<property>

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

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

    <description>Abase for other temporary directories.</description>

</property>

</configuration>

(注:修改配置信息如上所示)

 

vim hdfs-site.xml

配置hdfs-site.xml

(注:修改配置信息如下所示)

<configuration>

<property>

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

    <value>Master:50090</value>

</property>

<property>

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

    <value>file:/usr/local/hadoop/tmp/dfs/name</value>

</property>

<property>

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

    <value>file:/usr/local/hadoop/tmp/dfs/data</value>

</property>

<property>

    <name>dfs.replication</name>

    <value>1</value>

</property>

</configuration>

1代表Slave机的个数)

(注:修改配置信息如上所示)

 

文件mapred-site.xml,这个文件不存在,首先需要从模板中复制一份

cp mapred-site.xml.template mapred-site.xml 

vim mapred-site.xml

配置mapred-site.xml

(注:修改配置信息如下所示)

<configuration>

<property>

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

    <value>yarn</value>

</property>

</configuration>

(注:修改配置信息如上所示)

 

vim yarn-site.xml

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

</configuration>

 

复制Hadoop文件到Slave主机:

cd /usr/local

打开usr路径

rm -r ./hadoop/tmp

删除tmp文件夹,原因是前面如果做过伪分布式实验,会留下一些内容,影响后面的实验;如果没有做过伪分布式实验,则不需要删除

sudo tar -zcf ./hadoop.tar.gz ./hadoop

压缩

scp ./hadoop.tar.gz Slave1:/home/hadoop

复制到Slave1主机上

 

接下来在Slave主机上操作:

sudo tar -zxf /home/hadoop/hadoop.tar.gz -C /usr/local

复制到/usr/local路径下

chown -R hadoop:hadoop /usr/local/hadoop

要给"Slave1"服务器上的用户hadoop添加对"/usr/local/hadoop"读权限。

 

启动及验证:

(注:一下步骤在普通用户下进行)

Master主机上操作:

cd /usr/local/hadoop/

打开/usr/local/hadoop/路径

bin/hdfs namenode -format

 

(注:在root用户下关闭防火墙)

service iptables stop

关闭防火墙

 

(注:重新转到普通用户下)

首次初始化

sbin/start-dfs.sh

sbin/start-yarn.sh

启动

bin/hdfs dfsadmin -report

检查是否成功,查看Hadoop集群的状态

http://master:50070/

通过Web页面看到查看DataNodeNameNode的状态

http://master:8088/cluster

通过Web界面查看任务进度

sbin/stop-dfs.sh

sbin/stop-yarn.sh

关闭


Hadoop2.6.0下载地址:

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

http://hadoop.apache.org/releases.html


JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

CentOS6.5系统下Hadoop2.6.0完全分布式环境安装与配置信息介绍

标签:linux   centos   hadoop   

原文地址:http://blog.csdn.net/wang_zhenwei/article/details/48026641

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!