Hadoop完全分布式集群搭建

 


集群信息如下:

主机名

Hadoop角色

Hadoop jps命令结果

Hadoop用户

Hadoop安装目录

master

Master

Node

NameNode

DataNode

JobTracker

TaskTracker

SecondaryNameNode

创建相同的用户的组名:hadoop。

安装hadoop-1.0.3时使用hadoop用户,并且hadoop的文件夹归属也是hadoop:hadoop

/opt/modules/hadoop/

node1

Node

DataNode

TaskTracker

node2

Node

DataNode

TaskTracker

  注:master即使master又是slave.

搭建步骤如下:

配置机器网络环境

修第一台 hostname 为 master

hostname master

检测

hostname

配置主机名 (hostname)

HOSTNAME=master  #主机名

使用 setup 命令配置系统环境

Setup(修改本机IP,关闭防火墙)

重启网络服务

/sbin/service network restart

检查网络IP配置

/sbin/ifconfig

配置集群hosts列表

vi /etc/hosts

安装JAVA JDK系统软件(在root下运行)

./jdk-6u21-linux-i586-rpm.bin

#配置环境变量

vi /etc/profile.d/java.sh

#手动立即生效

source /etc/profile

安装完之后不要忘了将所有者设置为hadoop。

使用命令chown -R hadoop:hadoop

#测试

jps 

创建用户组

groupadd hadoop  添加一个组

useradd hadoop -g hadoop  添加用户

创建 hadoop 代码目录结构

mkdir -p /opt/modules/hadoop/

创建 hadoop 数据目录结构

mkdir -p /data/hadoop/

修改 目录结构权限为为hadoop

chown -R hadoop:hadoop  /opt/modules/hadoop/

chown -R hadoop:hadoop  /data/hadoop/

hadoop的安装

cp hadoop-1.0.3.tar.gz  /opt/modules/hadoop/

cd /opt/modules/hadoop/

tar -xzvf hadoop-1.0.3.tar.gz

chown -R hadoop:hadoop /opt/modules/hadoop/ 将其所有者改为hadoop

运行hadoop看是否成功

 

  修改hadoop的配置文件

首先切换到hadoop用户,su hadoop

1、修改hadoop目录下的conf/hadoop-env.sh文件

加入java的安装路径export JAVA_HOME=/opt/java/jdk

export HADOOP_HEAPSIZE=32

2、把hadoop目录下的conf/core-site.xml文件修改成如下:

<configuration>

  <property>

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

<value>hdfs://master:9000</value>

<!--hadoop namenode 服务器地址和端口,以域名形式-->

  </property>

</configuration>

3、HDFS NameNode,DataNode组建配置,把hadoop目录下的conf/ hdfs-site.xml文件修改成如下:

<configuration>

  <property>

<name>dfs.replication</name>

<value>3</value>

<!--HDFS数据保存份数,通常是3-->

  </property>

  <property>

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

<value>/data/hadoop/hdfs/name</value>

<!--HDFS namenode image 文件保存地址-->

    <description>  </description>

  </property>

  <property>

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

<value>/data/hadoop/hdfs/data</value>

<!-- HDFS数据文件 存储路径,可以配置多个不同的分区和磁盘中,使用,号分隔 -->

    <description> </description>

  </property>

</configuration>

4、配置MapReduce - JobTracker TaskTracker 启动配置,把hadoop目录下的conf/ mapred-site.xml文件修改成如下:

<configuration>

  <property>

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

<value>master:9001</value>

<!--JobTracker rpc主机和端口-->

  </property>

</configuration>

5、把hadoop目录下的conf/ masters文件修改成如下:

    master

6、把hadoop目录下的conf/ slaves文件修改成如下:

    master

    node1

    node2

SSH设置无密码验证

#切换到Hadoop 用户下

su hadoop

cd /home/hadoop/

#生成公钥和私钥

ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsa

#查看密钥内容

cd /home/hadoop/.ssh

cat id_rsa.pub

#复制id_rsa.pub公钥到 authorized_keys 目录

cat id_rsa.pub > authorized_keys

#修改master 密钥权限,非常容易错误的地方。

chmod go-rwx /home/hadoop/.ssh/authorized_keys

#把 master 机器上的 authorized_keys 文件 copy 到 node1 节点上。

scp  /home/hadoop/.ssh/authorized_keys  node1:/home/hadoop/.ssh/

#输入 hadoop 密码

#修改 node1 、node2密钥权限

chmod go-rwx /home/hadoop/.ssh/authorized_keys

  运行hadoop

使用Hadoop用户,切换到hadoop/bin目录下

格式化分布式文件系统./hadoop namenode -format

执行命令./start-all.sh启动hadoop

在master上执行jps命令查看运行的进程如下:

[hadoop@master hadoop]$ jps

3200 SecondaryNameNode

3271 JobTracker

3370 TaskTracker

3002 NameNode

3106 DataNode

5687 Jps

在node1和node2上执行jps结果如下:

[hadoop@node1 ~]$ jps

1477 DataNode

3337 Jps

1547 TaskTracker

访问http://master:50070可以查看分布式文件系统的状态

  运行单词统计程序

    WordCount是hadoop自带的实例,统计一批文本文件中各单词出现的资料,输出到指定的output目录中,输出目录如果已经存在会报错。

 hadoop jar hadoop-0.20.2-examples.jar wordcount input output

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BecksTse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值