手动安装Hadoop集群的过程

简介:

最近又安装 Hadoop 集群,由于一些原因,没有使用 Hadoop 管理工具或者自动化安装脚本来安装集群,而是手动一步步的来安装,本篇文章主要是记录我手动安装 Hadoop 集群的过程,给大家做个参考。

这里所说的手动安装,是指一步步的通过脚本来安装集群,并不是使用一键安装脚本或者一些管理界面来安装。

开始之前,还是说明一下环境:

  • 操作系统:CentOs6.4
  • CDH版本:4.7.0
  • 节点数:4个

在开始之前,你可以看看我以前写的一篇文章 使用yum安装CDH Hadoop集群,因为有些细节已经为什么这样做我不会在这篇文章中讲述。

一些准备工作

在开始前,先选择一个节点为管理节点或者说是 NameNode 节点,其他节点为普通节点。

安装的过程中,是使用 root 用户来运行脚本。

为了部署方便,我会创建三个批量执行脚本,存放目录为/opt,一个脚本用于批量执行,文件名称为 cmd.sh,内容如下:

for node in 1 2 3;do
	echo "========$node========"
	ssh 192.168.56.12$node $1
done

另外一个文件用于批量拷贝,文件名称为 syn.sh,内容如下:

for node in 1 2 3;do
	echo "========$node========"
	scp -r $1 192.168.56.12$node:$2
done

第三个文件用于批量管理 hadoop 服务,文件名称为 cluster.sh,内容如下:

for node in 1 2 3;do
	ssh 192.168.56.12$node 'for src in `ls /etc/init.d|grep '$1'`;do service $src '$2'; done'
done

当然,以上三个脚本需要你从当前管理节点配置无密码登陆到所有节点上。

配置无密码登陆之后,需要在每台机器上安装 jdk 并设置环境变量:

$ sh /opt/cmd.sh '
$ yum remove jdk* -y
$ yum install jdk -y
$ rm -rf /usr/bin/java
$ ln -s /usr/java/default/bin/java /usr/bin/java
$ echo "export JAVA_HOME=/usr/java/default" >>/root/.bashrc
$ echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /root/.bashrc
$ source /root/.bashrc
'

配置 hosts 文件

在该节点上配置 hosts 文件,我安装的集群节点如下:

192.168.56.121 cdh1
192.168.56.122 cdh2
192.168.56.123 cdh3

将该文件同步到其他节点:

$ sh /opt/syn.sh /etc/hosts  /etc/hosts

安装 hadoop-hdfs

首先,在所有节点上安装一些基本的必须的依赖:

$ sh /opt/cmd.sh 'yum install hadoop hadoop-hdfs yarn hadoop-mapreduce hive hbase zookeeper hbase'

以上只是安装一些基本依赖,并不会在/etc/init.d/下生成一些服务,而会在/etc/目录下创建一些 conf 目录,这样方便修改配置文件并执行批量同步。

然后,按照你的集群规划,在每个节点上仅仅安装其需要的服务,例如在 cdh1上安装 NameNode,而在其他节点上安装 DataNode。

接下来在管理节点上修改配置文件(可以参考 https://github.com/javachen/hadoop-install/tree/master/shell/edh/template/hadoop),然后做同步:

$ sh /opt/syn.sh /etc/hadoop/conf  /etc/hadoop/

创建本地目录。NameNode 的数据目录,我定义在/data/dfs/nn;DataNode 的在/data/dfs/dn,当然还有 yarn 的目录。

批量创建目录命令:

$ sh /opt/cmd.sh '
$ mkdir -p /data/dfs/nn /data/dfs/dn  /data/yarn/local   /var/log/hadoop-yarn;
$ chown -R hdfs:hdfs /data/dfs;
$ chown -R yarn:yarn /data/yarn/local;
$ chown -R yarn:yarn /var/log/hadoop-yarn;
$ mkdir -p /var/run/hadoop-hdfs
'

最后,就是格式化 NameNode:

$ sudo -u hdfs hadoop namenode -format

启动 hadoop-hdfs 相关的服务:

$ sh /opt/cluster.sh hadoop-hdfs start

查看状态:

$ sh /opt/cluster.sh hadoop-hdfs status

在无法直接服务 web 界面的情况下,可以通过下面命令来检查每个节点是否启动成功:

$ sudo -u hdfs hadoop dfsadmin -report

创建 /tmp 临时目录,并设置权限为 1777:

$ sudo -u hdfs hadoop fs -mkdir /tmp
$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp

安装 yarn

在 NN 节点上安装 hadoop-yarn-resourcemanager 和 hadoop-mapredice-history,其他节点安装 hadoop-yarn-nodemanager,修改配置文件。

在 hdfs 上创建目录:

$ sudo -u hdfs hadoop fs -mkdir -p /yarn/apps
$ sudo -u hdfs hadoop fs -chown yarn:mapred /yarn/apps
$ sudo -u hdfs hadoop fs -chmod -R 1777 /yarn/apps
$ sudo -u hdfs hadoop fs -mkdir -p /user/history
$ sudo -u hdfs hadoop fs -chmod -R 1777 /user/history
$ sudo -u hdfs hadoop fs -chown mapred:hadoop /user/history

验证 HDFS 结构:

$ sudo -u hdfs hadoop fs -ls -R /

你将会看到:

drwxrwxrwt   - hdfs hadoop          0 2014-07-16 11:02 /tmp
drwxr-xr-x   - hdfs hadoop          0 2014-07-16 11:20 /user
drwxrwxrwt   - mapred hadoop          0 2014-07-16 11:20 /user/history
drwxr-xr-x   - hdfs   hadoop          0 2014-07-16 11:20 /yarn
drwxr-xr-x   - yarn   mapred          0 2014-07-16 11:20 /yarn/apps

为每个 MapReduce 用户创建主目录,比如说 hive 用户或者当前用户:

$ sudo -u hdfs hadoop fs -mkdir /user/$USER
$ sudo -u hdfs hadoop fs -chown $USER /user/$USER

启动 mapred-historyserver :

$ etc/init.d/hadoop-mapreduce-historyserver start

每个节点启动 YARN :

$ sh /opt/cluster.sh hadoop-yarn start

检查yarn是否启动成功:

$ sh /opt/cluster.sh hadoop-yarn status

其他

其他服务均可以参考此方法来简化安装,这里不做详述。

目录
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
177 6
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
76 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
34 3
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
59 3
|
2月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
67 1
|
2月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
43 1
|
2月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
45 1
|
2月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
50 1
|
2月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
51 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
96 0