apache方式搭建hadoop集群

*0.前言*

Apache模式搭建非常繁琐,需要配置很多配置文件,仅供学习使用,因为apache的hadoop是开源的,方便学习其内部的实现原理。实际生产中效率低,更推荐CDH等其他方式进行配置,CDH拥有自己的WEB管理页面,更方便对组件进行管理。
CDH搭建文档

*1.集群准备*

虚拟机使用vmware。其实啥都一样,电脑性能跟不上的租阿里云腾讯云都可以,一定要支持CPU虚拟化。

先准备至少三个节点,要根据不同性能安排不同的进程。我这里分配的是hadoop01,4G内存

Hadoop0203都是2G内存,以hadoop01作为主节点。

*1.1安装Cenos7*

首先安装Centos7,最小安装就行,不会有人Centos7安装还要教吧?不会吧?不会吧?

VMware网络配置给个NAT模式,然后再windows下设置->网络与服务->更改适配器->vmnet8

把里面改为静态ip,我这里是192.168.15.1,192.168.15.x/24就是我们的集群子网了。

网关是192.168.15.2,子网掩码255.255.255.0。DNS随便配个8.8.8.8就行。

启动三个虚拟机(其实可以先弄一个再克隆,hadoop要求就是配置文件必须相同)

*1.2修改网卡配置*

最小安装啥命令都没有的,先改IP地址。
(有些版本是ifcfg-eth0)

vi /etc/sysconfig/network-scirpts/ifcfg-ens33

下面的文字注释记得删掉,直接粘贴有可能报错。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
\# 静态IP
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
\# IPV6是我系统自动生成的,不用管
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=75010dd6-0a7c-4559-8205-133a91603019
DEVICE=ens33
\# 开机自启
ONBOOT=yes
\# 跟windows统一网段,每个虚拟机IP不同其他相同
IPADDR=192.168.15.101
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=8.8.8.8

配置完以后重启一下网络服务

systemctl restart network

这样就可以ping通外网了,ping不同检查防火墙


systemctl stop firewalld

systemctl disable firewalld

然后保证windows和节点之间可以ping通即可。

还不行就是特殊问题特殊处理,使用面向CSDN编程思想。

*1.3安装其他常用应用*

安装一个文件传输的应用。

yum install lrzsz -y

输入rz就能传送文件了。

默认的Yum源太慢,建议改成清华的yum源或者阿里的。

清华yum官方配置教学

ifconfig不能用?

yum install net-tools -y

vi没颜色不好看,弄个vim。

yum install vim -y

节点之间要保证时间同步。

yum install ntp -y

ntpdate ntp6.aliyun.com

//这里也可以主节点ntpdate ntp6.aliyun.com,然后从节点ntpdate hadoop01

节点之间要经常通信,输密码很烦,先生成一对密钥

ssh-keygen

三个回车,不需要内容直接回车就行。

然后把密钥发送给其他节点

ssh-copy-id hadoop02

每个节点都要生成再发送给其他两个节点。

最后再改一下hosts映射。

vim /etc/hosts

在这里插入图片描述

主机名不是必须改的,改了方便区分

hostnamectl set-hostname hadoop01

每个节点主机名不同。

*1.4安装mysql*

Mysql早晚用得到,主节点装一个就行,从节点随意。

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
yum -y install mysql-community-server
systemctl enable mysqld
systemctl start mysqld

Mysql弄个密码,root-root就行,有需要就自己配置不要忘。

别忘了设置mysql远程连接

mysqladmin -u root -proot 
//登录后
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

*1.5通过外部远程管理*

然后下载个Xshell进行管理,新建会话主机IP,端口默认是22,用户身份验证中输入账户密码。我这里是root-root。

在这里插入图片描述

*2.hadoop安装*

简单来讲hadoop就是大数据的基础,其中hadoop中提供三个组件HDFS,Yarn,Mapreduce。

HDFS负责整个大数据集群的存储功能,他会把你上传到集群的文件进行分割成块(block),然后将每块存入不同的节点,一个block会在多个节点拥有备份保证文件的安全。

Mapreduce是hadoop集群的计算引擎,大部分程序都需要通过mapreduce进行计算。

Yarn是hadoop的资源调度模块,一个mapreduce程序切分后由yarn分配给不同的节点分别进行运算,再将结果进行整合。

安装时务必保证所有节点配置文件相同!

安装包官网就有,hadoop建议先2.x版本的,3.x版本会有额外的兼容问题

直接rz导入hadoop安装包,解压tar -xzvf [hadoop的压缩包名.gz]

hadoop的安装要依赖jdk。rz导入一个jdk的安装包,同样解压tar -xzvf [jdk压缩包名]

*2.1修改环境变量*

我这里就不在全局改了,全局的环境变量在/etc/profile,修改这个文件会对所有用户生效。我只改/root下的.bash_profile,这个文件只对root用户生效。

##注意,我的安装包都是直接放在/root目录下,会导致其他用户无权限访问,实际生产环境务必改到/usr或者其他全局目录下。

vim /root/.bash_profile
PATH=$PATH:$HOME/bin
export JAVA_HOME=/root/jdk1.8.0_261
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/root/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改完了重新载入环境变量source /root/.bash_profile,验证一下安装是否成功。

java -version 

javac -version

hadoop version

*2.2集群进程分配*

首先设计一下未来将要安装的进程,这个要根据自己集群性能自行制定,理论上来讲要负载均衡,我这里hadoop01内存分配的多一些,可以多运行几个进程。

进程 hadoop01 hadoop02 hadoop03
hadoop datanode datanode datanode
namenode secondarynamenode
yarn nodemanager nodemanager nodemanager
resourcemanager
zookeeper quorumpeermain quorumpeermain quorumpeermain
hbase hregionserver hregionserver hregionserver
hmaster(hbase是谁启动谁是master)
spark master worker worker
mysql mysql
hive hive
kafka kafka kafka kafka

修改配置文件,hadoop需要修改的配置文件很多。

切换到配置文件目录下

cd /root/hadoop-2.7.5/etc/hadoop/

ls查看文件列表

在这里插入图片描述

*2.3修改hadoop-env.sh*

vim hadoop-env.sh

在这里插入图片描述

找到JAVA_HOME,有的版本会藏在注释中也可以:/JAVA进行查找。把JAVA_HOME取消注释,并且改为自己的jdk目录。:wq保存退出。

*2.4修改core-site.xml*

vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<!-- 指定namenode的通信地址 -->
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值