新手第一次装hadoop,装了整整两天啊,真心伤不起

刚接触linux大概半个月。只是熟悉一些简单的指令。装个hadoop,还是照着练数成金的视频教程装的。还装了整整两天。其实第一次装就没有把hadoop装到用户目录下,不然也就成功了。就因为这个原因。又重装,又出新的错误。现在给出一个新手小白也能装上的方案。

要准备的软件:VMware workstation ,ssh client,linux,hadoop-0.20.2

1.首先在VMware 中装上三个linux系统,并根据windows中的VMnet地址,配置要linux中的IP地址。这块大家可以看其他前辈的帖子。最后要达到linux和windows之间互ping可以ping通。然后用3个ssh client分别连接到三个虚拟机linux系统上。我的三个linux系统的IP分别为192.168.16.77,192.168.16.88,192.168.16.99.


2。在每个linux系统中装上jdk,并且要配置/etc/profile文件中的JAVA_HOME,PATH,CLASSPATH.EXPORT。这部分大家也可以参考其他的帖子。


3,配置/etc/hosts。在其中加入三句语句,分三行写哦。

192.168.16.77           h1
192.168.16.88           h2
192.168.16.99           h3

   其实配置这个文件的作用就是今后你写 h1,系统就能自动将其翻译成192.168.16.77。

   注意事项:在三个linux系统中都要修改。其次是修改之后必须得reboot才能生效。

4.在每个系统中添加相同的用户 hadoop用于启动运行hadoop。这边有点绕口啊,前面的第一个hadoop是你自己useradd的用户,第二个是运行hadoop程序。

即你要在三个系统中分别useradd hadoop,passwd hadoop。

注意:三个系统中的用户名一定要一样。


5.设置免密码登录:

     将三个linux系统logout,然后用hadoop用户分别登陆三个linux系统。默认就是进入用户的目录下。输入

    ssh-keygen -t rsa。然后其中输入几个回车就好了。然后在用户目录下输入 ls -la 就可以看到.ssh目录。

进入.ssh文件夹中。执行一条命令 cp id_rsa.pub authorized_keys.

    然后在其他两个系统分别按照上述步骤操作。最后。将三个系统的中authorized_keys都复制到每个系统的中的authorized_keys中。这个就可以实现ssh免密码登陆了。


6.将hadoop-0.20.2复制到第一台机器的h1的hadoop用户的目录下。用tar -zxvf  hadoop-0.20.2.tar.gz命令进行解压。

7.配置四个文件。

 首先进入hadoop-0.20.2目录的conf目录中,vihadoop-env.sh文件,将JAVA_HOME修改成自己的路径,并且去掉前面的#号、

再配置conf 目录下的core_site.xml.如下

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->


<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://h1:9000</value>
</property>
</configuration>


再配置mapred_site.xml如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->


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


最后配置hdfs_site.xml,如下

[hadoop@h3 conf]$ cat hdfs-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->


<configuration>
#<property>
#<name>dfs.data.dir</name>
#<value>/home/hadoop/dfs/data</value>
#</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>

注意这些配置必须在h1主机上面进行配置。注意这里的第一个配置,我一开始是没有配置的。找了半天没找到。也就是存数据的地方。最后找到在/tmp/hadoop-hadoop(第一个为hadoop程序,第二个是我的用户名)/dfs/data/current。这个目录中保存了所谓的VERSION和你在hadoop使用的数据,blk*********************形式存放的。也就是说我不配置这个路径也是可以的。我看练数成金的视频没有配置就没配置。然后他视频又要找数据块,我一开始又找不到,就按网上的教程重新配置之后,又对namenode进行格式化,格式化就造成了namenode和datanode的namespaceID不一样。说改成一样就好了。所以就又去找ID,找到后改成一样的了,还是不行。所以现在准备第三次重装。这已经是我装hadoop的第三天了。真的是没日没夜的装啊。每次装都能碰到新的问题。虽然感觉很繁琐。但是也感觉的到自己真的是在进步啊!加油啊!!!


8.配置主从机器。

 在conf目录下面,配置vi masters ,输入h1。再配置 vi slaves,输入 h2,h3即可。

9.将在h1主机上配置好的hadoop-0.20.2拷贝到其他两台主机上面。

 将目录切换到用户hadoop目录下,然后执行 scp -r ./hadoop-0.20.2 h2:/home/hadoop.

再执行scp -r ./hadoop-0.20.2 h2:/home/hadoop.


10.然后格式化namenode.

切换到hadoop0.20.2目录下面。执行bin/hadoop namenode -format

11最后执行启动任务。bin/start-all.sh即可。


查看系统运行:在h1 上切换到jdk 的安装目录,再到bin目录,再执行jps可以看到

6877 JobTracker
7012 Jps
6703 NameNode
6821 SecondaryNameNode。

在h2,h3执行相同的jps,可以看到

[hadoop@h3 bin]$ jps
4929 DataNode
5051 Jps
4985 TaskTracker。

这样就证明系统完全运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值