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 分布式集群搭建实例
大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集
大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
hadoop-2.7.1+zookeeper-3.4.8+hbase-1.2.1+apache-hive-2.0.0完全分布式集群