Hadoop安装配置之伪分布模式安装
2019-07-08 本文已影响0人
程序员小华
Hadoop安装部署方式有三种,在这里介绍其中一种安装部署方式——伪分布模式。主要的特点是:在单机上,模拟一个分布式的环境,具备Hadoop的所有功能,即Hadoop伪分布模式包含以下组件:
HDFS:NameNode + DataNode + SecondaryNameNode
Yarn:ResourceManager + NodeManager
1.准备环境
- 系统环境: rhel-server-7.4-x86_64
- JDK环境:jdk-8u144-linux-x64.tar.gz
- Hadoop:hadoop-2.7.3.tar.gz
安装前的准备环境,假设已经在电脑上安装了 rhel-server-7.4-x86_64系统,并且已经配置好JDK环境变量,在/etc/hosts文件上配置系统主机名为 bigdata111,最后并且关闭了系统的防火墙
[root@bigdata111 etc]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[root@bigdata111 etc]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.220.111 bigdata111
[root@bigdata111 etc]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@bigdata111 etc]#
2. 安装步骤
- 将hadoop-2.7.3.tar.gz上传到Linux系统中,并且使用tar解压
[root@bigdata111 hadoop-2.7.3]# pwd
/root/training/hadoop-2.7.3
[root@bigdata111 hadoop-2.7.3]# ll
total 108
drwxr-xr-x. 2 root root 194 Aug 18 2016 bin
drwxr-xr-x. 3 root root 20 Aug 18 2016 etc
drwxr-xr-x. 2 root root 106 Aug 18 2016 include
drwxr-xr-x. 3 root root 20 Aug 18 2016 lib
drwxr-xr-x. 2 root root 239 Aug 18 2016 libexec
-rw-r--r--. 1 root root 84854 Aug 18 2016 LICENSE.txt
-rw-r--r--. 1 root root 14978 Aug 18 2016 NOTICE.txt
-rw-r--r--. 1 root root 1366 Aug 18 2016 README.txt
drwxr-xr-x. 2 root root 4096 Aug 18 2016 sbin
drwxr-xr-x. 4 root root 31 Aug 18 2016 share
[root@bigdata111 hadoop-2.7.3]#
- 修改 /root/training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件,将JAVA_HOME设置为JDK安装路径
export JAVA_HOME=/root/training/jdk1.8.0_144
![](https://img.haomeiwen.com/i8782952/f7b506a265b9af24.png)
- 修改/root/training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml,在文件中添加以下配置
<!--配置数据块的冗余度,默认是3-->
<!--原则冗余度跟数据节点个数保持一致,最大不要超过3-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--是否开启HDFS的权限检查,默认是true-->
<!--使用默认值,后面会改为false-->
<!--
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
-->
![](https://img.haomeiwen.com/i8782952/c0ecadfa7b15cb2b.png)
- 修改/root/training/hadoop-2.7.3/etc/hadoop/core-site.xml,在文件中添加以下配置
<!--配置HDFS主节点的地址,就是NameNode的地址-->
<!--9000是RPC通信的端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata111:9000</value>
</property>
<!--HDFS数据块和元信息保存在操作系统的目录位置-->
<!--默认是Linux的tmp目录,一定要修改-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.7.3/tmp</value>
</property>
![](https://img.haomeiwen.com/i8782952/ac839935d46d2d63.png)
在该步骤,要先在目录/root/training/hadoop-2.7.3下通过mkdir命令创建tmp目录
- 修改/root/training/hadoop-2.7.3/etc/hadoop/mapred-site.xml(注意:mapred-site.xml文件默认不存在,可以通过在该目录下的mapred-site.xml.template复制然后重命名得到),添加以下配置:
<!--MR程序运行容器或者框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
![](https://img.haomeiwen.com/i8782952/5585ee05bcf042e8.png)
- 修改/root/training/hadoop-2.7.3/etc/hadoop/yarn-site.xml,添加以下配置:
<!--配置Yarn主节点的位置-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata111</value>
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
![](https://img.haomeiwen.com/i8782952/97e4ef8c9474adb7.png)
- 对HDFS的NameNode进行格式化
运行以下命令进行格式化:
[root@bigdata111 hadoop]# hdfs namenode -format
格式化命令运行后,出现以下日志信息代表格式化成功:
![](https://img.haomeiwen.com/i8782952/f61fc63106293b48.png)
格式化成功后,查看HDFS数据块和元信息保存目录/root/training/hadoop-2.7.3/tmp,发现出现以下信息:
[root@bigdata111 tmp]# pwd
/root/training/hadoop-2.7.3/tmp
[root@bigdata111 tmp]# tree
.
└── dfs
└── name
└── current
├── fsimage_0000000000000000000
├── fsimage_0000000000000000000.md5
├── seen_txid
└── VERSION
3 directories, 4 files
[root@bigdata111 tmp]#
- 启动Hadoop
通过以下命令启动Hadoop,如果没有配置免密码登录,在启动过程中需要输入四次系统密码,
start-all.sh
![](https://img.haomeiwen.com/i8782952/8687ff92be6e95b5.png)
启动成功后,通过Web页面访问hdfs和yarn,hdfs的端口号是: 50070,yarn的端口号是:8088,如下所示:
![](https://img.haomeiwen.com/i8782952/569b2c03cfe6039c.png)
![](https://img.haomeiwen.com/i8782952/39fdb6c0ecf6d604.png)
通过JPS查看JAVA进程可以发现Hadoop有5个组件已经启动:
[root@bigdata111 tmp]# jps
37552 ResourceManager
37242 DataNode
37115 NameNode
37403 SecondaryNameNode
37837 NodeManager
38015 Jps
[root@bigdata111 tmp]#
至此,Hadoop伪分布模式安装部署成功。
3. Hadoop启动和停止命令
- 启动命令:
HDFS:start-dfs.sh
Yarn: start-yarn.sh
同时启动HDFS和Yarn:start-all.sh
- 停止命令:
关闭HDFS和Yarn:stop-all.sh
![](https://img.haomeiwen.com/i8782952/75646a11f426e9b6.png)