我们假定,你已经下载了Hadoop的一个版本,并解压完毕。
我们配置了两台服务器:
1.了让大家开发和研究的方便,现做了两台 Debian/Linux 服务器。hadoop-1: 192.168.60.41 hadoop-2: 192.168.60.42 没装图形界面,
只能通过 ssh 连入。 root:abc123 为了不互相干扰,大家用 root 进入后最好自建新的用户来做实现。
数据库集群研究,分布式应用研究, Linux 集群研究 都可以使用的。
有什么需要,或需要新的服务器来做试验,可以跟我联系。
2.
/*
1.首先进入到HOME目录下将自己原来的用户和目录删除cd /home
2.删除用户deluser tuping.记得在两个服务器都要删除掉
3.然后LS,查看目录下所有的目录,然后删除rm -r tuping
*/
在linux 远程登录 155 转到 root 用户 mount -t smbfs -o user=jobcn,password=jobcn //192.168.61.155/share /mnt 然后 cd /mnt ls 就会看到所有目录
分布式计算开源框架Hadoop入门实践:
http://blog.csdn.net/cenwenchu79/archive/2008/08/29/2847529.aspx
Subject: 分布式应用框架 Hadoop 安装
> 假设现有两台装有 Debian/Linux 的电脑,它们分别命名为:
> hadoop-1.jobcn.com 简称 h1,IP为:192.168.80.101
> hadoop-2.jobcn.com 简称 h2,IP为:192.168.80.102
>
> 在 h1,h2上执行
>
/*
> #apt-get install sun-java6-jdk
> #apt-get install ssh
> #apt-get install rsync
> #nano /etc/hosts
> 增加两行:
> 192.168.80.101 hadoop-1.jobcn.com h1
> 192.168.80.102 hadoop-2.jobcn.com h2
>
*/
以上的注释代码都已经执行过了不用执行
3.
> #adduser hadoop
> 密码假设为:abc123
> #su hadoop--一定要记得切换用户
>
> 在 h1 上执行(在这注意在H2上只要建立一个用户就可以了)
> $cd ~
>mkdir .ssh 建立.SSH的目录
>cp hadoop-0.18.1.tar.gz /home/tuping将hadoop-0.18.1.tar.gz这个包考到自己目录的文件夹下
> $ssh-keygen -t dsa -P '' -f .ssh/id_dsa
> $cat .ssh/id_dsa.pub >> .ssh/authorized_keys
> $scp -r .ssh hadoop-2.jobcn.com:/home/tuping/
> $wget http://dev.xiaonei.com/apache-mirror/hadoop/core/hadoop-0.18.1/hadoop-0.18.1.tar.gz--no user--这句不用执行。
> $tar zxvf hadoop-0.18.1.tar.gz--将包解压
> $cd hadoop-0.18.1
>
> $nano conf/hadoop-env.sh--编辑hadoop-env.sh文件(ctrl + x保存退出)
> 增加一行: export JAVA_HOME=/usr/lib/jvm/java-6-sun
>
> $nano conf/slaves
> 修改为:
> hadoop-1.jobcn.com
> hadoop-2.jobcn.com
>
> $nano conf/hadoop-site.xml
> 修改如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop-1.jobcn.com:9000/</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hadoop-1.jobcn.com:9001</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/tuping/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/tuping/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/tuping/dfs/data</value>
</property>
</configuration>
/*
这些属性的有着如下的意思:
fs.default.name - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。 DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的 块列表。
dfs.data.dir - 这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样 的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值是/temp, 这个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆盖。
dfs.name.dir - 这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。
*/
>
> $scp -r ../hadoop-0.18.1 hadoop-2.jobcn.com:/home/tuping/--是链接服务器2。需要等待一段时间
> $bin/hadoop namenode -format---格式化一下我们刚刚配置的hadoop文件系统。
> $bin/start-all.sh--(或者)bin/start-dfs.sh(这只是启动两种不同的模式)
-----
> $bin/hadoop fs -put /initrd.img initrd.img
> $bin/hadoop fs -ls
>
> 查看运行情况:
> http://192.168.60.41:50070/
> http://192.168.60.41:50030/
>
----
退出:bin/stop-dfs.sh
必须位于BIN的目录才能执行stop-dfs.sh命令
> $bin/stop-all.sh