Hadoop入门教程(二):Hadoop 的安装教程
在开始我们的 Hadoop 之旅前,我们需要先学会安装 Hadoop ,在后面我们将使用多个 Hadoop 节点进行试验和学习,本文将带你安装 Hadoop,这是非常简单的。
本教程所需基础内容
在开始本教程前,您应当具备 Linux 的基本操作知识,并安装准备好一台 Linux 操作系统的主机,本文将使用 CentOS7 进行演示,其中包括普通账号添加、 JDK 的安装、 Hadoop 的安装、环境变量配置。在后面我们将使用多个 Hadoop 主机节点进行试验和学习,我是在服务器上安装虚拟机进行试验和学习的,物理服务器配置为两颗 Xeon E5-2630 v3 CPU、128G内存,如果您在自己的电脑上进行搭建,学习大数据需要最低 16G 的运行内存,否则可能无法运行起所有大数据组件。

修改网络IP、主机名和Hosts文件
为了在以后搭建 Hadoop 集群,我们需要让每个机器的 IP 地址固定下来,并相互知道各自的 IP 地址,所以就需要修改网络 IP 为静态地址,并且修改主机名、hosts 文件让各个 Hadoop 节点可以解析到其他节点的 IP 地址。
我们先使用 ls /etc/sysconfig/network-scripts/ 查看网卡名称,我这里叫 ifcfg-ens192,然后使用 vi 编辑它的配置:

我们需要修改 BOOTPROTO=static、ONBOOT=yes,并在结尾添加下面的配置,请根据自己的网络环境修改:
IPADDR=192.168.1.50
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=114.114.114.114

重启网卡使配置生效:
systemctl restart network
修改主机名
hostnamectl set-hostname hadoop50
修改 hosts 文件,我这里设置10个节点作为 Hadoop 集群
vi /etc/hosts #写入:
192.168.1.50 hadoop50
192.168.1.51 hadoop51
192.168.1.52 hadoop52
192.168.1.53 hadoop53
192.168.1.54 hadoop54
192.168.1.55 hadoop55
192.168.1.56 hadoop56
192.168.1.57 hadoop57
192.168.1.58 hadoop58
192.168.1.59 hadoop59
关闭防火墙
关闭防火墙是为了让集群内部之间更方便的通信,关闭的前提是在集群外部有其他的防火墙进行安全拦截,如果生产环境中外部没有其他防火墙那么本地的防火墙就需要打开,需要配置每个用到的端口,由于这是入门教程,我们直接关闭防火墙,省去因网络不通而产生莫名其妙的故障。
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

添加普通用户
在任何 Linux 使用场景下,我们都不建议直接使用 root 账号进行操作,以最高权限 root 运行的程序权限过大很不安全,所以我们都应该使用普通账号登陆进来使用。
useradd renfei#添加普通用户
passwd renfei#设置新添加用户的密码

给予普通用户使用 sudo 的权限
编辑 /etc/sudoers,添加如下内容:
renfei ALL=(ALL) ALL

创建安装目录和存储目录
为了清楚的知道我们软件在哪里,我们统一创建两个文件夹:/opt/software、/opt/module,其中 /opt/software 存放我们的软件安装包,/opt/module 是软件安装目录。创建以后给予我们新建的普通用户权限。
mkdir /opt/module /opt/software
chown renfei:renfei /opt/module /opt/software
安装JDK和Hadoop
切换到普通用户,然后开始安装JDK和Hadoop。
安装JDK
下载好JDK,放到 /opt/software,解压到 /opt/module,然后配置 JAVA_HOME 环境变量:
tar -zxvf /opt/software/jdk-8u281-linux-x64.tar.gz -C /opt/module/#解压 JDK 到 /opt/module/
sudo vi /etc/profile#编辑环境变量,添加以下内容,注意去掉前面的井号(#),这里是为了展示内容:
#export JAVA_HOME=/opt/module/jdk1.8.0_281
#export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile#让环境变量生效
java -version#验证 JDK 安装正确
安装Hadoop
跟安装 JDK 一样,我们需要先解压,然后配置 HADOOP_HOME 环境变量:
tar -zxvf /opt/software/hadoop-2.10.1.tar.gz -C /opt/module/#解压 Hadoop 到 /opt/module/hadoop-2.10.1
sudo vi /etc/profile#编辑环境变量,添加以下内容,注意去掉前面的井号(#),包含了上面的JDK内容,这里是为了展示内容:
#export JAVA_HOME=/opt/module/jdk1.8.0_281
#export HADOOP_HOME=/opt/module/hadoop-2.10.1
#export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile#让环境变量生效
hadoop version#验证 Hadoop 安装正确
至此,您已经将 Hadoop 安装完成了,后续我们将开始使用它。

商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。微信订阅号
扫码关注「任霏博客」微信订阅号- 大佬 引入jar包那里的 driver class 怎么选的?
- 我也遇到了这个问题,已经解决了,在此分享一下 1、宿主机也要创建kingbase的用户和用户组,并且要查看一下用户和用户组的ID(这个很重要) 2、把data目录的用户和用户组设置为kingbase 3、先不要把data路径挂载到宿主机上,这时就可以正常启动,启动后进入容器,查看一下容器内的kingbase的用户和用户组ID是多少,和第一步的ID是否一致,如果ID一致,那正常挂载目录就行;如果ID不一致,那就需要修改Dockerfile文件,在构建镜像时,修改容器内的用户和用户组ID,必须和宿主机的保持一致。然后重新构建镜像,就可以正常挂载宿主机目录了 4、其实直接修改宿主机的用户和用户组ID也是可以的,但是容器内的ID一般是1000,但是宿主机的这个ID很可能已经被占用了,无法修改,就只能修改容器内的ID
- 接口已经允许跨域请求,也就是说你可以在你的页面上调用,获取用户的公网 IP。 如果你还需要其他需求,可以提交 Issue 给我。
- V008R003C002B0320 这个对应的jdbc链接驱动你在哪里找到的?我也遇到了这个问题。
- WARNING: max_connections should be less than orequal than 10 (restricted by license) HINT: the value of max_connect is set 10 WARNING: max_connections should be less than orequal than 10 (restricted by license) HINT: the value of max_connect is set 10 kingbase: superuser_reserved_connections must be less than max_connections 我按照文档修改了以后,不知道如何重启。
- 然后把数字都改成 1 再启动。 如何重新启动?
- ksql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.KINGBASE.54321"
- 进入容器查看一下日志,是不是启动失败了,日志文件在:/opt/kingbase/logfile
- ksql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.KINGBASE.54321"?
- 先通过 docker exec -it 容器名/id /bin/bash 进入容器,然后在容器中使用 ksql 客户端进行连接数据库:/opt/kingbase/Server/bin/ksql -U system test
- 免费.ml域名10年委托合同到期被马里共和国收回域名经营权
- 从极狐Gitlab看各种中间件技术选型
- 时隔十年首次收到 Google AdSense 的付款
- ga域名被加蓬共和国从Freenom公司手中收回域名经营权
- Freenom 被 Meta(Facebook) 起诉导致暂停 .tk/.ga/.ml/.cf/.gq 等新域名注册
- 生花妙笔信手来 – 基于 Amazon SageMaker 使用 Grounded-SAM 加速电商广告素材生成 [1]
- github.renfei.net 不再完整代理 Github 页面改为代理指定文件
- 优雅的源代码管理(三):本地优雅的使用 Git Rebase 变基
- 优雅的源代码管理(二):Git 的工作原理
- 优雅的源代码管理(一):版本控制系统 VCS(Version Control System)与软件配置管理 SCM(Software Configuration Management)