Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • 基础架构

  • MQ

  • 微服务

  • 分布式

  • 高并发

  • 大数据

    • Hadoop

      • 大数据开发入门之hadoop介绍
      • 大数据开发入门之hadoop单机版部署
        • 安装JDK
        • 创建Hadoop账号
        • 创建hadoop文件目录
        • 下载hadoop
        • 配置hadoop
        • 设置SSH免密访问本地
        • 初始化
        • 启动hadoop
      • 大数据开发入门之WordCount开发实践
      • 大数据基础知识总结
    • ClickHouse

  • 容器化

  • 架构设计
  • 大数据
  • Hadoop
Ravior
2019-01-18
目录

大数据开发入门之hadoop单机版部署

常见的Hadoop部署模式分为单机模式和集群模式,也称为伪分布式模式和分布式模式。 单机模式(伪分布式)模式是在一个节点上部署所有的Hadoop服务。在使用上,单机模式(伪分布式)模式跟集群模式(分布式模式)是一样的。

作为入门测试环境搭建,我们先尝试hadoop单机版部署。

# 安装JDK

JDK下载地址:官方下载地址 (opens new window)

  • 将下载好的jdk压缩包传到服务器上:
scp jdk-8u211-linux-x64.tar.gz devops@192.168.1.106:/home/devops/
1
  • 解压jdk压缩包,移动到安排目录即可

    tar zxvf jdk-8u211-linux-x64.tar.gz
    sudo cp -r jdk1.8.0_211 /usr/local/jdk
    
    1
    2
  • 设置环境变量

    sudo vim /etc/profile
    export JAVA_HOME=/usr/local/jdk
    
    1
    2

export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH


- 测试 `java -version`

```shell
gitlib@devops:~$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
1
2
3
4
5
6
7
8

# 创建Hadoop账号

避免采用root账号操作hadoop,引起安全问题。

输入命令:

sudo useradd -r hadoop
sudo usermod -G hadoop hadoop
1
2

查看hadoop账户:

gitlib@devops:~$ id hadoop
uid=993(hadoop) gid=993(hadoop) groups=993(hadoop)
1
2

可以看到hadoop账号已经创建,并且加到hadoop组。

# 创建hadoop文件目录

一共创建4个文件目录:

  • hadoop临时文件目录
mkdir -p /home/hadoop/tmp
1
  • hadoop主节点(namenode)文件目录
mkdir -p /home/hadoop/hdfs/name
1
  • hadoop数据节点(datanode)文件目录
mkdir -p /home/hadoop/hdfs/data
1
  • hadoop日志文件目录
mkdir -p /home/hadoop/log
1
  • 设置hadoop文件目录所有者
sudo chown -R hadoop /home/hadoop
1

# 下载hadoop

hadoop下载地址:官方下载地址 (opens new window)

最新版为3.1.2版:

wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
1

下载完成之后,解压安装包即可使用

tar zxvf hadoop-3.1.2.tar.gz
sudo cp -ra hadoop-3.1.2 /usr/local/hadoop
1
2

将安装目录所有者修改为hadoop:

sudo chown -R hadoop /usr/local/hadoop
1

# 配置hadoop

hadoop的配置文件都在 etc/hadoop 目录下。

配置文件有很多,最基本要修改3个文件:hadoop-env.sh ,core-site.xml,hdfs-site.xml。

hadoop-env.sh:

修改JAVA_HOME环境变量为JDK的安装路径。

# Technically, the only required environment variable is JAVA_HOME.
export JAVA_HOME=/usr/local/jdk/
1
2

core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9001</value>
    </property>
    <property>
				<name>hadoop.tmp.dir</name>
				<value>file:/home/hadoop/tmp</value>
    </property>
</configuration>
1
2
3
4
5
6
7
8
9
10

设置hdfs的监听端口(一般配置为9000,我改为了9001,因为和php-fpm的默认端口冲突)和hadoop临时文件目录。

hdfs-site.xml:

<configuration>
    <property>
	<name>dfs.namenode.name.dir</name>
	<value>file:/home/hadoop/hdfs/name</value>
    </property>
    <property>
	<name>dfs.datanode.data.dir</name>
	<value>file:/home/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

设置hdfs的namenode、datanode数据存放路径以及数据块复制备份数量,默认是3,但是因为我们是单机部署,修改为1。

# 设置SSH免密访问本地

需要用前面创建的hadoop用户通过ssh免密访问本地,先切换到hadoop用户目录下,执行以下命令:

zhoufei@devops:~$ su hadoop
hadoop@devops:~$ cd ~
hadoop@devops:~$ cd .ssh/
# 生成密钥,全部回车,采用默认值
hadoop@devops:~/.ssh$ ssh-keygen -t rsa
# 将公钥拷贝到authorized_keys中
hadoop@devops:~/.ssh$ cat id_dsa.pub > authorized_keys
1
2
3
4
5
6
7

# 初始化

bin/hdfs namenode -format
1

# 启动hadoop

hadoop提供了一键启动所有组件的脚本,输入命令:

/usr/local/hadoop/sbin/start-all.sh
1

输入jps:

hadoop@devops:~$ jps
17761 NameNode
17889 DataNode
18083 SecondaryNameNode
18532 NodeManager
22474 Jps
18399 ResourceManager
1
2
3
4
5
6
7

可以看到namenode、secondarynamenode、datanode、nodemanager、resourcemanager这三个服务已经启动。

输入命令 bin/hadoop fs -ls /,没有报错,则hadoop单机版安装成功。

#大数据开发#Hadoop
上次更新: 2022/12/01, 11:09:34
大数据开发入门之hadoop介绍
大数据开发入门之WordCount开发实践

← 大数据开发入门之hadoop介绍 大数据开发入门之WordCount开发实践→

最近更新
01
常用游戏反外挂技术总结
11-27
02
Golang开发实践万字总结
11-11
03
Redis万字总结
10-30
更多文章>
Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式