欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hadoop集群配置

程序员文章站 2022-06-08 16:45:03
...
有三台机子:

192.168.1.100   node1   master

192.168.1.101   node2   slaves

192.168.1.102   node3   slaves

这是我配置hadoop分布式集群的步骤,如有问题,请指正。

一. 开通ssh,开机自启动,因为hadoop通过SSH通信

root用户:service sshd start

chkconfig sshd on

reboot 重启

二.添加用户组和用户  hadoop

groupadd hadoop
adduser -g hadoop hadoop

三.修改HOST

修改2个文件:

1./etc/hosts

192.168.1.100   node1

192.168.1.101   node2 
192.168.1.102   node3

2./etc/sysconfig/network,修改

四.配置SSH无密码登陆各机器

我们现在要实现在node1上用hadoop用户可以ssh不输密码直接连通 node2,node3。

切换到hadoop用户  # su hadoop

然后写命令:# ssh-keygen -t rsa,一直回车,

这样就会在当前用户的根目录/.ssh/下生成一对密钥,

# cp id_rsa.pub authorized_keys

# ssh localhost 看是否能连通本机。第一次登陆会提示Are you sure you want to continue connecting (yes/no)? 回答yes

# scp  authorized_keys  hadoop@node2:~/.ssh/

# scp  authorized_keys  hadoop@node3:~/.ssh/

# ssh node2

# ssh node3

注:有时候把公钥copy过去也无效,老是让输入密码,这个的原因之一是处于安全问题,需要改变下权限:
到node2和node3的hadoop目录下  //usr/hadop/.ssh/

chmod 600 authorized_keys
chmod 700 -R .ssh

五.安装JAVA

# mkdir /usr/local/java

# cd /usr/local/java

# cp jdk-6u22-linux-i586.bin  ./

# chmod +x jdk-6u22-linux-i586.bin

# ./jdk-6u22-linux-i586.bin

# vim /etc/profile,在这个文件末尾配置java的环境变量

export JAVA_HOME=/usr/home/jdk1.6.0_13
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

立即生效

# source /etc/profile

# java -version

java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing),提示这些信息,java安装成功

六.安装hadoop

下载hadoop-0.20.203.0rc1.tar.gz

# tar zxvf hadoop-0.20.203.0rc1.tar.gz

在当前目录生成 hadoop-0.20.203.0 目录

配置环境变量:

# vi /etc/profile

export HADOOP_HOME=/usr/home/hadoop/hadoop-0.20.203.0

export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH

修改目录权限:

chgrp hadoop hadoop-0.20.203.0

chown -R hadoop:hadoop hadoop-0.20.203.0

# cd hadoop-0.20.203.0/conf目录

开始配置hadoop

# vi master

node1

# vi slaves

node2

node3

# vi hadoop-env.sh

export JAVA_HOME=/usr/home/jdk1.6.0_13

# vi core-site.xml

<property>
                <name>fs.default.name</name>
                <value>hdfs://node1:9000</value>
        </property>
        <property>
                <name>webinterface.private.actions</name>
                <value>false</value>
                <final>true</final>
                <desc>这个参数实际上就是为了方便测试用。允许在web页面上对任务设置优先级以及kill任务</desc>
        </property>
<property>
        <name>fs.trash.interval</name>
        <value>1440</value>
        <final>true</final>

        <desc>trash机制,当你删除DFS上的文件或目录时,会自动mv到当前用户的.Trash目录,保留时长1440分钟</desc>
</property>

# vi hdfs-site.xml

<property>
        <name>dfs.name.dir</name>
        <value>/home/hadoop/NameData</value>

        <desc>数据存放目录</desc>
     </property>
     <property>
        <name>dfs.permissions</name>
        <value>true</value>

       <desc>操作dfs文件时,权限验证</desc>

     </property>
     <property>
        <name>dfs.replication</name>
        <value>2</value>

        <desc>数据备份数</desc>

    </property>

# vi mapred-site.xml

 <property>
                <name>mapred.job.tracker</name>
                <value>192.168.239.132:9001</value>
        </property>

# hadoop namenode -format 格式化

# bin/start-all.sh 启动

相关标签: hadoop