hadoop-2.6集群安装

来源:互联网 发布:阿里云邮箱登陆 编辑:程序博客网 时间:2024/05/21 15:07

 

基础环境

 

sshd配置

 

目录:/root/.ssh 

 

整个配置就四个shell

 

1.        每台机器操作一次 

ssh-keygen   -t rsa

生成ssh密钥,生成的文件如下:

id_rsa

id_rsa.pub

.pub为公钥,没有.pub为私钥

 

2.        每台机器操作一次

cp   id_rsa.pub     authorized_keys

 

authorized_keys不能错,保留的规定

 

3.        给每个机器拷一次,分发。

scp            id_rsa.pub                 hadoop262:/root/.ssh/hadoop261.pub 

 

拷贝本机公钥到hadoop262机器的/root/.ssh目录下,新文件名hadoop261.pub

 

4.        加入其它机器的公钥到本机,就可以不输入密码了

cat             hadoop261.pub        >>   authorized_keys

 

有多少加多少,我的是除id_rsa.pub文件外,其它的xxxxx.pub都是其它机器,全加上;

 

注意事项:

/etc/hosts的主机映射,对本机的映射,/etc/sysconfig/network里的本机hostname,只要不冲突,一般不会有问题,怕就怕绕晕了自己,冲突了

 

我的shell脚本:

 

/etc/hosts  -->  配置

# masterhadoop  localhost

192.168.121.218         hadoop261

# salve1hadoop

192.168.121.228         hadoop262

# salve2hadoop

192.168.121.238         hadoop263

127.0.0.1   localhost localhost.localdomain   hadoop261

 

/etc/sysconfig/network  -->  配置

NETWORKING=yes

HOSTNAME=hadoop261

GATEWAY=192.168.121.1

 

 

 

 

ftp 配置

我这里主要是要上传工具方便,并不是要做专业的 ftp服务器,所以我只使用root用户登陆上传,root用户只需要把ftp屏蔽的用户列表去掉root,打开防火墙,关闭selinux即可.

 

在以下文件一般第一行就是root  使用#注释掉  其它的不用管。

vim/etc/vsftpd/user_list 

vim/etc/vsftpd/ftpusers

 

运行setup

关闭防火墙,如图:

用箭头下翻,回车(enter)确认,进去把*去掉,示不运行了。接着选择[系统服务] ,一般是最后,把vsftpd前面勾选,如图:

*示运行,没有*示未运行,在这个窗体顺便把iptables也反选,一般iptables是有*的;

vsftpd勾选可以让他随系统启动

 

 

接着关闭selinux:

 

暂时关闭:

setenforce     0

 

永远关闭:

sed  -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

 

getenforce可以获取当前selinux的状态:

Disabled状态为已经永久关闭

Permissive为暂时关闭状态

 

如果IP配置正确,现在启动或重启vsftpd就可以用了,默认vsftpd是不启动的.

service   vsftpd   restart   重启

service   vsftpd   start     启动

 

 

环境规划

 

特别提醒:

在安装前首先规划一下主机名,IP,hadoop目录,java目录。

 

 

解压文件移动文件(重命名)

 

java_home             

/home/jdk1.7

hadoop home                   /home/hadoop_app/hadoop-2.6.0

 

 

环境变量配置

  重复执行在所有机器上

重复vim  /etc/profile

 

exportJAVA_HOME=/home/jdk1.7

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

exportPATH=$JAVA_HOME/bin:$PATH

# hadoop

exportHADOOP_HOME=/home/hadoop/hadoop-2.6.0

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

 

 

重复hostname:

vim   /etc/hosts

  重复执行在所有机器上

# masterhadoop

192.168.121.218         hadoop261

# salve1 hadoop

192.168.121.228         hadoop262

# salve2 hadoop

192.168.121.238         hadoop263

 

127.0.0.1   localhost localhost.localdomain        hadoop262

#::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6

 

/etc/sysconfig/network

 

NETWORKING=yes

HOSTNAME=hadoop262

GATEWAY=192.168.121.1

 

hadoop配置

 

 

 

 

core-site.xml

<?xmlversion="1.0" encoding="UTF-8"?>

<?xml-stylesheet  type="text/xsl"  href="configuration.xsl"?>

<configuration>

<property>

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

<value>/home/hadoop/tmp</value>

<description>Abasefor other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://192.168.121.218:9000</value>

</property>

<property>

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

<value>4096</value>

</property>

</configuration>

 

 

hdfs-site.xml

 

 

<?xmlversion="1.0" encoding="UTF-8"?>

<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>

<!--

Licensedunder the Apache License, Version 2.0 (the "License");

you maynot use this file except in compliance with the License.

You mayobtain a copy of the License at

 

http://www.apache.org/licenses/LICENSE-2.0

 

Unlessrequired by applicable law or agreed to in writing, software

distributedunder the License is distributed on an "AS IS" BASIS,

WITHOUTWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See theLicense for the specific language governing permissions and

limitationsunder the License. See accompanying LICENSE file.

-->

 

<!--Put site-specific property overrides in this file. -->

 

<configuration>

<property>

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

<value>file:///home/hadoop_app/dfs/name</value>

</property>

<property>

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

<value>file:///home/hadoop_app/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

 

<!--

<property>

<name>dfs.nameservices</name>

<value>hadoop-cluster1</value>

</property>

-->

 

<property>

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

<value>192.168.121.218:50090</value>

</property>

<property>

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

<value>true</value>

</property>

 

</configuration>

 

mapred-site.xml

 

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>

<configuration>

 

<property>

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

<value>yarn</value>

<final>true</final>

</property>

 

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>192.168.121.218:50030</value>

</property>

<property>

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

<value>192.168.121.218:10020</value>

</property>

<property>

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

<value>192.168.121.218:19888</value>

</property>

<property>

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

<value>http://192.168.121.218:9001</value>

</property>

</configuration>

 

 

yarn-site.xml

 

<property>

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

<value>hadoop261</value>

</property>

 

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

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

<value>192.168.121.218:8032</value>

</property>

<property>

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

<value>192.168.121.218:8030</value>

</property>

<property>

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

<value>192.168.121.218:8031</value>

</property>

<property>

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

<value>192.168.121.218:8033</value>

</property>

<property>

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

<value>192.168.121.218:8088</value>

</property>

 

 

vi hadoop-env.sh  和 yarn-env.sh 

 

在开头添加如下环境变量,我试过不加报找不到JAVA_HOME的错

 

export JAVA_HOME=/home/java/jdk1.7

# Thejava implementation to use.

exportJAVA_HOME=${JAVA_HOME}

 

其实环境变量已经可以读了,我还是加上去了

 

 

单机完成,  重复执行在所有机器上

可以使用hadoop   dfsadmin  -report查看一下有没有报错

 

修改slaves

 

# hadoop261

hadoop262

hadoop263

 

 

这里可以看到,挺简单,集不集群,只在于slaves。

 

省事的配置方法:

在一台机器上配置完成后,把java和hadoop整体目录拷到其它机器上按原目录组织,再加上环境变量即可。

 

 

格式化文件系统:

 

 

 

hadoopnamenode  -format

 

如果不格输入hadoop   dfsadmin  -report报如下错:

report:Call From hadoop261/192.168.121.218 to hadoop261:9000 failed on connectionexception: java.net.ConnectException: 拒绝连接; For moredetails see: http://wiki.apache.org/hadoop/ConnectionRefused

 

 

 

验证安装:

启动:

 

sbin/start-all.sh

 

启动完成后输入:

[root@hadoop261sbin]# jps

56745Jps

56320SecondaryNameNode

56465ResourceManager

56129NameNode

 

 

在本机浏览输入地址:

http://192.168.121.218:8088/cluster

 

结果如图:

 

输入地址:http://192.168.121.218:50070/

 

Datanode Information

 

 

这里试过使用64 位rhel 6,启动有问题,又换回64位的hadoop2.6重新整。

 

 

第一次使用的hostname配置地址,也报了错,就全改成IP了

 

明天继续wordcount,如有兴趣可以进QQ群208881891进行讨论

 

 

 

 

 

 

 

 

 

 

 

 

 

 


0 0