Linux下Hadoop分布式文件系统的安装与部署之单机模式

本篇博文安装的是Hadoop的单机模式。

一、实验环境(rhel7.3版本)

1selinux和firewalld状态为disabled

2各主机信息如下:

主机 ip
server1 172.25.83.1

二、Hadoop单机模式的安装与部署

1、添加hadoop用户(为后面配置hadoop集群做准备:hadoop集群要求所有节点的hadoop用户的uid,gid是一致的)

[root@server1 ~]# useradd -u 1004 hadoop   #因为1000-1003被别的用户占用,所以这里给定hadoop用户的uid为1004
[root@server1 ~]# id hadoop
uid=1004(hadoop) gid=1004(hadoop) groups=1004(hadoop)

2、下载hadoop、jdk安装包到hadoop用户家目录(放到hadoop用户家目录下的原因是:hadoop用户对其家目录具有所有的权限,这样就不需要在/etc/sudoers下给hadoop用户权限了)

[root@server1 ~]# ls
hadoop-3.0.3.tar.gz  jdk-8u181-linux-x64.tar.gz
[root@server1 ~]# mv * /home/hadoop/
[root@server1 ~]# cd /home/hadoop/
[root@server1 hadoop]# ls
hadoop-3.0.3.tar.gz  jdk-8u181-linux-x64.tar.gz

3、解压配置软链接(方便hadoop、jdk更新,只更改软链接即可)

[root@server1 hadoop]# su - hadoop
[hadoop@server1 ~]$ ls
hadoop-3.0.3.tar.gz  jdk-8u181-linux-x64.tar.gz
[hadoop@server1 ~]$ tar zxf hadoop-3.0.3.tar.gz 
[hadoop@server1 ~]$ tar zxf jdk-8u181-linux-x64.tar.gz 
[hadoop@server1 ~]$ ls
hadoop-3.0.3  hadoop-3.0.3.tar.gz  jdk1.8.0_181  jdk-8u181-linux-x64.tar.gz
[hadoop@server1 ~]$ ln -s hadoop-3.0.3 hadoop
[hadoop@server1 ~]$ ln -s jdk1.8.0_181/ java
[hadoop@server1 ~]$ ll
total 488256
lrwxrwxrwx 1 hadoop hadoop        12 Apr  4 11:50 hadoop -> hadoop-3.0.3
drwxr-xr-x 9 hadoop hadoop       149 Jun  1  2018 hadoop-3.0.3
-rw-r--r-- 1 root   root   314322972 Apr  4 11:47 hadoop-3.0.3.tar.gz
lrwxrwxrwx 1 hadoop hadoop        13 Apr  4 11:50 java -> jdk1.8.0_181/
drwxr-xr-x 7 hadoop hadoop       245 Jul  7  2018 jdk1.8.0_181
-rw-r--r-- 1 root   root   185646832 Apr  4 11:47 jdk-8u181-linux-x64.tar.gz
  • 查看java是否安装成功

4、配置java环境变量

[hadoop@server1 hadoop]$ pwd
/home/hadoop/hadoop/etc/hadoop
[hadoop@server1 hadoop]$ vim hadoop-env.sh   #在文件的任意位置编写下面的这行内容
54 export JAVA_HOME=/home/hadoop/java
  • 查看hadoop是否安装成功(只有当配置java环境变量之后,hadoop才算安装成功)

5、测试:通过执行hadoop自带实例验证是否安装成功

<1>测试1:将input目录中含有dfs的字符串输出到output目录,其中output目录不必创建

[hadoop@server1 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server1 hadoop]$ mkdir input   #创建input目录
[hadoop@server1 hadoop]$ cp etc/hadoop/*.xml input/   #拷贝xml文件到input目录下。值的注意的是这里必须是xml文件,否则测试时会报错
[hadoop@server1 hadoop]$ cd input/
[hadoop@server1 input]$ ls
capacity-scheduler.xml  hdfs-site.xml    kms-site.xml
core-site.xml           httpfs-site.xml  mapred-site.xml
hadoop-policy.xml       kms-acls.xml     yarn-site.xml
[hadoop@server1 input]$ cd ..
[hadoop@server1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar grep input output 'dfs[a-z.]+'   

  • 示图:output目录中存在含有dfs的字符串,表示安装成功

  • 其中dfsadmin来源于input目录下的hadoop-policy.xml文件(vim  hadoop-policy.xml)

<2>测试2:将input目录下所有文件信息中的单词统计数据输出到output目录下,其中output目录不必创建

[hadoop@server1 hadoop]$ rm -rf output/   #删除之前生成的output目录,否则执行下面的命令会报错(output目录已经存在)
[hadoop@server1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar wordcount input output

  • 示图:output目录中存在单词统计数据,表示安装成功

猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/89017772