ubuntu系统的mysql+hadoop+hive环境搭建

1.在ubuntu系统上安装mysql数据库
sudo apt-get install mysql-server
在这里插入图片描述
安装过程中会提示两次输入密码,己住自己设定的密码,一直下一步。
检查是否安装成功:mysql -u 用户名 -p 密码 显示数据库后
show databases; 出现数据库列表即可
2.安装JDK1.8
2.1 在官网上下载jdk7及以上的版本—jdk1.8
2.2 安装jdk

$ mkdir /usr/lib/jvm                           #创建jvm文件夹
$ sudo tar zxvf jdk-7u80-linux-x64.tar.gz  -C /usr/lib #/ 解压到/usr/lib/jvm目录下
$ cd /usr/lib/jvm                                 #进入该目录
$ mv  jdk1.7.0_80 java                         #重命名为java
$ vi ~/.bashrc                                 #给JDK配置环境变量

2.3 设置环境变量
进入到当前用户的.bashrc文件:sudo vim ~/.bashrc
在.bashrc中添加如下命令

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

修改完之后,更新使之生效

$ source ~/.bashrc                       #使新配置的环境变量生效
$ java -version                          #检测是否安装成功,查看java版本

若出现如图,则安装成功
在这里插入图片描述
3.安装hadoop-2.6.0
3.1 下载hadoop-2.6.0.tar.gz—hadoop-2.6.0
3.2 创建hadoop用户

$ sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell
$ sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码
$ sudo adduser hadoop sudo             #为hadoop用户增加管理员权限
$ su - hadoop                          #切换当前用户为用户hadoop
$ sudo apt-get update                  #更新hadoop用户的apt,方便后面的安装

3.3 安装SSH,设置SSH无密码登陆

$ sudo apt-get install openssh-server   #安装SSH server
$ ssh localhost                         #登陆SSH,第一次登陆输入yes
$ exit                                  #退出登录的ssh localhost
$ cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
$ ssh-keygen -t rsa  

在这里插入图片描述
然后再输入:

$ cat ./id_rsa.pub >> ./authorized_keys #加入授权
$ ssh localhost                         #此时已不需密码即可登录localhost

出现下图即安装登陆ssh成功:
在这里插入图片描述
注:3.3步一定要设置,此处设置的ssh属于链接的网络协议,我之前以为是设置xshell连接,我本机上装的有xshell,也可以连接,就没设置这步,结果就失败了。
3.4 安装hadoop

$ sudo tar -zxvf  hadoop-2.6.0.tar.gz -C /usr/local    #解压到/usr/local目录下
$ cd /usr/local
$ sudo mv  hadoop-2.6.0    hadoop                      #重命名为hadoop
$ sudo chown -R hadoop ./hadoop                        #修改文件权限

3.5 给hadoop配置环境变量,同样放在.bashrc文件中,添加如下配置

export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述
更新文件生效后,出现如下即安装成功:
在这里插入图片描述
配置完成后,执行格式化,启动测试

$ ./bin/hdfs namenode -format
$ ./sbin/start-all.sh
$ jps

在这里插入图片描述
出现NameNode,DataNode和SecondaryNameNode则启动成功。
可能出现的问题

4.安装hive数据库
4.1 下载apache-hive-1.2.2-bin.tar.gz
4.2 在mysql上创建一个hive数据库,并建立user表,添加一条用户记录并赋予权限
在这里插入图片描述

我安装的是jdk1.8,但是这个不含jps,所以需要再下载一个openjdk-8-jdk-headless。
create database hive;
use hive;
create table user(Host char(20),User char(10),Password char(20));
insert into user(Host,User,Password) values("localhost","hive","123456");
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.*  TO 'hive'@'localhost' IDENTIFIED BY 'hive';
FLUSH PRIVILEGES;

4.3 安装hive(将文件通过xshell工具传到服务器的临时文件中)
将mysql-connector-java-5.2.24-bin.jar放到$HIVE_HOME/lib下

$ sudo tar -zxvf  /tmp/apache-hive-1.2.2-bin.tar.gz -C /usr/local    #解压到/usr/local目录下
$ cd /usr/local
$ sudo mv  apache-hive-1.2.2-bin.tar.gz    hive                      #重命名为hive

4.4 配置hive
4.4.1 配置环境变量
sudo vim /etc/profile
保存后记得要source /etc/profile 使其更改生效

#hive
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

4.4.2 修改hive/conf下的几个模板

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml

4.4.2.1 更改hive-env.sh文件,指定hadoop的安装路径

HADOOP_HOME=/usr/local/hadoop

4.4.2.2 更改hive-site.xml文件,指定数据库的相关信息

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
  <description>password to use against metastore database</description>
</property>

4.4.3 修改hive/bin下的hive-config.sh文件

export JAVA_HOME=/usr/lib/jvm/java
export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive

启动测试
在这里插入图片描述
4.4.4 可能出现的问题
a. 在这里插入图片描述
这是因为hadoop目录下存在老版本的jline,把hive目录下的jline包拷贝到hadoop目录下即可。

4.5 配置hiveserver2
我理解这个就是支持其他编程语言通过调用自己的API访问hive数据库

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://172.16.101.33:9083</value>
    <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.
    </description>
</property>
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>172.16.101.33</value>
    <description>Bind host on which to run the HiveServer2 Thrift service.</description>
</property>
<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.
    </description>
</property>

启动测试:先启metastore,再另起一个窗口,启hiveserver2,
在这里插入图片描述
在这里插入图片描述
连接测试成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chenyh_csdn/article/details/83509353