`
szjian
  • 浏览: 72170 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HADOOP1.0-hadoop、hive、derby安装部署手册

阅读更多
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 &
分享到:
评论

相关推荐

    hadoop-mini-clusters

    HiveMetaStore-Derby支持的HiveMetaStore 风暴-Storm LocalCluster Kafka-本地Kafka经纪人 Oozie-本地Oozie服务器-再次感谢弗拉基米尔 MongoDB-我知道...不是Hadoop ActiveMQ-感谢弗拉基米尔·兹拉特金(Vladimir...

    基于Shell脚本,通过简单配置后,可以自动安装Hadoop、Hive、Spark等大数据组件.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    Hive是一个基于Hadoop的数据仓库平台.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    Hive与HBase的兼容配置,.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    简单的hive demo 后续会加入新内容.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    Hive用户指南(Hive_user_guide)_中文版.pdf

    Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数 据提取转化加载 (ETL),这是一种可以存储、 查询和分析存储在 Hadoop 中的大规模数据的 机制。 Hive 定义了简单的类 SQL ...

    hive实战笔记. 新零售的从零到应用. 包含所有思路与代码.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    Hive用户指南

    1.2 Hive 和 Hadoop 关系 7 1.3 Hive 和普通关系数据库的异同 8 1.4 HIVE元数据库 9 1.4.1 DERBY 9 1.4.2 Mysql 10 1.5 HIVE的数据存储 11 1.6 其它HIVE操作 11 2. HIVE 基本操作 12 2.1 create table 12 2.1.1 总述...

    分布式数据仓库Hive大全

    1.2 Hive 和 Hadoop 关系 7 1.3 Hive 和普通关系数据库的异同 8 1.4 HIVE元数据库 9 1.4.1 DERBY 9 1.4.2 Mysql 10 1.5 HIVE的数据存储 11 1.6 其它HIVE操作 11 2. HIVE 基本操作 12 2.1 create table 12 2.1.1 总述...

    大数据学习笔记

    20.3 Derby安装与设置 78 第21章 HIVE 数据类型 80 21.1列类型(Column Type) 80 21.2文本类型(Literals) 81 21.3 Null 值 81 21.4 复杂类型 81 第22章 数据库操作 82 22.1 创建数据库 82 22.2 删除数据库 82 第23章 ...

    大数据之运维.pptx

    元数据存储 Hive 将元数据存储在数据库中,如 mysql、derby。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。 解释器、编译器、优化器、执行器 解释器、...

    大数据技术-DataGrip2020.2.2连接Apache Hive3.1.2

    虽然 Hive 的官方给我们提供了连接 Hive 的客户端, 但是在实际的开发环境中我们一般 不使用它, 因为页面太丑, 智能化程度太低, 在这里介绍一款 Hive 的第三方可视化客户端 ——DataGrip。 DataGrip 页面美观...

    各种常用数据库JDBC jar包集合

    AS400,DB2,Derby,Firebird,H2,HadoopHive,Impala,Mysql,Oracle,Postgresql,SQLite,SQLServer,Sybase jar包

    大数据学习笔记.pdf

    1.3 Spark与Hadoop集成 ................................................................................................ 7 1.4 Spark组件 ....................................................................

    [TutorialsPoint]DHive Tutorial - 副本.pdf

    Step 6: Downloading and Installing Apache Derby ············································································...

Global site tag (gtag.js) - Google Analytics