Hadoop と HBase をそれぞれインストールし、動かしてみたが、
良くわからないエラーが出るため、CDH5 でインストールしてみる。
エラー原因は、恐らく Hadoop と HBase のバージョンが合っていないため・・・だと思っている
ntpd, java(SE), maven はインストール済みとする
#OS設定
###ファイルディスクリプタ数
HBase が 1 プロセスから大量にファイル・ソケットをオープンするため、
ファイルディスクリプタ数を上げておく
/etc/security/limits.conf に追加
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
###カーネル設定
HBase が使用するメモリをディスクに追い出されにくくする
/etc/sysctl.conf に追加
kernel.panic_on_oops = 1
kernel.panic = 1
vm.swappiness = 0
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
※参考にさせて頂きました(ありがとうございます)
###hosts 設定
ホスト名を example.com とする
/etc/hosts に追加
[IP] example example.com localdomain
#CDH5 のリポジトリ設定
# wget -P /usr/local/src/ http://archive.cloudera.com/cdh5/one-click-install/redhat/6/x86_64/cloudera-cdh-5-0.x86_64.rpm
# rpm -ivh /usr/local/src/cloudera-cdh-5-0.x86_64.rpm
# rpm --import http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
#Hadoop 設定
###yum でインストール
# yum install hadoop-conf-pseudo
###hdfs 初期化
# sudo -u hdfs hdfs namenode -format
###hadoop 起動
# /etc/init.d/hadoop-hdfs-namenode start
# /etc/init.d/hadoop-hdfs-datanode start
# /etc/init.d/hadoop-yarn-resourcemanager start
# /etc/init.d/hadoop-yarn-nodemanager start
# /etc/init.d/hadoop-mapreduce-historyserver start
ブラウザで確認(今回は 1台構成なので、IP は全て同じ)
http://[Namenode_IP]:50070 <- HDFS
http://[ResourceManager_IP]:8088 <- ResourceManager
http://[NodeManager_IP]:8042 <- NodeManager
サンプルを動かしてみる
# sudo -u hdfs hadoop fs -mkdir -p /user/hdfs
# sudo -u hdfs hadoop fs -chown hdfs /user/hdfs
# sudo -u hdfs hadoop fs -put /usr/share/dict/words words
# sudo -u hdfs hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount words output
動いているか確認
# sudo -u hdfs hadoop fs -cat /user/hdfs/output/part-r-00000
こんなのが表示されれば、オッケー
・
・
・
zymurgy 1
zythem 1
zythum 1
zyzzyva 1
zyzzyvas 1
#HBase 設定
###yum でインストール
# yum -y install hbase hbase-{doc,master,regionserver,thrift} zookeeper-server
###HBase 起動
HDFS に HBase 用のディレクトリ作成
# sudo -u hdfs hadoop fs -mkdir /hbase
# sudo -u hdfs hadoop fs -chown hbase /hbase
HBase の保存先を設定
/etc/hbase/conf/hbase-site.xml に記述
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://127.0.0.1:8020/hbase</value>
</property>
</configuration>
zookeeper-server を初期化
# /etc/init.d/zookeeper-server init
次に、zookeeper-server, hbase-master, hbase-regionserver の順に起動
# /etc/init.d/zookeeper-server start
# /etc/init.d/hbase-master start
# /etc/init.d/hbase-regionserver
hbase のテスト
# hbase shell
ステータスを確認し、テーブル作成
hbase(main):001:0> status
1 servers, 0 dead, 3.0000 average load
hbase(main):002:0> create "tbl1", "test1"
0 row(s) in 1.5590 seconds
=> Hbase::Table - tbl1
hbase(main):003:0> exit
動いた!
とりあえず、Hadoop, HBase のインストールまで完了
細かい設定とか調べないとなー