您的位置:首页 > 运维架构

Hadoop集群的搭建

2011-11-30 00:51 465 查看
1.准备阶段

(1)在每台机器上安装ubuntu 10.04

(2)增加root 用户 sudo passwd root 输入新的密码

(3)在ubuntu 中启动终端,application - assit - terminal

(4)配置网络 perfernces -> network connection 配置网络地址

administration -> network tool 将网卡切换为eth0

(5)安装ssh $ sudo apt-get install ssh

(6)安装Java

1)更改 apt 源,system - administration - software sources - other software -

add - deb http://archive.canonical.com/ lucid partner - close

2)$ apt-get install sun-java6-jdk

3)$ apt-get install sun-java6-jre

(7)安装vmtool。

或者 共享目录,通过 VW 的设置,可以在windows 和 linux 之间设置 共享文件夹,

edit vm settings - options --shared folder

此处设置为 Name:share,Host folder:D:\,Status:Enabled

添加共享文件夹后,可以在Linux虚拟机的/mnt/hgfs 目录下看到对应的windows的共享文件夹。

(8)为了防止被ubuntu的vi的奇怪的使用方法恶心到,

请下载vim

$ apt-get install vim-runtime

$ apt-get install vim

(9)配置java

$ vim /etc/enviroment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$JAVA_HOME/bin"

JAVA_HOME=/usr/lib/jvm/java-6-sun

CLASSPATH=.:/usr/lib/jvm/java-6-sun

(10)修改每台机器的/etc/host

如果该台机器是做NameNode用,要在文件中添加集群中所有的机器的IP地址及其对应的主机名。

如果该台机器是做DataNode用,只需在文件中添加本机和NameNode的IP地址及其对应的主机名。

master作为NameNode,配置该节点的/etc/hosts和/etc/hostname

*.*.*.136 master

*.*.*.137 slave1

*.*.*.138 slave2

*.*.*.139 slave3

在作为DataNode主机上分别配置/etc/hosts和/etc/hostname文件

liumingkong-slave1:136 master 137 slave1

liumingkong-slave2:136 master 138 slave2

liumingkong-slave3:136 master 139 slave3

和/etc/hostname

master主机中,改为master,slave中改为slaveX,

注意要分别注销/etc/hosts的127.0.0.1 名称

重启修改好的文件名称

(10)在所有机器上建立.ssh目录

$ su user

$ cd /home/user

$ mkdir .ssh

(11)在所有机器上生成密钥对,此时以user身份运行

$ ssh-keygen -t rsa

$ cd ~/.ssh

互传公钥

$ cat id_rsamaster.pub id_rsaslave1.pub id_rsaslave2.pub id_rsaslave3.pub > authorized_keys

$ scp authorized_keys slave1:/home/user/.ssh

$ scp authorized_keys slave2:/home/user/.ssh

$ scp authorized_keys slave3:/home/user/.ssh

$ ssh slave1 测试下效果

(12)最后进入所有机器的.ssh目录,改变authorized_keys文件的许可权现

$ chmod 644 authorized_keys

2.安装Hadoop集群

(1)在master上$ tar -zxvf hadoop.tar.gz,或者在共享目录中拷贝这个hadoop文件到/home/user/目录下

(2)编辑conf/hadoop-env.sh文件

$ vim conf/hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-6-sun

export HADOOP_HOME=/home/user/hadoop

(3)编辑 conf/core-site.xm 文件的内容

<configuration><property><name>fs.default.name</name><value>hdfs://master:60000</value>

</property><property><name>mapred.job.tracker</name> <value>master:60001</value>

</property><property><name>dfs.replication</name><value>1</value></property></configuration>

(4)在 master 上编辑 conf/hdfs-site.xml

<configuration>

<property><name>dfs.name.dir</name>因为我们以用户启动的,非root的

<value>/home/liumingkong/hadoop-file/hadoop/hadoopfs/name</value><description></description></property>

<property><name>dfs.data.dir</name><value>/home/liumingkong/hadoop-file/hadoop/hadoopfs/data</value><description></description></property>

<property><name>fs.default.name</name><value>hdfs://master:60000</value></property>

<property><name>mapred.job.tracker</name><value>master:60001</value></property>

<property><name>hadoop.tmp.dir</name><value>/home/liumingkong/hadoop-file/hadoop/temp</value></property>

</configuration>

(5)在 master 上编辑 conf/maper-site.xml

<configuration>

<property><name>fs.default.name</name><value>hdfs://master:60000</value></property>

<property><name>mapred.job.tracker</name><value>master:60001</value></property>

</configuration>

(6)在 master 上编辑 conf/masters

master

编辑 conf/slaves 修改为

slave1

slave2

slave3

(7)把hadoop复制到其他的机器上去。

$ cd /home/user

$scp -r hadoop slave1:/home/user

$scp -r hadoop slave2:/home/user

$scp -r hadoop slave3:/home/user

3.运行Hadoop集群

(1)在master上格式化分布式文件系统

$ bin/hadoop namenode -format

(2)启动Hadoop守护进程,在master 上启动 NameNode ,JobTracker,Secondary,在ubuntu2,3上启动DataNode和TaskTracker

$ bin/start-all.sh

访问http://master1:50070 查看整个分布式文件系统的状态

4.在已经搭建好的集群中增加节点的操作

(1)在新机器上安装ubuntu 10.04

(2)增加root 用户 sudo passwd root 输入新的密码

(3)在ubuntu 中启动终端,application - assit - terminal

(4)配置网络 perfernces -> network connection 配置网络地址

administration -> network tool 将网卡切换为eth0

(5)安装ssh $ sudo apt-get install ssh

(6)安装Java

1)更改 apt 源,system - administration - software sources - other software -

add - deb http://archive.canonical.com/ lucid partner - close

2)$ apt-get install sun-java6-jdk

3)$ apt-get install sun-java6-jre

(7)安装vmtool。

或者 共享目录,通过 VW 的设置,可以在windows 和 linux 之间设置 共享文件夹,

edit vm settings - options --shared folder

此处设置为 Name:share,Host folder:D:\,Status:Enabled

添加共享文件夹后,可以在Linux虚拟机的/mnt/hgfs 目录下看到对应的windows的共享文件夹。

(8)为了防止被ubuntu的vi的奇怪的使用方法恶心到,

请下载vim

$ apt-get install vim-runtime

$ apt-get install vim

(9)配置java

$ vim /etc/enviroment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$JAVA_HOME/bin"

JAVA_HOME=/usr/lib/jvm/java-6-sun

CLASSPATH=.:/usr/lib/jvm/java-6-sun

(10)修改新机器的/etc/host,hostname

liumingkong-slaveX:136 master x slaveX

(11)在新机器上建立.ssh目录

$ su user

$ cd /home/user

$ mkdir .ssh

(12)在master 上生成密钥对,此时以user身份运行

$ cd ~/.ssh

$ scp authorized_keys slaveX:/home/user/.ssh

$ ssh slaveX 测试下效果

(13)在master上,把hadoop复制到新机器上去。

$ cd /home/user

$scp -r hadoop slaveX:/home/user

云计算实验----HDFS使用

1.HDFS管理

$ bin/hadoop dfsadmin -report 报告HDFS的基本统计信息

$ bin/hadoop dfsadmin -help 列出当前支持的所有命令

2.添加节点

修改slaves 文件,加入新节点主机名,再建立到新节点的无密码的ssh连接,运行启动命令

$ bin/start-all.sh

3.负载均衡

$ bin/start-balancer.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: