Hadoop的部署有三种:
单机部署:无进程
伪分布式部署:进程存在+1个节点,也是我们说的单节点,适合开发
集群部署:进程存在+N个节点,搭建集群,适合开发+生产
我们接下来部署的是伪分布式部署
1、将编译好的Hadoop的压缩包复制到software目录下
[root@hadoop000 target]# cp hadoop-2.8.1.tar.gz /opt/software/
2、切换到software目录下,tar 命令解压
[root@hadoop000 software]# tar -xzvf hadoop-2.8.1.tar.gz3、配置环境变量,将HADOOP_HOME和PATH添加进去,并source生效
[root@hadoop000 ~]# vi /etc/profile
export HADOOP_HOME=/opt/software/hadoop-2.8.1
export PATH=$HADOOP_HOME/bin:$PROTOC_HOME/bin:$FINDBUGS_HOME/bin: $MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
4、输入which hadoop查看
[root@hadoop000 hadoop-2.8.1]# which hadoop
/opt/software/hadoop-2.8.1/bin/hadoop
5、Hadoop部署完成
配置Hadoop
注意:配置.xml文件的时候第一行和第二行不要删除
1、切换到Hadoop配置文件的目录下
[root@hadoop000 /]# cd /opt/software/hadoop-2.8.1/etc/hadoop/
2、修改core-site.xml文件,将下列配置信息添加进去,这是定义hdfs的存储的路径
3、修改hdfs-site.xml文件,将下列配置信息添加进去,这是配置hdfs的副本数,因为我们现在搭建的伪分布式,只有一个节点,所以配为1,集群配置有N个就写N,配置多个副本的好处就是一台机器挂掉了还有下一台,有很好的容错性,只是内存要求会比较高
4、配置ssh localhost,配置好了之后要修改权限,先ssh-keygen,然后四次回车
5、然后切换到.ssh目录下,将生成的公钥追加到authorized_keys文件中,然后ssh 192.168.78.201 date
执行一下date命令,第一次执行需要输入yes,成功后再次执行,直接将日期打印出来,说明信任关系配置成功
6、我们按照官网的要求,将authorized_keys文件的权限改为600,不然执行ssh 192.168.78.201 date还是需要输入密码,修改权限才能对自己配置信任关系成功
7、hdfs进行格式化,但是格式化的时候会报错,解决方案在另一篇博客
[root@hadoop000 bin]# hdfs namenode -format
启动HDFS
1、切换到Hadoop安装目录下的sbin目录,在当前目录启动HDFS,但是会报错,没有找到JAVA_HOME
2、切换到Hadoop下的etc目录下的hadoop文件夹,找到hadoop-env.sh,编辑,将java的安装路径添加到JAVA_HOME
[root@hadoop000 hadoop]# vi hadoop-env.sh
3、再次启动HDFS,成功,HDFS的部署就完成了
4、但是,现在我们HDFS的namenode和datanode都是启动在localhost上面,那我们就只有本机可以访问了,别的机器不可能也以localhost去登录,所以我们需要去修改对应的文件,这样子才方便对外提供服务和集群配置
切换到hadoop目录下的etc文件夹下,进入hadoop目录
①、namenode的修改: 找到hdfs-site.xml,进行编辑,将localhost换成我们自己的IP
②、datanode:找到slaves文件,进行编辑,将我们的IP配置进去
然后我们将HDFS停止,然后再重新启动,stop的时候我们的localhost就已经是我们刚设置的IP了