伪分布式hadoop hive搭建

本文详细介绍在CentOS环境下配置Hadoop伪分布式集群及Hive的过程,包括免密码登录设置、环境变量配置、Hadoop与Hive核心配置文件调整等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、        搭建前准备工作

Ps:整个过程请在Root用户下进行,避免一些授权问题。

1.  设置免密码登录:

Centos自带了SSH,所以不用安装ssh,直接进入主题:

(1) 敲命令:ssh localhost

fbs1

此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码123456,这样就登陆到本机了。

(2)退出:exit;

(3)进入授权目录:cd ~/.ssh

(4)生成公钥和私钥:ssh-keygen -t rsa

                     中途遇到的所有提示全部回车

(5)授权:cat id_rsa.pub>>authprized_keys

fbs2

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示。


2. 安装hadoop

(1)解压hadoop

       命令:tar -zvxf Hadoop--------------.tar.gz

(2)检查下hadoop是否解压成功

令:


(3)修改主机名

       命令:vim /etc/hosts

 

(4)设置 Hadoop 伪分布式配置前,还需要设置 HADOOP 环境变量以及java环境变量,执行如下命令在 ~/.bashrc 中设置:

       vim~/.bashrc

 

exportHADOOP_HOME=/usr/local/bigData/hadoop-2.6.0

export HADOOP_INSTALL=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

exportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

exportJAVA_HOME=/usr/local/bigData/jdk1.7.0_79/

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib

如图:将Hadoop和jdk环境变量在最下方配置进去。

      

 

(5)保存后,执行如下命令使配置生效:

source~/.bashrc

3.  配置hadoop

(1)     修改配置文件core-site.xml

修改成如图所示:

可复制代码如下:

<configuration>

   <property>

           <name>hadoop.tmp.dir</name>

                   <value>file:/usr/local/bigData/hadoop-2.6.0/tmp</value>

                      <description>Abasefor other temporary directories.</description>

     </property>

      <property>

            <name>fs.defaultFS</name>

                       <value>hdfs://localhost:9000</value>

       </property>

</configuration>

配置解释:hadoop.tmp.dir这个配置的目录其实是配置hadoop的工作目录,hadoop的运行数据全要在这个里面的。如何不配置用系统默认的话,每次启动hadoop都会丢失上一次的数据。

fs.defaultFS这个配置是配置集群中NameNode结点的URI(包括协议、主机名称、RPC交互端口号)

 

(2)    修改配置文件 hdfs-site.xml

可复制代码如下:

<configuration>

   <property>

           <name>dfs.replication</name>

                   <value>1</value>

   </property>

     <property>

                                   <name>dfs.namenode.name.dir</name>

           <value>file:/usr/local/bigData/hadoop-2.6.0/tmp/dfs/name</value>

    </property>

    <property>

                <name>dfs.datanode.data.dir</name>

             <value>file:/usr/local/bigData/hadoop-2.6.0/tmp/dfs/data</value>

    </property>

</configuration>

配置讲解:dfs.replication这个配置是配置有几个副本数的,即数据有多少份副本,可以理解为HA。

dfs.namenode.name.dir这个配置是配置namenode的工作目录

dfs.datanode.data.dir这个配置是配置datanode的工作目录

 

(3)    配置完成后,执行 NameNode 的格式化:

进入hadoop的bin目录执行:./bin/hdfs namenode -format

成功的话,会看到 “successfully formatted” 和 “Exitting withstatus 0” 的提示,若为 “Exitting with status 1” 则是出错。

      

(4)    最后开启namenode和datanode守护进程:

进入hadoop的sbin目录执行:./sbin/start-dfs.sh

(5) 然后通过jps查看是否节点全部启动

Hadoop配置完成。

 

二、        配置hive

1.    解压文件

2.    yum安装mysql服务

yum install mysql-server;

期间遇到提示一直写Y。

 

3.    启动mysql服务

service mysqldstart

4.    设置为开机自启动

chkconfig mysqldon

5.    设置root用户登录密码

mysqladmin -uroot password 'root'

6.    登录mysql  以root用户身份登录

mysql -uroot -proot

 

 

7.    创建hive用户,数据库等

insert intomysql.user(Host,User,Password) values("localhost","hive",password("hive"));

create database hive;

grant all on hive.* to hive@'%'  identified by 'hive';

grant all on hive.* to hive@'localhost'  identified by 'hive';

flush privileges; 

 

8.    退出mysql

exit;

9.    配置hive环境变量

vim ~/.bashrc

在后面加上exportHIVE_HOME=/usr/local/bigData/apache-hive-1.2.2-bin

export PATH=$PATH:$HIVE_HOME/bin

10.刷新使其有效

source ~/.bashrc

11.  修改hive-site.xml

<property> 

   <name>javax.jdo.option.ConnectionURL </name> 

   <value>jdbc:mysql://localhost:3306/hive </value> 

</property> 

 

<property> 

   <name>javax.jdo.option.ConnectionDriverName </name> 

   <value>com.mysql.jdbc.Driver </value> 

</property>



<property> 

   <name>javax.jdo.option.ConnectionPassword </name> 

   <value>hive </value> 

</property> 

 <property>

   <name>javax.jdo.option.ConnectionUserName</name>

   <value>hive</value>

   <description>Username to use against metastoredatabase</description>

 </property>

还有需要查找配置的就是

(1)    新建文件夹/usr/local/bigData/apache-hive-1.2.2-bin/iotmp/

(2)    然后.查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项

(3)    将含有"system:java.io.tmpdir"的配置项的值修改为如上地址

12.  将mysql-connector-java-5.1.44-bin.jar放到hive的lib下。

13.  将jline-2.12.jar拷贝到hadoop相应的目录下,替代jline-0.9.94.jar,否则启动会报错

具体步骤是 在Hadoop根目录下运行命令:find ../ -name  jline*  

逐一替换。

14.  启动成功。


转载请声明文章出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值