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 &

在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。上述资料加群可以领取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值