伪分布式:

只需要一个虚拟机,所有节点都在该虚拟机上

1.首先,需要安装JDK,将上传的jdk解压

tar -zxvf jdk压缩包

2.配置环境变量,位置:/etc/profile

export JAVA_HOME=/opt/software/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin

注:两个地方都能配置     用户变量  .bashrc          系统变量 /etc/profile

3.让环境变量生效

source /etc/profile

4.检验JDK是否配置成功

java -version

如果出现jdk的版本号,一切ok

5.解压hadoop包

tar -zxvf hadoop-2.6.5.tar.gz

6.更改slaves配置文件   路径----->hadoop-2.6.5/etc/hadoop/下

进来该文件后,删除原有配置,写上自己的主机名

7.在hdfs-site.xml增加配置,将下面的配置添加到<configuration>标签里面

<property>
	<name>dfs.replication</name>     //设置备份个数
	<value>1</value>
</property>

<property>     
	<name>dfs.namenode.secondary.http-address</name>   //secondaryNamenode
	<value>node01:50090</value>
</property>

8.在core-site.xml增加配置,将下面的配置添加到<configuration>标签里面

<property>
	<name>fs.defaultFS</name>            //namenode
	<value>hdfs://node01:9000</value>    
</property>
<property>
	<name>hadoop.tmp.dir</name>          //namenode启动后产生的信息
	<value>/var/abc/hadoop/local</value>
</property>

9.把hadoop-2.6.5/etc/hadoop/路径下*-env.sh(名字里带env)的文件内部所有的java路径改为绝对路径

例如:JAVA_HOME=/opt/software/jdk1.8.0_121
只要配置文件里面有JAVA_HOME,就改为绝对路径

10.格式化,让所有的文件生效

hdfs namenode -format

hdfs命令在bin目录下,所以得先cd到bin目录

11.启动

/opt/software/hadoop/sbin
./start-dfs.sh

12.这样启动太过麻烦,所以我们可以配置hadoop的环境变量,可以在任何路径启动

export HADOOP_HOME=/opt/software/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

13.我们可以在网页上访问:  IP地址:端口号             如果页面显示正常,代表配置成功

http://IP地址:50070

SSH免密登录:

原因:节点与节点之间进行交互是需要输入密码的,每次都手动输入密码太过麻烦,所以要进行该操作

ssh-keygen -t rsa //在客户端生成一对密钥(公钥/私钥),指定加密算法为rsa
//一直回车就行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01  //将客户端公钥发送到服务端
//输入几次yes

完全分布式集群:

从节点分布在几个服务器上,所有角色都存在

1.首先,在主节点的虚拟机配置多个节点的网络映射    /etc/hosts

IP地址 node01
IP地址 node02
IP地址 node03
IP地址 node04

2.多个节点之间免密登录

在每一个节点上运行ssh-keygen -t rsa     产生他们自己的密钥

在node01执行

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04

 3.用scp命令把文件传到其他节点

scp /etc/hosts root@IP地址:/etc        //如果报错,把IP地址换为主机名

 4.修改slaves文件----设置DN节点的启动位置

node02
node03
node04

5.修改hdfs-site.xml

<property>
   <name>dfs.replication</name>                   //副本数量
   <value>3</value>
</property>
<property>
   <name>dfs.namenode.secondary.http-address</name>     //SSN的位置
   <value>node02:50090</value>
</property>

6.将修改完的文件发送到其他节点上

scp -r /etc/hadoop文件名 root@node02:/opt/software

7.格式化,让配置文件生效

hdfs namenode -format          //只需要在主节点格式化

 8.启动集群

start-dfs.sh

9.网站访问主节点的IP地址:50070,3代表3个DN

搭建hadoop伪分布式环境心得 hadoop伪分布式集群搭建过程_Linux

如果该行显示0,代表DN没启动,解决方式:

        ①先关闭集群

        ②删除所有服务器上的abc文件----core-site.xml配置的namenode启动后产生的信息

        ③在主节点的服务器上格式化

        ④启动集群

注意事项:

        ①每台服务器必须保证网络畅通,用ping命令测试

        ②必须关闭每台服务器的防火墙