HADOOP集群安装部署
1 前言
本文档是设想在多台服务器上部署HADOOP的实现过程;
2 创建用户
建议同个集群中的用户和用户组,都是相同的,以便管理和维护。
2.1 生成创建用户的运行角本
为不同服务器创建同样的用户和组,创建脚本的目的是让不同服务器可以直接运行此脚本,实现用户创建的过程。
用root用户登录linux,运行命令:
[root@T5038 opt]# vi createuser.sh
[root@T5038 opt]# chmod 777 createuser.sh
文件内容如下:
mkdir /opt;
mkdir /opt/analysis;
export LANG="zh_CN.GB18030";
groupadd analyzer -f;
useradd analyzer -d /opt/analysis -g analyzer -p analyzer@123;
chmod 755 -R /opt/analysis;
chown analyzer:analyzer /opt/analysis;
passwd analyzer<< EOF
analyzer@123
analyzer@123
EOF
2.2 同步创建用户脚本
同步上面的createuser.sh到各服务器:
[root@T5038 opt]# rsync -avz createuser.sh root@10.12.3.93:/opt/ << EOF
mm@sz.com
EOF
或:
[root@T5038 opt]# scp -P 7411 /opt/createuser.sh root@10.12.3.93:/opt/
2.3 运行创建用户脚本
用root登录各服务器,运行脚本:
[root@T5038 opt]# ./ createuser.sh
3 设置/etc/hosts文件
3.1 设置/etc/hosts文件内容:
[root@T5038 opt]# su – root
[root@T5038 opt]# vi /etc/hosts
Hosts的内容参考:
---IP地址--- ---机器名---
10.12.3.88 T5038
10.12.3.89 T5039
10.12.3.90 T5040
3.2 同步/etc/hosts到其它各服务器
[root@T5038 opt]# scp -P 7411 /etc/hosts 10.12.3.103:/etc/hosts
yes
mm@sz.com
4 设置免密码登录
设置集群中各服务器间免密码登录对hadoop的运行没影响,但设置后,可以通过一台服务器启动集群中所有的hadoop节点,而不用频繁登录到各台服务器进行逐台启动。
设置过程:本地运行ssh-keygen -t rsa后,把生成的id_rsa.pub在多台机器间相互拷贝;
4.1 生成生成公钥、密钥
切换到analyzer用户,运行命令:ssh-keygen -t rsa,运行过程中,直接多次按回车键即可;
[root@T5038 opt]# su - search
[analyzer @T5038 opt]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/opt/analysis/hadoop/.ssh/id_rsa):
Created directory '/opt/analysis/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /opt/analysis/hadoop/.ssh/id_rsa.
Your public key has been saved in /opt/analysis/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
c1:d4:a5:56:94:ca:d4:27:15:6b:6f:5f:c3:c9:23:e2 hadoop@T5037
4.2 复制id_rsa.pub文件
复制本地id_rsa.pub到远程服务器,使远程服务器登录本地可以免密码登录。
[analyzer@T5038 opt]#cd /opt/ analysis /.ssh
[analyzer@T5038 opt]#scp -P 7411 id_rsa.pub analyzer@remoteIP:/opt /id_rsa_ip1.pub
4.3 生成authorized_keys文件内容
在各服务器,生成authorized_keys文件的内容,它可以是多个不同服务器的id_rsa.pub的内容整合,命令如下:
[analyzer@T5038 opt]#cat id_rsa_ip1.pub id_rsa_ip2.pub >authorized_keys
4.4 设置权限
权限问题(权限过大或过小)都可能导致远程免密码登录失败。
[analyzer@T5038 opt]#chmod 644 authorized_keys
-rw-r--r-- 1 hadoop hadoop 788 06-17 09:59 authorized_keys
4.5 测试免密码登录
如不用输入密码而直接登录远程服务器,则表示设置成功;运行命令如下:
[analyzer@T5038 opt]#ssh -p 7411 10.12.3.88
5 设置环境变量
5.1 设置.bash_profile文件
[analyzer@linux434 ~]$ vi ~/.bash_profile
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
export JAVA_HOME=$HOME/jdk1.6.0_21
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=$HOME/hadoop-0.20.3
export HIVE_HOME=$HOME/hive
5.2 生效处理
[analyzer@linux434 ~]$ source ~/.bash_profile
6 jdk 安装
如果还没安装JDK,则先进行安装。
[analyzer@linux434 ~]$ su - root
[analyzer@linux434 ~]$ mkdir /application/search/jdk1.6.0_21/
[analyzer@linux434 ~]$ vi .bash_profile
JAVA_HOME=/application/search/jdk1.6.0_21
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
7 hadoop install
7.1 hadoop配置
1.登录到master节点linux430,首先将hadoop压缩包hadoop-0.20.2.tar.gz分别远程拷贝到所有slave的用户根目录上,"scp hadoop-0.20.2.tar.gz hadoop@linux426:~"。
2.在各个slave解压该文件,"tar xvzf hadoop-0.20.2.tar.gz"。
3.在master上,切换到~/hadoop-0.20.2/conf目录,vi打开hadoop-env.sh,为方便起见,统一修改JAVA_HOME的路径,"export JAVA_HOME=/opt/jdk1.6.0_18"。jdk事先已安装,且每个节点路径一致。这里hadoop-env.sh是每个节点用于配置自身运行环境的脚本,可以自行设置节点特定的内容。
4.编辑masters文件,设置masters节点地址为linux430。编辑slaves文件,同样输入所有slave节点,以回车分隔,分别为:linux425,linux426,linux427,linux428,linux429,linux431,linux432。
5.编辑core-site.xml文件,设置hdfs对外的统一地址,内容如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://T5401:9000/</value>
<final>true</final>
</property>
</configuration>
6.编辑hdfs-site.xml文件,设置hdfs的真实文件存放位置,内容如下:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/application/search/hadoop/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>/application/search/hadoop/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/application/search/hadoop/hdfs/namesecondary</value>
<final>true</final>
</property>
</configuration>
7.编辑mapred-site.xml文件,设置mapreduce的一些重要参数,内容如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>T5041:9001</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>/application/search/hadoop/mapred/local</value>
<final>true</final>
</property>
<property>
<name>mapred.system.dir</name>
<value>/tmp/hadoop/mapred/system</value>
<final>true</final>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>7</value>
<final>true</final>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>7</value>
<final>true</final>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx600m</value>
<!-- Not marked as final so jobs can include JVM debugging options -->
</property>
</configuration>
7.2 设置hadoop中用到的SSH端口号
系统默认的SSH端口号是22,当使用其它端口时,为使start-all.sh能正常运行,可以设置hadoop中用到的SSH端口号,在conf/hadoop-env.sh文件中增加:export HADOOP_SSH_OPTS="-p 7411" 即可。
7.3 同步hadoop安装文件到集群中的其它服务器
scp -P 7411 -r /opt/analysis/hadoop-0.20.3 analyzer@10.12.3.87: /opt/analysis /hadoop-0.20.3
scp -P 7411 -r /opt/analysis/hadoop-0.20.3 analyzer@10.12.3.88: /opt/analysis /hadoop-0.20.3
7.4 hadoop集群初始化
./hadoop-0.20.3/bin/hadoop namenode -format
7.5 Hadoop启动
7.5.1 启动命令
./hadoop-0.20.3/bin/start-all.sh
7.5.2 正常的启动日志
-bash-3.2$ ./hadoop-0.20.3/bin/start-all.sh
starting namenode, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-namenode-T5038.out
T5037: starting datanode, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-datanode-T5037.out
T5038: starting datanode, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-datanode-T5038.out
T5038: starting secondarynamenode, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-secondarynamenode-T5038.out
starting jobtracker, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-jobtracker-T5038.out
T5037: starting tasktracker, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-tasktracker-T5037.out
T5038: starting tasktracker, logging to /opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-tasktracker-T5038.out
7.6 Hadoop关闭
7.6.1 关闭命令
./hadoop-0.20.3/bin/stop-all.sh
7.6.2 正常的关闭日志
-bash-3.2$ ./hadoop-0.20.3/bin/stop-all.sh
stopping jobtracker
T5037: stopping tasktracker
T5038: stopping tasktracker
stopping namenode
T5037: stopping datanode
T5038: stopping datanode
T5038: stopping secondarynamenode
8 HIVE安装部署
从网上下载后,直接解压即可。
9 安装部署derby
9.1 官方文档网址
http://wiki.apache.org/hadoop/HiveDerbyServerMode
9.2 下载derby
下载地址:http://db.apache.org/derby/derby_downloads.html
或者可以直接从其他已有derby的服务器上,把文件夹复制到待安装服务器。
下载后,无须安装,直接解压在某指定目录,即可。
设置
Derby启动时,默认是启动本地(localhost)的1527端口的服务,在/etc/hosts文件中配置以下内容:
127.0.0.1 localhost.localdomain localhost
9.3 启动及关闭
启动和关闭时,参数-h需一致。
9.3.1 启动命令
nohup /application/search/db-derby-10.6.2.1-bin/bin/startNetworkServer -h 127.0.0.1 &
9.3.2 关闭命令
nohup /application/search/db-derby-10.6.2.1-bin/bin/stopNetworkServer -h 127.0.0.1 &
分享到:
相关推荐
Apache Hadoop 中的 Hive 是一个强大的数据仓库工具,最初由 Facebook 开发,旨在简化大数据集的管理和分析。Hive 构建在 Hadoop 生态系统之上,为非结构化和半结构化的海量数据提供了一个结构化的查询接口。通过 ...
2. **MySQL服务器已部署**:Hive需要一个外部数据库来存储元数据,默认情况下使用的是Derby,但生产环境中建议使用MySQL以获得更好的性能和稳定性。 #### 二、上传安装包 1. **将Hive安装包上传至服务器**:将Hive...
### hadoop2.2+hbase0.96+hive0.12安装整合详细高可靠文档及经验总结 #### 一、Hadoop2.2的安装 **问题导读:** 1. Hadoop的安装需要安装哪些软件? 2. Hadoop与HBase整合需要注意哪些问题? 3. Hive与HBase的...
Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户使用 SQL 类似的查询语言(HQL)来管理和处理大数据。这个压缩包包含了 Hive 在特定版本(可能是 0.11.0)运行所需的一些关键组件的 JAR 文件。以下是对这些文件...
2. **配置Hive**:修改`conf/hive-site.xml`,设置Hive的 metastore数据库(可以是本地的MySQL或Derby),Hadoop相关配置(指向已搭建好的Hadoop集群),以及Hive的其他参数。 3. **创建metastore数据库**:根据...
本次实验主要涉及Hive的安装与部署,同时也涵盖了相关的Linux操作和Hadoop知识。实验旨在让你熟悉Hive的基本概念,提高Linux技能,以及加深对Hadoop生态的理解。以下是实验的具体步骤和相关知识点: **1. 实验目的*...
在本文中,我们将深入探讨如何在Hadoop 2.2环境下安装Hive。Hive是Apache软件基金会开发的一个数据仓库工具,它允许用户通过SQL-like查询语言(HQL)来处理存储在Hadoop分布式文件系统(HDFS)中的大数据集。在...
Apache Hive 是一个基于 Hadoop 的数据仓库工具,用于查询、管理和分析大数据集。Hive 提供了一种SQL-like的语言(称为HQL,Hive Query Language)来操作存储在Hadoop分布式文件系统(HDFS)中的数据,使得非编程...
**hive-env.sh**文件则包含了Hive配置文件的路径以及Hadoop的安装路径,例如: ```bash # 设置Hive配置文件的路径 export HIVE_CONF_DIR=/home/test/Desktop/hive/conf # 设置Hadoop的安装路径 export HADOOP_HOME...
4. **Hive的安装**:Hive的安装要求先有Hadoop环境,下载Hive源码包后解压,配置环境变量,确保用户有权访问Hive目录。 5. **Hive架构**:Hive由多个组件组成,包括元数据存储(通常是MySQL或Derby)、Hive服务器、...
在使用这个压缩包之前,确保你已经安装了 Hadoop 环境,因为 Hive 是构建在 Hadoop 生态系统之上的。Hadoop 包括 HDFS 和 MapReduce,它们为 Hive 提供数据存储和处理能力。 以下是一些关于 Hive 安装和使用的详细...
在这个场景中,我们将探讨如何在伪分布式模式下安装和配置Hadoop,并结合Hive和Sqoop进行数据操作。 首先,我们需要理解Hadoop的核心组件:HDFS(Hadoop Distributed File System)和MapReduce。HDFS提供了可靠的、...
Apache Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户使用 SQL 类似的查询语言(称为 HiveQL)来处理和分析存储在 Hadoop 分布式文件系统(HDFS)中的大量数据。Hive 提供了数据汇总、离线分析以及结构化数据...
首先,安装 Hive 需要先确保你已经安装了 Hadoop 环境,因为 Hive 是构建在 Hadoop 分布式文件系统(HDFS)之上的。以下是安装 Hive 的基本步骤: 1. **下载 Hive**:访问 Apache 官网(https://hive.apache.org/)...
在Windows环境下部署Hive和Hadoop是一个相对复杂的任务,但一旦成功,将为大数据处理提供一个强大的本地开发和测试环境。以下是对这个主题的详细解释: 1. **Hadoop简介**: Hadoop是一个开源框架,由Apache软件...
Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户以 SQL 类似的语法查询和管理大规模数据集。Hive 的核心功能在于将结构化的数据文件映射为数据库表,使得非 Hadoop 开发人员也能方便地对大数据进行分析。Hive ...
根据提供的文件信息,以下是有关Hadoop入门进阶课程中Hive介绍和安装部署的知识点: 1. Hive介绍: - Hive是Facebook开发的数据仓库工具,运行于Hadoop集群之上。 - 提供类SQL的HQL(Hive Query Language)查询...
从提供的文件信息中,我们可以总结出关于Hadoop、HBase和Hive集成安装的知识点,涉及环境配置、版本兼容性、文件权限、通信机制等多个方面。 首先,Hadoop2.2的安装需要配置SSH无密码互通,安装JDK以及编写Shell...
在安装Hive客户端之前,确保你已经安装了Hadoop并且集群处于正常运行状态。Hadoop是Hive的基础,提供了分布式存储和计算能力。你需要配置Hadoop的环境变量,并确保Hadoop服务如HDFS和YARN正在运行。 二、下载Hive ...