Hadoop有三种环境:单机模式、伪分布式、完全分布式。由于资源有限,所以这里搭建一个伪分布式环境。
不多说直接上手:
1 SSH建立等效用户
Hadoop本是建立在分布式环境下的,不同的节点之间相互通信是要建立SSH等效用户的。虽然在这里搭建的是伪分布式环境,但是Hadoop环境也要求建立ssh等效用户。
通过命令ps -e|grep ssh可以查看是否有ssh进程在运行。
命令ssh-keygen -t rsa和ssh-keygen -t dsa生成密钥对
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys和cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys将本机的公钥添加到authorized_keys中去,这样允许本机用过ssh的形式免密码登录。
命令:ssh localhost验证是否配置成功,如下:
2 jdk安装
2.1 卸载jdk
命令java -version可以查看本机是否安装jdk,由于我这里本机已经安装了jdk,但是我想安装一个更高级的版本,所以这里会删除掉之前的jdk。
终端输入rpm -qa|grep gcj
我们卸载java开头的文件,使用rpm -e javaXXXXXX
如果有依赖关系使用rpm -e –nodeps javaXXXXXX即可
终端输入命令rpm -qa|grep jdk
使用同上的方法卸载掉java开头的文件
然后输入命令: java -version,可以发现没有jdk了
2.2 安装jdk
使用软件WinSCP将JDK上传到/home/jdk目录下
使用命令: tar -zxvf jdk-8u20-linux-x64.gz解压jdk
重命名解压后的文件包:mv jdk1.8.0_20 jdk
编辑vim /etc/profile,在其最后一行添加:
JAVA_HOME=/home/jdk/jdk
CLASSPATH=.:
JAVAHOME/lib.tools.jarPATH=
JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
是配置生效:source /etc/profile,同时查看jdk是否安装成功:java -version
3 配置hadoop
使用WinSCP上传hadoop-1.0.0-bin.tar.gz到/home/hadoop目录文件夹下
解压缩: tar -zxvf hadoop-1.0.0-bin.tar.gz
重命名解压缩文件: mv hadoop-1.0.0 hadoop
3.1 配置文件hadoop-env.sh
在/home/hadoop/hadoop/conf中找到hadoop-env.sh,并在hadoop-env.sh文件的最后一行添加export JAVA_HOME=/home/jdk/jdk
3.2 配置文件core-site.xml
在/home/hadoop/hadoop/conf中找到core-site.xml,并添加如下内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.205.110:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadooptmp</value>
</property>
</configuration>
注意上面的主机名要修改为你自己的主机名
3.3 配置文件hdfs-site.xml
在/home/hadoop/hadoop/conf中找到hdfs-site.xml,并添加如下内容:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.4 配置文件mapred-site.xml
在/home/hadoop/hadoop/conf中找到mapred-site.xml,并添加如下内容:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.205.110:9001</value>
</property>
</configuration>
注意修改上面的IP
3.5 配置masters和slaves文件
在/home/hadoop/hadoop/conf中找到masters文件和slaves文件,写入本机的IP地址:
3.6 编辑主机名
命令vim /etc/hosts,添加上master和slave的ip
3.7 创建上面被编辑文件中的目录
[root@centos hadoop]# mkdir -p /home/hadoop/hadooptmp
[root@centos hadoop]# mkdir -p /home/hadoop/hdfs/name
[root@centos hadoop]# mkdir -p /home/hadoop/hdfs/data
4 启动Hadoop并验证
4.1 对Hadoop中namenode文件进行格式化
进入/home/hadoop/hadoop/bin目录,执行如下命令:
[root@centos bin]# ./hadoop namenode -format
4.2 启动hadoop所有进程
执行命令
[root@centos bin]# ./start-all.sh
和
[root@centos bin]# jps
可以看到有六个进程在运行
4.3 查看集群状态
命令如下:
[root@centos bin]# ./hadoop dfsadmin -report