Hadoop+Hive部署安装配置

news/2024/7/3 13:52:10 标签: hadoop, hive, 安装, 配置, 部署

最近结合具体的项目,搭建了Hadoop+Hive,在运行Hive之前要首先搭建好Hadoop,关于Hadoop的搭建有三种模式,在以下的介绍中,我主要的采用的是Hadoop的伪分布安装模式。写下来给各位分享。
准备工作:
这里写图片描述
以上所有的下载的安装包和解压后文件均在/usr/local/hadoop目录

这里写图片描述

1、分别ssh到每台服务器上,在root用户下修改hostname
su root
vim /etc/sysconfig/network
这里写图片描述
如上图所示,HOSTNAME=master
vim /etc/hosts
这里写图片描述
如上图所示,将localhost.localmain处改成master,遮挡处是IP地址,囧,然后重启服务器
reboot
在master服务器添加每台主机名字和地址的映射
vim /etc/hosts
这里写图片描述
然后检查ping连接
ping slave1
同理,在其他三台服务器上修改主机名和添加地址映射。

2、分别在每台服务器上建立相应的文件夹,并修改文件夹权限
mkdir /usr/local/hadoop
chmod 777 –R /usr/local/hadoop

3、安装jdk,Hadoop使用环境必须有jdk,每台服务器上都必须安装
首先检查有无jdk:java -version
cd /usr/local/hadoop
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
将下载的安装包上传到master上的/usr/local/hadoop文件夹下
tar-zxvf jdk-7u79-linux-x64.tar.gz
配置jdk的环境变量:
vim /etc/profile
这里写图片描述
使其立即生效 source /etc/profile
检查是否安装成功:java –version
这里写图片描述

4、hadoop 用户准备:
添加用户:useradd hadoop
用户密码:passwd hadoop
授权给hadoop: chown -R hadoop:hadoop /usr/local/hadoop

5、SSH无密码登录配置
在Hadoop中,nameNode是通过SSH来启动和停止各个DataNode上的各种守护进程,这就要在节点之间执行指令的时候是不需要输入密码的形式,故需要配置SSH运用无密码公钥认证的形式。
切换到hadoop用户下:以下是配置master SSH无密码登录slave1
su hadoop
ssh-keygen –t rsa –P ‘’
三次Enter
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
su root
vim /etc/ssh/sshd_config
这里写图片描述
service sshd restart
测试本地无密码连接是否成功:
这里写图片描述
然后将id_rsa.pub分发到slave1服务器上:
scp ~/.ssh/id_rsa.pub hadoop@slave1:~/
在slave1主机上,在hadoop用户下:
su hadoop
mkdir ~/.ssh(如果没有,就要新建.ssh文件夹)
chmod 700 ~/.ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
切换到root用户下:
vim /etc/sys
这里写图片描述
同上: vim /etc/ssh/sshd_config
service sshd restart
回到master主机上测试SSH无密码连接slave1:
这里写图片描述
同上,分别配置master SSH无密码连接slave2,slave3。
以上的配置过程,只能实现master 分别SSH无密码连接slave1,slave2,slave3,而无法实现slave1,slave2,slave3 SSH 无密码连接master。
若要实现slave1,slave2,slave3 SSH无密码连接master,以slave1 SSH无密码连接master为例:同理,先在slave1主机上hadoop用户下,生成id_rsa.pub,再拷贝到master主机上,并追加到authorized_keys.最后配置成功如下图:
这里写图片描述

6、安装Hadoop(集群中的所有机器都要安装Hadoop)
cd /usr/local/hadoop
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
tar –zxvf hadoop-1.2.1.tar.gz
修改环境变量:
su root
vim /etc/profile
这里写图片描述
使之立即生效:
source /etc/profile
修改hadoop conf文件夹下的hadoop-env.sh
cd /usr/local/hadoop/hadoop-1.2.1/conf
vim hadoop-env.sh
这里写图片描述
将上图中红框下的文字取消注释;
修改conf下的hdfs-site.xml文件
这里写图片描述
修改conf下core-site.xml文件:
这里写图片描述
修改conf下mapred-site.xml:
这里写图片描述
注意:四台服务器上都要进行相应的配置

7、master上进行验证:
格式化Hadoop:
cd /usr/local/hadoop/ hadoop-1.2.1/bin
./hadoop namenode –format
./start-all.sh
jps

这里写图片描述

(二)Hive安装(每个节点上都要安装Hive)
这里选用mySql作为元数据库,将mySql和Hive安装在master服务器上
统一给放到/usr/local/hadoop
1、下载安装文件,并解压:
cd /usr/local/hadoop
wget http://mirrors.cnnic.cn/apache/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz
tar -zxvf apache-hive-1.2.1-bin.tar.gz

2、配置环境变量
在root用户下:
su root
vim /etc/profile
这里写图片描述
生效:source /etc/profile
chown –R hadoop:hadoop /usr/local/hadoop

3、安装mySql
yum install mysql-server
安装完成后;
service mysqld start
mysql>mysql;
如果报错:
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘root’@’localhost’ (using password: YES)’
解决办法:
service mysqld stop
mysqld_safe –skip-grant-tables &;
mysql –uroot –p

use mysql;
update user set password=PASSWORD(“hadoop”)where user=”root”;
flush privileges;
quit
service mysqld restart
mysql -uroot –phadoop
或者mysql –uroot –hmaster –phadoop
如果可以登录成功,则表示MySQL数据库已经安装成功。
创建Hive用户:
mysql>CREATE USER ‘hive’ IDENTIFIED BY ‘hive’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘hive’@’master’ WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON . TO ‘hive’@’master’ IDENTIFIED BY ‘hive’;
mysql>flush privileges;
创建Hive数据库:
mysql>create database hive;

4、修改Hive配置文件:
cd /apache-hive-1.2.1-bin/conf
cp hive-default.xml.template hive-default.xml
vi hive-site.xml
这里写图片描述

5、拷贝JDBC驱动包
将mySql的JDBC驱动包复制到Hive的lib目录下
cp mysql-connector-java.bin.jar /usr/local/hadoop/ apache-hive-1.2.1-bin /lib

6、分发Hive分别到slave1,slave2,slave3上
scp -r /usr/local/hadoop/apache-hive-1.2.1-bin slave1:/usr/local/hadoop/
scp -r /usr/local/hadoop/apache-hive-1.2.1-bin slave2:/usr/local/hadoop/
scp -r /usr/local/hadoop/apache-hive-1.2.1-bin slave3:/usr/local/hadoop/
配置环境变量如同master。

7、测试Hive
进入到Hive的安装目录,命令行:
cd /usr/local/hadoop/apache-hive-1.2.1-bin/bin
hive
hive>show tables;
正常显示,即是安装配置成功。
注意:在测试Hive之前要启动hadoop
若要进行远程服务启动则如下:
cd /usr/local/hadoop/apache-hive-1.2.1-bin/bin
nohup hive –-service hiveserver2
静止不动是正常的,在后台已经启动相关服务。


http://www.niftyadmin.cn/n/1801565.html

相关文章

PostgresQL7.5(开发版)安装与配置(win2003测试通过)

下载:http://www.hagander.net/pgsql/win32snap/postgres_win32_7.5_devel.zip由于是开发版,不推荐用于商业用途,请等到7.5beta版出来以后再使用安装服务器 解压至c:\postgres 在环境变量中修改Path, 后面再加上: ;c:\postgres\bin;c:\postgr…

网卡不连线也能工作,谁能实现

家里有一台机子,只有一个网卡,没有连接上HUB,也没有接上宽带上的猫。请教如何实现网卡正常工作,就是说能让网卡有一个IP,能够让我的IIS运行起来。我以前装网卡的时候,是可以这样的,当时也不知道…

推荐一个好的餐馆点评网站

今天看财经频道经济观察发现的。大概是大众点评网整理除了一本对上海餐馆的评价。对一家饭店评价的一般或者比较差。然后餐馆上诉这家网站看了一下这个网站的评价确实还比较客观。广告一把:http://www.zsurvey.com 大众点评网转载于:https://www.cnblogs.com/montaq…

在blog中添加计费器

到底我的BLOG有多少人访问量呢?如何给自己的BLOG添加计数器呢,现在我教给大家怎么做。 其实给自己的BLOG添加计数器是很简单的事情,首先需要找一个自己的计数器,在Baidu.com上搜计数器关键字有很多的,自己可以挑一个喜…

The Joel Test: 软件开发成功 12 法则

作者: Joel Spolsky 译: 李国华 Frank Li 编辑: 孙雯辰 Rosemary Sun 2000年8月9日 有没有听说过SEMA?这可是衡量一个软件开发组好坏的很深奥的系统。别介,等一下!别按那个联接! 给你六年你也搞…

20个让人抓狂的脑筋急转弯

1. 一个人的钱包掉了,他首先应怎么办?(答案:捡起来) 但他没捡,为什么?(答案:因为他是比尔盖茨) 2. 一只公鸡抓着刚下蛋的母鸡痛打,为什么?&…

动态载入数据的无刷新TreeView控件(3)

今天完成了对菜单输出部分的重构实现,就是怎么样把我们的JS类变成能看到的实实在在的树。这个步骤虽然不是很难,不过很多细微的东西还是值得注意的。具体输出HTML代码的结构可以参看(1)中的图示,而我们的重点是讲讲为TreeView显示正确的层次结…

知乎——C语言的困惑

转自知乎:http://www.zhihu.com/question/23844552 什么是计算机?一个加法器(仅会11)和一个搬运工。这就是我认为的计算机。 那为什么世界可以这么美?减法用补码加,乘法多次算,除法转乘法。 这…