環境:VMwareの11、Ubuntuの15.10、Hadoopの2.7.1
ハイブは、静的なバッチのHadoopに基づいて構築され、Hadoopが通常より長い待ち時間を持っており、ジョブの投入とスケジューリング時のオーバーヘッドの多くを必要とします。したがって、ハイブは、大きなデータセット上で低レイテンシの高速クエリには適していません。たとえば、オンライン・トランザクション処理(OLTP)。ハイブクエリ操作プロセスは、厳密にHadoopのMapReduceジョブの実行モデルを遵守し、ハイブは通訳、ジョブを実行し、ユーザにジョブの実行結果に戻るには、Hadoopの監視プロセスを通じてのHadoopクラスタのMapReduceジョブに提出し、ユーザーのHiveQL文を変換します。
ハイブは、大規模なデータセット、例えば、Webログ解析バッチジョブの最良の使用です。
ハイブは、デフォルトで組み込まれたことにより、使用されているダービーのデータベースが、データベースは、ファイルにアクセスすることができますので、他のリレーショナル・データベースの代わりに使用することが必要であるダービーここで、実証MysqlのとPostgreSQLのインストールを。
1.1インストールのMysql
- ダウンロード:
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
インストールプロセスは、パスワードを入力するように求められます時に、入力することを忘れないでください。
- :インストールが成功したチェック
sudo netstat -tap | grep mysql
に成功インストールした場合。
またはEnter sudo service mysql status
ビュー:
使用する
mysql -u root -p
MySQLデータベースにログインON ALL権限を付与* * GRANT OPTION付き'ルート' @ '%'をTO;
或
GRANT ON * * 'ROOT' @ '%'をGRANT OPTION付き'ROOTPASSWD BY' IDENTIFIED TO ALL PRIVILEGES;。
此处%表示任意のホスト作成==ハイブ== == ==ハイブデータベースとユーザー
MySQLの使用
ユーザINTO INSERT(ホスト、ユーザ、パスワード)の値(「%」、「ハイブ」、パスワード(「ハイブ」));すなわち、ユーザが//ホストは、MySQL%リモートアクセス時間を使用することができ
変更mysqld.cnf設定ファイルを
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
、bind-address = 127.0.0.1
コメントアウトまたは修正bind-address=0.0.0.0
。再起動する必要がmysqlの:、sudo service mysql restart
その後することができますリモートでアクセスmysqlの
見つけることができる、MySQLのプロセスのホストが変更されましたシェルを使用してデータベースをログに記録するシステム・ユーザーを作成します
sudo adduserのハイブ
- 完全に削除MySQLを
APT-GET自動的削除-purgeはsudoのMySQL-サーバー
sudoが、これは非常に重要です//共通の削除のMySQL-APT-GET
のdpkg -l | grepを^ RC | awkの '{$ 2印刷}' | sudoをxargsのはdpkg -P // 残留データをクリーンアップ
PostgreSQLの1.2のインストール
- ダウンロード
sudo apt-get install postgresl-9.4
- デフォルトのユーザーのログインを使用して
sudo -u postgres psql postgres
、Adminpackを作成します。CREATE EXTENSION adminpack;
- 使用
password postgres
、デフォルトのユーザーを設定する==のpostgres ==パスワード、利用q
終了pgsqlのシェル:
- ==ハイブ==データベース:データベースユーザー==ハイブ==(ハイブパスワード)を作成します。
-u -d -P PostgresのCREATEUSERハイブ-A sudoの
ユーザ名をハイブに-O //最初のハイブをCREATEDBにsudo -u Postgresのハイブを
シェルを使用してデータベースをログに記録するシステム・ユーザーを作成します
sudo adduserのハイブ
設定にpg_hba.confとpostgresql.confのを
南あなたは/etc/postgresql/9.4/main/pg_hba.conf
あなたが/etc/postgresql/9.4/main/postgresql.conf南
192.168.8.0
ローカルIPで、他の項目もに改正されなければならないのMD5検証
唯一、デフォルトではPostgreSQLのネイティブアクセス、設定したいのでlisten_addressをします*
サービスを再起動し、完全に有効にする装備
sudoのsystemctl再起動PostgreSQLの
或者
sudoのサービスPostgreSQLの再起動
参考:
http://www.unixmen.com/install-postgresql-9-4-and-phppgadmin-on-ubuntu-15-10/
https://help.ubuntu.com/lts/serverguide/mysql.html
2インストールハイブ
環境変数の設定:
2.1 MySQLの/ PostgreSQLのJDBCパッケージをダウンロード
http://dev.mysql.com/downloads/connector/j/
https://jdbc.postgresql.org/download.html
にドライバパッケージハイブここに示されたの== libに==ディレクトリは、あるMySQLの
2.2ハイブの設定
ハイブさん== confの==、次のファイルをコピーします。
CPハイブ-default.xml.templateハイブ-のsite.xml
CPハイブ-env.sh.template hive-env.sh
設定hive-env.sh
|
|
コンフィギュレーション・ハイブ-site.xmlの
ハイブは、 2つのファイルがロードされたハイブ-default.xmlの、あるハイブ-のsite.xml異なる設定パラメータの2つのファイルが、場合、ファイルハイブは、ユーザーによって設定されますハイブ-site.xmlに勝ちます。だから我々はできる-site.xmlのをハイブのみ、次のパラメータを保持します
|
|
2.3 创建必要的目录
hdfs dfs -mkdir /user/
hdfs dfs -mkdir /user/hive/
hdfs dfs -mkdir /user/hive/warehouse
hdfs dfs -mkdir /tmp/
hdfs dfs -mkdir /tmp/hive
hdfs dfs -chmod 777 /user/hive/warehouse
hdfs dfs -chmod 777 /tmp/hive
记得修改文件夹权限,否则在JDBC访问时,可能会出现如下错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=anonymous, access=WRITE, inode=”/user/hive/warehouse/loginfo”:phoenix:supergroup:drwxr-xr-x
==loginfo==是使用JDBC创建的Hive表
2.3 启动
hive start
会抛出下面错误:
Exception in thread “main” java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType …) to create the schema. If needed, don’t forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)
由于Hive默认的是 Derby 数据库,所以先要初始化Hive:
|
|
Mysql的Hive库里生成一些元数据表
JDBC接口
配置Hadoop的core-site.xml,以便允许匿名访问Hadoop
|
|
否则会遇到如下错误:
org.apache.hadoop.ipc.RemoteException: User: phoenix is not allowed to impersonate anonymous
设置完成后需要重启hadoop,然后运行==hive/bin==下的hiveserver2
在Eclipse项目中的包如下图产,这些jar包可以在==hive/lib==目录下找到,==slf4j==这两个包可以在hadoop中找到:
测试类:
|
|
参考:
https://www.shiyanlou.com/courses/document/766
http://blog.csdn.net/nengyu/article/details/51620760
http://www.cnblogs.com/linjiqin/archive/2013/ 03/04 / 2943025.html
オリジナル:ビッグボックス ハイブ2.0.1インストールの配備