hadoop源码研究 (环境准备)集群自动化安装

基本工具安装

ansible

ansible是一个自动化管理工具,当集群规模较大时,可以很方便的与被管理服务器交互。

  • 安装ansible
//在Mac环境下,可以轻松的使用brew管理工具来安装
brew reinstall ansible
  • 验证安装是否成功。
    执行:ansible --version,如果出现下图则说明安装成功。
ansible 2.7.6
  config file = None
  configured module search path = ['/Users/hadoop/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.7.6/libexec/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.2 (default, Jan 27 2019, 12:50:35) [Clang 10.0.0 (clang-1000.10.44.2)]
  
  • 添加group开始使用
mkdir /etc/ansible
//在/etc/ansible目录下新建hosts文件,创建名称为hadoop的group,并在该group中加入统一管理的服务器。
//vim /etc/ansible/hosts
[hadoop]
s0
s1
s2
s3
s4

上述中hadoop是group名,s0-s5是该组中的主机。
备注:在同一组下面如果想统一管理,需要配置每台服务器的ansible连接用户的密码是一致的,如果使用到root用户操作,还要保证root密码是一致的。

有关ansible的具体知识可以参看如下链接:
http://www.ansible.com.cn/index.html

安装jdk

  • 下载jdk安装包

从oracle官网下载jdk1.8:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我们操作系统是64位centos,下载jdk-8u201-linux-x64.tar.gz。jdk下载

  • 使用ansible将jdk安装包分发到集群各节点。
//假设我们安装包在/tmp目录,使用如下命令分发(由于最后我们会采用hadoop用户安装集群,因此我们先在各个子节点创建所有用户都可以访问的路径)

ansible hadoop  -m copy -a "src=/tmp/jdk-8u201-linux-x64.tar.gz dest=/tmp/"	-k				(根据提示输入hadoop密码)

ansible hadoop -S -R root --ask-su-pass -m shell -a "tar -zxvf /tmp/jdk-8u201-linux-x64.tar.gz -C /usr/lib" -k		(根据提示输入hadoop密码,root密码)
ansible hadoop -S -R root --ask-su-pass -m shell -a "ln -s /usr/lib/jdk1.8.0_201 /usr/lib/jdk "
ansible hadoop -S -R root --ask-su-pass -m shell -a "ln -s /usr/lib/jdk1.8.0_201 /usr/lib/jdk "
ansible hadoop -S -R root --ask-su-pass -m shell -a "chown -R hadoop:hadoop /usr/lib/jdk "
ansible hadoop -S -R root --ask-su-pass -m shell -a "chmod 755 /usr/lib/jdk "

  • 配置Java环境变量
    ssh s0,修改hadoop用户的~/.bash_profile,添加JAVA_HOME,PATH。具体为在文件中加入如下两行:
//vim ~/.bash_profile
export PATH
export JAVA_HOME=/usr/lib/jdk
export PATH=$JAVA_HOME/bin:$PATH

编辑保存后将该文件分发到s1–s4.
备注:为了使用方便,也可以在主节点s0上安装ansible。方法有离线安装和yum安装,网上方法有很多,不赘述。

  • 验证是否成功
    在s0-s4服务器上,执行java -version,出现如下说明安装成功。
[hadoop@s0 ~]$ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

hadoop安装

hadoop当前基本是所有大数据服务组件的底层组件,大部分的社区大数据组件均依赖于hadoop。hadoop分为两个模块:HDFS,YARN。HDFS是数据存储模块,YARN是资源分配与调度模块。后面将先从整体架构上了解这两个模块,然后从源码层面展开一一学习。

服务器名称安装服务备注
s0NameNode,ResourceManager,Zookeeper,ZKFC,JournalNode,WebProxyMaster节点
s1NameNode,ResourceManager,Zookeeper,ZKFC,JournalNode,JobHistoryMaster节点
s2JournalNode,Zookeeper,DataNode,NodeManagerSlave节点
s3DataNode,NodeManagerSlave节点
s4DataNode,NodeManagerSlave节点
  • 创建hadoop安装目录
    //在本地通过ansible在hadoop组服务器上创建名称为/app的目录,我们统一将hadoop安装在该目录下。
    命令如下
ansible hadoop -S -R root --ask-su-pass -m shell -a "mkdir /app" -k		(根据提示输入hadoop及root密码)
ansible hadoop -S -R root --ask-su-pass -m shell -a "chown -R hadoop:hadoop /app; chmod -R 755 /app"			(根据提示输入hadoop及root密码)

  • 解压安装
    将安装包分发至s0-s4,解压进行安装。
    安装包目录根据实际修改(我的hadoop安装包是自己编译,放在~/app/hadoop-3.1.0-src/hadoop-dist/target/ 目录)
//1. ansible 中-k表示输入执行用户密码,-S -R root --ask-su-pass 表示输入root密码,根据提示输入即可后续不再赘述。如果觉得输入密码麻烦,可以配置执行用户到目标服务器的免密码,配置成功后命令中去掉-k即可。
//2.hadoop安装成功后为了方便,创建了软连接。

ansible hadoop  -m copy -a "src=~/app/hadoop-3.1.0-src/hadoop-dist/target/hadoop-3.1.0.tar.gz dest=/app/"	-k				
ansible hadoop  -m shell -a "tar -zxvf /app/hadoop-3.1.0.tar.gz -C /app" -k 	
ansible hadoop  -m shell -a "chmod 755 /app/hadoop-3.1.0" -k
ansible hadoop  -m shell -a "ln -s  /app/hadoop-3.1.0 /app/hadoop;ln -s /app/hadoop-3.1.0/etc/hadoop /app/hadoop-config" -k

  • 配置hadoop用户环境变量
    编辑用户环境变量配置文件,vim ~/.bash_profile,添加如下:
HADOOP_HOME=/app/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  • 在s0管理节点安装ansible
    Linux下安装ansible非常方便,在root用户下使用yum安装即可。
yum -y install ansible
chown -R hadoop:hadoop /etc/ansible

安装完成后,Linux下会自动创建/etc/ansible/hosts文件,vim 编辑添加hadoop组。

vim /etc/ansible/hosts			//添加如下内容
[hadoop]
s0
s1
s2
s3
s4

至此hadoop安装完毕,下节介绍HA配置及启动。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值