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
推荐阅读文章