主要讲解hadoop的入门安装配置
环境为vmware11,CentOS 7,Hadoop 0.20.2,jdk1.8
这里解释下为什么用hadoop0.20.2,虽然最新版的hadoop性能上有了很大的提高,但是随之而来的bug也是明显增多,不稳定的因素也在增加,对于刚接触hadoop的朋友,个人建议使用这个版本,因为稳定,bug少,资料多,用于学习是最适合不过的了。
安装步骤如下(默认已经将CentOS
7安装在vmware11,我安装的是带GUI的服务器):
Jdk准备
a) 卸载自带的openjdk
查看openjdk安装情况
yum list java*
卸载openjdk
yum erase 要卸载的包名 –y
a) 安装jdk1.8\
rpm –i jdk-8u91-linux-x64.rpm
b) 配置环境变量
参考我的这篇文章:http://blog.youkuaiyun.com/feiepuhuo001/article/details/51880875
Hadoop准备
这里解释下为什么要在windows下操作,第一是简单方便,第二是后续eclipse集成时需要这个已经解压的文件。
a) window环境下下载hadoop压缩包并解压
下载下来是tar.gz格式的文件,大部分windows下解压软件都是可以解压的,和解压zip格式文件没什么区别
a) 配置
解压后进入conf目录,修改6个文件
- hadoop-env.sh
正确导入本地的JAVA_HOME目录信息
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
export JAVA_HOME=/usr/java/jdk1.8.0_91
- core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.130:54310/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
这里解释下fs.default.name的属性值最好不要配置localhost,后续eclipse配置时会时不时出些问题,使用ip地址最为稳妥,端口号建议不要设置成9000或者50020这种容易冲突的端口。
- hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.130:54311</value>
</property>
</configuration>
同理最好不要设置成localhost
- masters
192.168.1.130
填上自己的ip就可以了
- slaves
192.168.1.130
填上自己的ip就可以了
a) 打包上传到CentOS上
打包肯定不能用zip打包,linux下当然是tar格式,不过windows下大部分压缩软件不支持tar格式压缩,推荐7z,自行百度下载。
使用ssh工具连接服务器,调用rz命令,上传文件,当然vmware也可以直接复制的.
a) 解压并配置环境变量
服务器上解压
tar –xzvf hadoop.tar
配置环境变量,过程同配置JAVA_HOME,不配置也可以,但是配置后就可以在任意目录下调用hadoop命令
a) ssh免登陆
在我们开始测试之前有非常重要的一步,ssh免登录,我当前用户为hadoop。
命令如下:
ssh-keygen -t rsa -P “”
一路回车到底
cat /home/hadoop/.ssh/id_rsa.pub >> /home/
hadoop/.ssh/authorized_keys测试:
ssh localhost
正常情况如下:
如果你需要输入密码,则表示没有成功,原因大多数情况是权限问题,输入如下命令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
再次测试就可以了。
格式化、运行并测试
命令如下:
格式化:hadoop namenode –format
启动:start-all.sh
测试是否成功:jps
如图所示即为成功,缺一个都是失败的。
如果只缺NameNode,最大的可能是格式化失败,重新格式化,但是之前必须要先删除临时文件,core-site.xml文件里配置的/home/hadoop/tmp这个目录,如果缺好几个进程,则可能是端口冲突,换个端口试试。
- 停止
stop-all.sh
附带资源下载:
http://download.youkuaiyun.com/detail/feiepuhuo001/9573478
如有错误,还望指出,共同进步;手敲累抽搐,装载注出处。