hbase需要装mysql么_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用户,并赋予足够的权限

[master@master1 hive]$ mysql -uroot -p

Enter password:

......此处省略部分日志......

mysql> create user 'hive' identified by 'hive';

Query OK, 0 rows affected (0.05 sec)

mysql> grant all privileges on *.* to 'hive' with grant option;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

2:测试hive能否正常连接Mysql,并创建hive数据库

?此时报错如下:ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

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

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)

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

[master@master1 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)

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

? ? ? ? ? ? ? ??[master@master1 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

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

hive

username to use against metastore database

javax.jdo.option.ConnectionPassword

hive

password to use against metastore database

8:启动hadoop,测试hive

[master@master1 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

每台机器上执行:[master@master1 zookeeper]$  sudo bin/zkServer.sh start

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

sudo bin/zkServer.sh stop    停止服务

6:遇到的问题

[master@master1 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

hbase.rootdir

hdfs://mini1:9000/hbase

hbase.cluster.distributed

true

hbase.zookeeper.quorum

mini1:2181,mini2:2181,mini3:2181

hbase.master.info.port

60010

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值