mysql 和 hive 和分布式zookeeper和HBASE分布式安装教程

Posted 想不到

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 和 hive 和分布式zookeeper和HBASE分布式安装教程相关的知识,希望对你有一定的参考价值。

一,mysql

安装mysql5.7完整教程
1. yum -y install mysql-server
直接执行语句后等待就好
已安装:
mysql-community-server.x86_64 0:5.7.23-1.el7

作为依赖被安装:
mysql-community-client.x86_64 0:5.7.23-1.el7 mysql-community-common.x86_64 0:5.7.23-1.el7 mysql-community-libs.x86_64 0:5.7.23-1.el7

完毕!
2.启动服务service mysqld start
3.设置开机启动chkconfig mysqld on
4.>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.

mysql> use mysql;
Database changed
mysql> select User from user; #此处为查询用户命令
+-----------+
| User |
+-----------+
| ******* |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)

mysql> update user set password=password("*******") where user="*******"; #修改密码报错
ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
mysql> update mysql.user set authentication_string=password(‘*******‘) where user=‘*******‘; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>alter user user() identified by "123456";改一下密码这部必须进行

二安装hive


1:在Mysql中创建hive用户,并赋予足够的权限
<span style="font-size:14px;">[[email protected] hive]$ mysql -uroot -p
Enter password:
......此处省略部分日志......
mysql> <u>create user ‘hive‘ identified by ‘hive‘;</u>
Query OK, 0 rows affected (0.05 sec)

mysql> <u>grant all privileges on *.* to ‘hive‘ with grant option;</u>
Query OK, 0 rows affected (0.00 sec)

mysql> <u>flush privileges;</u>
Query OK, 0 rows affected (0.00 sec)
</span>
2:测试hive能否正常连接Mysql,并创建hive数据库
?此时报错如下:ERROR 1045 (28000): Access denied for user ‘hive‘@‘localhost‘ (using password: YES)

? ? ? ? ? ? ? ? ?解决办法:重新以root用户登录mysql,删除msyql数据库下user表中为空的记录

<span style="font-size:14px;">mysql> delete from user where user is null;
Query OK, 0 rows affected (0.00 sec)

mysql> delete from user where user=‘‘;
Query OK, 1 row affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
</span>

以hive用户登录,创建hive数据库

<span style="font-size:14px;">[[email protected] opt]$ mysql -uhive -p
Enter password:
....省略....
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)

mysql> use hive;
Database changed
mysql> show tables;
Empty set (0.00 sec)
</span>

3:解压缩hive到指定目录
? ? ? ? ? ? ? ? ?我这里使用的是/opt/ ?:sudo tar -zxvf /home/master/桌面/apache-hive-1.2.1-bin.tar.gz -C /opt/

? ? ? ? ? ? ? ? ?重命名为hive:sudo mv?apache-hive-1.2.1-bin hive

4:下载Mysql驱动程序到 hive目录下的lib目录
? ? ? ? ? ? ? ? ??sudo cp /home/master/桌面/mysql-connector-java-5.1.39-bin.jar /opt/hive/lib/
下载地址 https://downloads.mysql.com/archives/c-j/
5:修改环境变量将hive加入到path
? ? ? ? ? ? ? ? ? sudo vim /etc/profile

? ? ? ? ? ? ? ? ??#hive
? ? ? ? ? ? ? ? ? export HIVE_HOME=/opt/hive
? ? ? ? ? ? ? ? ? export PATH=$PATH:$HIVE_HOME/bin

? ? ? ? ? ?6:修改hive-env.sh
? ? ? ? ? ? ? ??[[email protected] conf]$ sudo cp hive-env.sh.template hive-env.sh

? ? ? ? ? ?7:修改hive-site.xml
在hive/conf 目录下有一个hive-default.xml-template,
cp hive-default.xml-template 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>
8:启动hadoop,测试hive
[[email protected] hadoop]$ sbin/start-all.sh
报错1xception in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
at [row,col,system-id]: [3234,96,"file:/opt/soft/hive/conf/hive-site.xml"]
把hive-site .xml 文件中3234行第96到98个字符删除
报错2Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

? ? ? ? ? ? ? 原因:路径不对

? ? ? ? ? ? ? 解决办法:将含有system:java.io.tmpdir的配置项改为/opt/hive/iotmp (前提是你已经建立了这样一个文件夹)

 三zookeeper分布式安装

 1:部署说明
           ZK官网建议安装在至少3台机器上,故这里将ZK分别安装三台机器组成的集群中

     2:解压到指定目录/opt
          sudo tar -zxvf /home/master/桌面/zookeeper-3.4.8.tar.gz -C /opt/

          重命名:mv zookeeper-3.4.8/ zookeeper

     3:设置myid
           在dataDir指定的数据目录(/opt/zookeeper/data)下,创建文件myid,文件内容为一个正整数值,用来唯一标识当前机器,因此不同机器的数值不能相同,建议从1开始递增标识,以方便记忆和管理。
myid中就一个数字 3
例如第一台myid 里面填入1

 

     4:修改conf/zoo.cfg
           tickTime=2000

           dataDir=/opt/zookeeper/data
           clientPort=2181
           initLimit=5
           syncLimit=2
           server.1=master1:2888:3888 
           server.2=slave1:2888:3888
           server.3=slave2:2888:3888
           以上内容的配置,参照了ZooKeeper的官方文档:zookeeperStarted.html。server.X用来配置ZooKeeper集群中的各节点,并建议X的值和myid保持一致。
           端口2181用于监听客户端的连接,端口2888用于Leader监听Follower的连接,而3888则用于Leader选举。
           scp将zoo.cfg 复制到另外两台机器上
                    scp -r zookeeper/  slave1:/opt/ 
                    scp -r zookeeper/  slave2:/opt/ 
     5:启动zk
          每台机器上执行:[[email protected] zookeeper]$  sudo bin/zkServer.sh start

          我们可以使用       sudo bin/zkServer.sh status 查看状态

                                     sudo bin/zkServer.sh stop    停止服务

     6:遇到的问题
          [[email protected] zookeeper]$  sudo bin/zkServer.sh status
          ZooKeeper JMX enabled by default
          Using config: /opt/zookeeper/bin/../conf/zoo.cfg
          Error contacting service. It is probably not running.

          解决办法:

          查看 zookeeper.out 可知是权限问题

          在每台机器下给 data ,data/zookeeper_server.pid,zookeeper.out 777 权限即可

     7:注意事项
          由于zkServer必须三台都启动后才选择leader和follower,故刚开始会出现都是Error contacting service. It is probably not running.的情况
检验的时候要把这三台都开启

四。分布式安装HBASE

1下载HBASE
2网址http://mirrors.hust.edu.cn/apache/hbase/
3.tar -zxvf hbase-1.1.12.tar.gz -C /usr/local/hbase

4、配置hbase集群,要修改三个文件,首先上面的环境都准备好了
注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
    cp hdfs-site.xml /usr/local/hbase/hbase-1.1.12/conf
    cp core-site.xml /usr/local/hbase/hbase-1.1.12/conf

    4.1修改hbase-env.sh
    export JAVA_HOME=/usr/local/java/jdk1.8.0_144
    //告诉hbase使用外部的zk
    export HBASE_MANAGES_ZK=false

    4.2 vim hbase-site.xml   

<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://mini1:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>mini1:2181,mini2:2181,mini3:2181</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
 

    4.3 vim regionservers
        mini1
        mini2
        mini3

    4.4拷贝hbase到其他节点
        scp -r /usr/local/hbase mini2:/usr/local/
        scp -r /usr/local/hbase mini3:/usr/local/

5.将配置好的HBase拷贝到每一个节点并同步时间。
      在每台机子上输入sudo ntpdate time.nist.gov

6.配置环境变量
    export HBASE_HOME=/usr/local/hbase/hbase-1.1.12
    export PATH=$HBASE_HOME/bin:$PATH
7启动HBASE
HBASE文件夹下bin/start-hbase.sh
8、通过浏览器访问hbase管理页面
主机名:60010

9、为保证集群的可靠性,要启动多个HMaster
hbase-daemon.sh start master














































































































































































以上是关于mysql 和 hive 和分布式zookeeper和HBASE分布式安装教程的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop Zookeeper Hbase Hive 分布式集群搭建实例

Zookeeper

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

Zookeeper

hadoop-2.7.1+zookeeper-3.4.8+hbase-1.2.1+apache-hive-2.0.0完全分布式集群