hadoop完全分布式配置

Hadoop的经验总结

一、  准备工作:

①   安装虚拟机:要把ip设为静态的,不然自动重启时ip会有变化;在虚拟机上安装好JDK,然后克隆两台虚拟机,Ip分别为:172.19.121.123、172.19.121.121、172.19.121.124,在三台机器相同路径下创建相同的用户,在用户下安装hadoop。

②      Hadoop安装,在官网下载tar.gz安装包,解压即可.

二、  hadoop配置:

①      配置/etc/hosts


②      配置/etc/sysconfig/network(加上主机名固定)

123机器上配置:


121、124机器上的配置将HOSTNAME改为相应的主机名即可

为了使得重新启动系统后仍能保持如上的主机名称,还分别需要在各节点执行类似如下的命令:$sed -i 's@\(HOSTNAME=\).*@\1y123@g'  /etc/sysconfig/network

$hostname=y123

③      配置ssh互信:

在y121、y123、y124三个主机的 /home/用户名 路径下操作如下命令:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

$chmod 600 .ssh/authorized_keys(权限不对互信会不成功)

然后将各自的authorized_keys拷贝到其他两台机器上,确保每台机器authorized_keys里都有其他机器的authorized_keys,如果mastaer(y123)互信不通其他的机器,说明互信顺序错误,应先将y123的authorized_keys拷贝到另两台机器的authorized_keys下面。

④      配置conf/hadoop-env.sh

释放JAVA_HOME配置,值为jdk安装路径(如/usr/java/jdk1.6.0_26)

⑤      配置conf/core-site.xml


⑥      配置conf/hdfs-site.xml

Masters的配置:


Slaves的配置:


⑦      配置conf/mapred-site.xml


三、  Hadoop的启动、停止

①      初始化:$ bin/hadoop namenode –format

②      启动:$ bin/start-all.sh

也可以分别启动:$bin/start-dfs.sh,$bin/start-dfs.sh

③   Hadoop 运行后,可通过网页的形式浏览相关信息:

http://172.19.121.123:50070/

http://172.19.121.123:50030/

④   $jps //用此命令查看相关的进程信息

其中master显示:


Slaves显示:


四、  测试

 在/home/用户名/hadoop目录下执行:

1. $bin/hadoop dfs -putconf/core-site.xml input   //将conf/目录下的 core-site.xml 作为输入放在 input中;

2. $bin/hadoop jarhadoop-examples-1.1.1.jar wordcount input output //执行任务,并将结果输出至output 文/件夹中;

3. $bin/hadoop dfs-cat output/* 或者#cat output/*  //查看输出的结果信息

#bin/hadoop dfs-get output output //将dfs 中的 output 文件输出到本地 output 中;

4. 关闭 Hadoop

$bin/stop-dfs.sh

$bin/stop-mapred.sh或者bin/stop-all.sh

五、  常见错误

1.在做wordcount例子时报org.apache.hadoop.security.AccessControlException:org.apache.hadoop.security.AccessControlException: Permission denied:user=yuyaox, access=EXECUTE, inode="system":yyx:supergroup:rwx------atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

解决:在conf/hdfs-site.xml里加
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

2. ERRORhdfs.DFSClient: Failed to close file/user/yyx/inputorg.apache.hadoop.ipc.RemoteException: java.io.IOException: File/user/yyx/input could only be replicated to 0 nodes, instead of 1

解决:只需在core-site.xml,并且value里的路径尽可能的浅。

3. 经常性的datanode起不来,解决办法:将master里conf/hdfs-site.xml文件的name.dir相应路径下的文件夹及slave 里data.dir相应路径下的data文件夹给删了,再重新初始化,重启hadoop。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值