Cài đặt Hadoop + HBase + Apache Phoenix - BlogDogy
Có thể bạn quan tâm
Bài hướng dẫn này đang sử dụng các phiên bản như sau, mình không đảm bảo được rằng nó cũng hoạt động ngon với các phiên bản kế tiếp.
- Java 8
- Hadoop 2.7.7: https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
- HBase 1.3.5: https://www.apache.org/dyn/closer.lua/hbase/1.3.5/hbase-1.3.5-bin.tar.gz
- Phoenix 4.13.1: http://archive.apache.org/dist/phoenix/apache-phoenix-4.13.1-HBase-1.3/bin/
- Snappy 1.1.6: https://github.com/google/snappy/releases
Trong bài viết này, mình sử dụng username có tên là paduvi, các bạn thay nó bằng tên user của riêng mình nhé.
1. Cài đặt Java:
$ sudo apt update $ sudo apt install openjdk-8-jdkKiểm tra cài đặt thành công chưa bằng lệnh:
$ java -versionĐặt giá trị JAVA_HOME, sử dụng lệnh sau để lấy đường dẫn của thư mục cài đặt Java:
$ sudo update-alternatives --config java There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java Nothing to configure.hoặc nó sẽ hiện ra như sau:
There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode Press <enter> to keep the current choice[*], or type selection number:Bổ sung dòng sau vào trong file ~/.bashrc:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/binĐể hoàn thành thì ta cần thực thi lệnh:
$ source ~/.bashrc2. Cài đặt Hadoop:
$ cd ~ $ wget http://mirrors.viethosting.com/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz $ tar -zxvf hadoop-2.7.7.tar.gz $ sudo mv hadoop-2.7.7 /usr/local/hadoopCopy đống sau vào trong ~/.bashrc:
export HADOOP_HOME=/usr/local/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export HADOOP_INSTALL=$HADOOP_HOMEVà sau đó ta cần gọi source ~/.bashrc để apply các thay đổi.
$ cd $HADOOP_HOME/etc/hadoopToàn bộ file cấu hình của Hadoop đều nằm trong này, ta sẽ lần lượt sửa từng file sau:
2.1. File hadoop-env.sh:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd642.2. File core-site.xml:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>2.3. File hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name > <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>file:///home/paduvi/hadoopinfra/hdfs/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>file:///home/paduvi/hadoopinfra/hdfs/datanode</value> </property> </configuration>2.4. File yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>2.5. File mapred-site.xml:
Trước hết, copy file mapred-site.xml.template sang mapred-site.xml
$ cp mapred-site.xml.template mapred-site.xmlBổ sung đoạn sau vào trong nội dung file mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>Kiểm tra xem ổn chưa nè:
$ cd ~ $ hdfs namenode -formatNếu không có lỗi gì thì ta start hadoop thôi:
$ start-dfs.sh $ start-yarn.sh3. Cài đặt HBase:
$ cd ~ $ wget http://mirrors.viethosting.com/apache/hbase/1.3.5/hbase-1.3.5-bin.tar.gz $ tar -zxvf hbase-1.3.5-bin.tar.gz $ sudo mv hbase-1.3.5 /usr/local/hbaseCopy đống sau vào trong ~/.bashrc:
export HBASE_HOME=/usr/local/hbase export HBASE_CONF_DIR=$HBASE_HOME/conf export PATH=$PATH:$HBASE_HOME/binVà sau đó ta cần gọi source ~/.bashrc để apply các thay đổi.
$ cd $HBASE_CONF_DIRToàn bộ file cấu hình của HBase đều nằm trong này, ta sẽ lần lượt sửa theo từng bước như sau. Đầu tiên, sửa file hbase-env.sh:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64Tiếp theo, để chạy thử HBase ở chế độ standalone, ta sửa file hbase-site.xml:
<configuration> // Here you have to set the path where you want HBase to store its files. <property> <name>hbase.rootdir</name> <value>file:///home/paduvi/HBase/HFiles</value> </property> // Here you have to set the path where you want HBase to store its built in zookeeper files. <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/paduvi/zookeeper</value> </property> </configuration>Khởi động HBase:
$ start-hbase.shTa thử kết nối tới HBase Server sử dụng HBase Shell, chương trình này sẽ tự động khởi tạo connection tới HBase, với cấu hình sẽ được load từ file $HBASE_CONF_DIR/hbase-site.xml. Nếu các bạn sau này có muốn kết nối tới remote server, thì mình chỉ cần export biến HBASE_CONF_DIR tới thư mục chứa file hbase-site.xml lưu cấu hình remote:
$ hbase shell hbase(main):001:0> hbase(main):001:0> create 'test', 'cf' 0 row(s) in 0.4170 seconds => Hbase::Table - test hbase(main):001:0> quitNếu không có lỗi gì xảy ra, thì ta sẽ chuyển sang phần tiếp, đó là lưu vào Hadoop và sử dụng Zookeeper. Ta tạm stop hbase để tránh 1 số lỗi không mong muốn:
$ stop-hbase.shSửa file hbase-env.sh:
# Tell HBase whether it should manage it's own instance of Zookeeper or not. export HBASE_MANAGES_ZK=falseXóa toàn bộ các property cũ trong file hbase-site.xml đi, thay bằng như sau:
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>zookeeper.znode.parent</name> <value>/hbase-unsecure</value> </property>Khởi động Zookeeper:
$ hbase-daemons.sh start zookeeperKhởi động HBase:
$ start-hbase.shNếu thành công, ta sẽ thu được kết quả tương tự như sau:
$ hadoop fs -ls /hbase Found 7 items drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data -rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id -rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs4. Cài đặt Snappy:
Snappy là 1 thư viện được dùng trong Hadoop để nén dữ liệu. Để biết trong máy mình đã có cài đặt Snappy cho Hadoop chưa, ta có thể gọi lệnh sau để kiểm tra:
$ hadoop checknative -aTrước khi bắt đầu, để đảm bảo toàn vẹn dữ liệu, ta sẽ stop tất cả các service Hadoop và HBase:
$ stop-hbase.sh $ stop-yarn.sh $ stop-dfs.sh $ cd ~ $ wget https://github.com/google/snappy/archive/1.1.6.tar.gz $ tar -xvzf 1.1.6.tar.gz $ cd snappy-1.1.6/ $ mkdir build $ cd build && cmake ../ && make $ sudo make installLệnh cuối cùng sẽ generate ra các file libsnappy.so* ở trong thư mục /usr/local/lib/, ta sẽ copy các file này vào trong folder lib của Hadoop:
$ cp /usr/local/lib/libsnappy* $HADOOP_HOME/lib/native/Cập nhật file ~/.bashrc rồi sau đó chạy source ~/.bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/ export JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:$HADOOP_HOME/lib/native/ export HBASE_LIBRARY_PATH=$HADOOP_HOME/lib/native/Cập nhật file core-site.xml của Hadoop:
<property> <name>io.compression.codecs</name> <value> org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.SnappyCodec </value> </property>Khởi động lại Hadoop và HBase:
$ start-dfs.sh $ start-yarn.sh $ hadoop checknative -a $ start-hbase.sh $ hbase shell hbase(main):001:0> create 'snappyTest',{NAME=>'f',COMPRESSION => 'SNAPPY'}5. Cài đặt Apache Phoenix:
$ cd ~ $ wget http://archive.apache.org/dist/phoenix/apache-phoenix-4.13.1-HBase-1.3/bin/apache-phoenix-4.13.1-HBase-1.3-bin.tar.gz $ tar -xvzf apache-phoenix-4.13.1-HBase-1.3-bin.tar.gz $ cd apache-phoenix-4.13.1-HBase-1.3-binTạm thời stop HBase và copy 1 số file jar vào trong thư mục lib của HBase:
$ stop-hbase.sh $ cp phoenix-core-4.13.1-HBase-1.3.jar $HBASE_HOME/lib/ $ cp phoenix-4.13.1-HBase-1.3-server.jar $HBASE_HOME/lib/Bổ sung cấu hình sau vào hbase-site.xml:
<property> <name>phoenix.schema.mapSystemTablesToNamespace</name> <value>true</value> </property> <property> <name>phoenix.schema.isNamespaceMappingEnabled</name> <value>true</value> </property>Khởi động lại HBase và thử kết nối bằng Phoenix:
$ start-hbase.sh $ python sqlline.pyTừ khóa » Cài đặt Hbase
-
Hbase Là Gì? Hướng Dẫn Cài đặt Và Sử Dụng Hbase - ITNavi
-
Hướng Dẫn Cài đặt Hbase ở Chế độ Distributed - Technology - Tips
-
Tổng Quan Về Hbase Là Gì ? Hướng Dẫn Cài Đặt Và Sử Dụng Hbase
-
Dữ Liệu Lớn: Hbase Là Gì ? Hướng Dẫn Cài Đặt Và Sử Dụng Hbase
-
Cài đặt Hbase Trên Ubuntu - YouTube
-
Hbase Là Gì
-
Learn - HBase Database Cho Máy Tính PC Windows - AppChoPC
-
Hadoop HBase Tutorials Cho Máy Tính PC Windows - AppChoPC
-
Khi Nào Nên Sử Dụng Hadoop, Hbase, Hive Và Pig
-
HBase Performance Tuning | Ways For HBase Optimization - فيسبوك
-
Hbase Là Gì? Hướng Dẫn Cài đặt Và Sử Dụng Hbase
-
Install Apache Hadoop / HBase On Ubuntu 20.04
-
Cài đặt HBase ở Chế độ Phân Tán Giả Trên Ubuntu 13.4
-
Quickstart: Apache HBase & Apache Phoenix - Azure HDInsight