Hadoop在大数据技术体系中的地位至关重要,Hadoop是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远。
这是在课程中实际操作的文章,Hadoop的学习方法很多,网上也有很多学习路线图。本文的思路是:以安装部署Apache Hadoop2.x版本为主线,来介绍Hadoop2.x的架构组成、各模块协同工作原理、技术细节。安装不是目的,通过安装认识Hadoop才是目的。
1、主机规划
HDP125作为Master节点,其余主机作为Slave节点。
2、操作系统
Hadoop可以同时支持在Linux和Windows系统下进行安装,但是在windows系统下没有进行过大量的测试,不稳定容易出现问题。因此,我们使用Linux系统进行安装。
在国内大型企业中使用最多的Linux系统是Redhat,笔者就使用Redhat的7.4版本进行安装。
3、关闭iptables
关闭正在运行的iptbables防火墙:
systemctl stop firewalld.service
关闭开机自动启动iptables:
systemctl disable firewalld.serg
4、关闭SElinux
关闭自在运行的SElinux:
setenforce 0
修改配置文件,关闭开机自己启动SElinux:
vi /etc/selinux/config
SELINUX=disabled
5、配置主机名和映射
注意:主机名只能用英文字母、数字、“-”。不能使用下划线“_”,会出现问题。
6、映射
Spark通过主机名来进行互相访问,通过修改/etc/hosts文件可配置本地主机名映射关系,在hosts文件中添加计算机的名称和IP的对应关系,如在本机中添加master的主机(假设IP为172.16.219.125),在末尾添加内容为: 172.16.219.125 HDP125
所有主机都在/etc/hosts添加:
172.16.219.125 HDP125
172.16.219.126 HDP126
172.16.219.127 HDP127
172.16.219.128 HDP128
7、修改主机名
修改本次运行期间的主机名:
hostname HDP125
修改/etc/sysconfig/network文件,将主机名改为HDP125:
HOSTNAME=HDP125
操作系统启动的时候,会读取该文件并设置主机名。因此,修改后不会立即生效。只有当系统重启后,主机名便会生效。
在所有主机上执行上面两步,并把HDP125替换成相应主机名。
8、用户
在所有主机上添加用户:
groupadd hadoop
useradd hadoop -g hadoop
9、SSH无密码登录
Master到Slaves节点需要配置SSH无密码登录。
在Master生成公私钥对:
su hadoop
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
在其它主机上创建~/.ssh文件夹:
su hadoop
mkdir ~/.ssh
chmod 700 ~/.ssh
把公钥~/.ssh/dsa.pub发送到其它主机:
scp ~/.ssh/dsa.pub hadoop@HDPXXX:~/.ssh/id_dsa.pub
测试是否成功:
ssh HDPxxx
10、安装Java的JDK
解压:
tar -zxvf jdk-7u51-linux-x64.tar.gz -C /opt
ln -s /opt/jdk1.7.0_51 /opt/jdk
配置环境变量:
#JDK setting
export JAVA_HOME=/opt/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
11、配置文件句柄数
修改本次运行期间的句柄数:
ulimit -n 65535
修改操作系统重启时默认的句柄数:
vi /etc/security/limits.conf
\* hard nofile 65535
\* soft nofile 65535
12、Hadoop的下载与解压
到hadoop.apache.org上下载Hadoop的安装文件,笔者使用的是”hadoop-2.5.1.tar.gz”。
在发布式安装模式下,所有服务器Hadoop的安装目录需要一样。笔者安装的位置为/opt/hadoop,使用解压命令如下:
tar -zxvf hadoop-2.5.1.tar.gz -C /opt/
mv /opt/hadoop-2.5.1 /opt/hadoop
chown -R hadoop:hadoop /opt/hadoop
su hadoop
13、配置hadoop-env.sh
修改hadoop目录下conf/hadoop-env.sh的环境变量,在末尾添加:
export JAVA_HOME=/opt/jdk
注:此处采用最小配置
14、配置core-site.xml
修改hadoop目录下conf/core-site.xml的配置文件,在标签中添加如下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://HDP125:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/${user.name}/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
说明:
fs.defaultDFS:设置NameNode的IP和端口
hadoop.tmp.dir:设置Hadoop临时目录,(默认/tmp,机器重启会丢失数据!)
fs.trash.interval:开启Hadoop回收站
注:明天更新配置hdfs-site.xml以及把配置好的Hadoop程序复制到其它节点 有喜欢的可以关注转发加收藏
网友评论