HBase - Cài đặt
Chương này giải thích cách HBase được cài đặt và cấu hình ban đầu. Java và Hadoop được yêu cầu để tiếp tục với HBase, vì vậy bạn phải tải xuống và cài đặt java và Hadoop trong hệ thống của mình.
Cài đặt trước cài đặt
Trước khi cài đặt Hadoop vào môi trường Linux, chúng ta cần thiết lập Linux bằng ssh(Vỏ an toàn). Làm theo các bước dưới đây để thiết lập môi trường Linux.
Tạo người dùng
Trước hết, bạn nên tạo một người dùng riêng cho Hadoop để cô lập hệ thống tệp Hadoop khỏi hệ thống tệp Unix. Làm theo các bước dưới đây để tạo người dùng.
- Mở thư mục gốc bằng lệnh “su”.
- Tạo người dùng từ tài khoản gốc bằng lệnh “useradd username”.
- Bây giờ bạn có thể mở một tài khoản người dùng hiện có bằng lệnh “su username”.
Mở thiết bị đầu cuối Linux và nhập các lệnh sau để tạo người dùng.
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd
Thiết lập SSH và tạo khóa
Thiết lập SSH được yêu cầu để thực hiện các hoạt động khác nhau trên cụm như bắt đầu, dừng và các hoạt động trình bao daemon phân tán. Để xác thực những người dùng khác nhau của Hadoop, cần phải cung cấp cặp khóa công khai / riêng tư cho người dùng Hadoop và chia sẻ nó với những người dùng khác nhau.
Các lệnh sau được sử dụng để tạo cặp giá trị khóa bằng SSH. Sao chép các khóa công khai biểu mẫu id_rsa.pub vào allow_keys và cung cấp cho chủ sở hữu, quyền đọc và ghi đối với tệp ủy quyền.
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
Xác minh ssh
ssh localhost
Cài đặt Java
Java là điều kiện tiên quyết chính cho Hadoop và HBase. Trước hết, bạn nên xác minh sự tồn tại của java trong hệ thống của mình bằng cách sử dụng “java -version”. Cú pháp của lệnh phiên bản java được đưa ra dưới đây.
$ java -version
Nếu mọi thứ hoạt động tốt, nó sẽ cung cấp cho bạn kết quả sau.
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
Nếu java chưa được cài đặt trong hệ thống của bạn, hãy làm theo các bước dưới đây để cài đặt java.
Bước 1
Tải xuống java (JDK <phiên bản mới nhất> - X64.tar.gz) bằng cách truy cập liên kết sau Oracle Java .
Sau đó jdk-7u71-linux-x64.tar.gz sẽ được tải xuống hệ thống của bạn.
Bước 2
Nói chung, bạn sẽ tìm thấy tệp java đã tải xuống trong thư mục Tải xuống. Xác minh nó và trích xuấtjdk-7u71-linux-x64.gz sử dụng các lệnh sau.
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
Bước 3
Để cung cấp java cho tất cả người dùng, bạn phải di chuyển nó đến vị trí “/ usr / local /”. Mở root và nhập các lệnh sau.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Bước 4
Để thiết lập PATH và JAVA_HOME biến, thêm các lệnh sau vào ~/.bashrc tập tin.
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin
Bây giờ áp dụng tất cả các thay đổi vào hệ thống đang chạy hiện tại.
$ source ~/.bashrc
Bước 5
Sử dụng các lệnh sau để định cấu hình các lựa chọn thay thế java:
# alternatives --install /usr/bin/java java usr/local/java/bin/java 2
# alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2
# alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2
# alternatives --set java usr/local/java/bin/java
# alternatives --set javac usr/local/java/bin/javac
# alternatives --set jar usr/local/java/bin/jar
Bây giờ xác minh java -version lệnh từ thiết bị đầu cuối như đã giải thích ở trên.
Tải xuống Hadoop
Sau khi cài đặt java, bạn phải cài đặt Hadoop. Trước hết, hãy xác minh sự tồn tại của Hadoop bằng lệnh “Hadoop version” như hình dưới đây.
hadoop version
Nếu mọi thứ hoạt động tốt, nó sẽ cung cấp cho bạn kết quả sau.
Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using
/home/hadoop/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar
Nếu hệ thống của bạn không thể định vị Hadoop, hãy tải xuống Hadoop trong hệ thống của bạn. Làm theo các lệnh dưới đây để làm như vậy.
Tải xuống và giải nén hadoop-2.6.0 từ Apache Software Foundation bằng các lệnh sau.
$ su
password:
# cd /usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit
Cài đặt Hadoop
Cài đặt Hadoop ở bất kỳ chế độ nào được yêu cầu. Ở đây, chúng tôi đang trình bày các chức năng của HBase trong chế độ phân tán giả, do đó hãy cài đặt Hadoop ở chế độ phân phối giả.
Các bước sau được sử dụng để cài đặt Hadoop 2.4.1.
Bước 1 - Thiết lập Hadoop
Bạn có thể đặt các biến môi trường Hadoop bằng cách thêm các lệnh sau vào ~/.bashrc tập tin.
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_HOME
Bây giờ áp dụng tất cả các thay đổi vào hệ thống đang chạy hiện tại.
$ source ~/.bashrc
Bước 2 - Cấu hình Hadoop
Bạn có thể tìm thấy tất cả các tệp cấu hình Hadoop ở vị trí “$ HADOOP_HOME / etc / hadoop”. Bạn cần thực hiện các thay đổi trong các tệp cấu hình đó theo cơ sở hạ tầng Hadoop của mình.
$ cd $HADOOP_HOME/etc/hadoop
Để phát triển các chương trình Hadoop trong java, bạn phải đặt lại biến môi trường java trong hadoop-env.sh tập tin bằng cách thay thế JAVA_HOME giá trị với vị trí của java trong hệ thống của bạn.
export JAVA_HOME=/usr/local/jdk1.7.0_71
Bạn sẽ phải chỉnh sửa các tệp sau để định cấu hình Hadoop.
core-site.xml
Các core-site.xml tệp chứa thông tin như số cổng được sử dụng cho phiên bản Hadoop, bộ nhớ được cấp phát cho hệ thống tệp, giới hạn bộ nhớ để lưu trữ dữ liệu và kích thước của bộ đệm Đọc / Ghi.
Mở core-site.xml và thêm các thuộc tính sau vào giữa các thẻ <configuration> và </configuration>.
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
Các hdfs-site.xml tệp chứa thông tin như giá trị của dữ liệu sao chép, đường dẫn nút tên và đường dẫn nút dữ liệu của hệ thống tệp cục bộ của bạn, nơi bạn muốn lưu trữ cơ sở hạ tầng Hadoop.
Hãy để chúng tôi giả sử dữ liệu sau đây.
dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
Mở tệp này và thêm các thuộc tính sau vào giữa các thẻ <configuration>, </configuration>.
<configuration>
<property>
<name>dfs.replication</name >
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
</property>
</configuration>
Note: Trong tệp ở trên, tất cả các giá trị thuộc tính do người dùng xác định và bạn có thể thực hiện các thay đổi theo cơ sở hạ tầng Hadoop của mình.
yarn-site.xml
Tệp này được sử dụng để cấu hình sợi thành Hadoop. Mở tệp fiber-site.xml và thêm thuộc tính sau vào giữa <config $ gt ;, </ configuration $ gt; trong tệp này.
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
Tệp này được sử dụng để chỉ định khung MapReduce mà chúng tôi đang sử dụng. Theo mặc định, Hadoop chứa một mẫu sợi-site.xml. Trước hết, cần phải sao chép tệp từmapred-site.xml.template đến mapred-site.xml sử dụng lệnh sau.
$ cp mapred-site.xml.template mapred-site.xml
Mở mapred-site.xml và thêm các thuộc tính sau vào giữa thẻ <configuration> và </configuration>.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Xác minh cài đặt Hadoop
Các bước sau được sử dụng để xác minh cài đặt Hadoop.
Bước 1 - Thiết lập nút đặt tên
Thiết lập nút tên bằng lệnh “hdfs namenode -format” như sau.
$ cd ~
$ hdfs namenode -format
Kết quả mong đợi như sau.
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/
Bước 2 - Xác minh dfs Hadoop
Lệnh sau được sử dụng để bắt đầu dfs. Thực thi lệnh này sẽ khởi động hệ thống tệp Hadoop của bạn.
$ start-dfs.sh
Sản lượng dự kiến như sau.
10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]
Bước 3 - Xác minh Tập lệnh Sợi
Lệnh sau được sử dụng để bắt đầu tập lệnh sợi. Việc thực thi lệnh này sẽ bắt đầu các daemon sợi của bạn.
$ start-yarn.sh
Sản lượng dự kiến như sau.
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
Bước 4 - Truy cập Hadoop trên trình duyệt
Số cổng mặc định để truy cập Hadoop là 50070. Sử dụng url sau để tải các dịch vụ Hadoop trên trình duyệt của bạn.
http://localhost:50070
Bước 5 - Xác minh tất cả các ứng dụng của cụm
Số cổng mặc định để truy cập tất cả các ứng dụng của cụm là 8088. Sử dụng url sau để truy cập dịch vụ này.
http://localhost:8088/
Cài đặt HBase
Chúng tôi có thể cài đặt HBase ở bất kỳ chế độ nào trong ba chế độ: Chế độ độc lập, Chế độ giả phân tán và Chế độ phân phối hoàn toàn.
Cài đặt HBase ở chế độ độc lập
Tải xuống phiên bản ổn định mới nhất của biểu mẫu HBase http://www.interior-dsgn.com/apache/hbase/stable/sử dụng lệnh “wget” và giải nén nó bằng lệnh tar “zxvf”. Xem lệnh sau.
$cd usr/local/
$wget http://www.interior-dsgn.com/apache/hbase/stable/hbase-0.98.8-
hadoop2-bin.tar.gz
$tar -zxvf hbase-0.98.8-hadoop2-bin.tar.gz
Chuyển sang chế độ siêu người dùng và di chuyển thư mục HBase sang / usr / local như hình dưới đây.
$su
$password: enter your password here
mv hbase-0.99.1/* Hbase/
Cấu hình HBase ở chế độ độc lập
Trước khi tiếp tục với HBase, bạn phải chỉnh sửa các tệp sau và cấu hình HBase.
hbase-env.sh
Đặt Trang chủ java cho HBase và mở hbase-env.shtệp từ thư mục conf. Chỉnh sửa biến môi trường JAVA_HOME và thay đổi đường dẫn hiện có thành biến JAVA_HOME hiện tại của bạn như hình bên dưới.
cd /usr/local/Hbase/conf
gedit hbase-env.sh
Thao tác này sẽ mở tệp env.sh của HBase. Bây giờ thay thế hiện tạiJAVA_HOME giá trị với giá trị hiện tại của bạn như hình dưới đây.
export JAVA_HOME=/usr/lib/jvm/java-1.7.0
hbase-site.xml
Đây là tệp cấu hình chính của HBase. Đặt thư mục dữ liệu đến một vị trí thích hợp bằng cách mở thư mục chính HBase trong / usr / local / HBase. Bên trong thư mục conf, bạn sẽ tìm thấy một số tệp, hãy mởhbase-site.xml như hình bên dưới.
#cd /usr/local/HBase/
#cd conf
# gedit hbase-site.xml
Bên trong hbase-site.xml, bạn sẽ tìm thấy các thẻ <configuration> và </configuration>. Bên trong chúng, đặt thư mục HBase dưới khóa thuộc tính với tên “hbase.rootdir” như hình dưới đây.
<configuration>
//Here you have to set the path where you want HBase to store its files.
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/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/hadoop/zookeeper</value>
</property>
</configuration>
Với điều này, phần cài đặt và cấu hình HBase đã hoàn tất thành công. Chúng ta có thể bắt đầu HBase bằng cách sử dụngstart-hbase.shtập lệnh được cung cấp trong thư mục bin của HBase. Đối với điều đó, hãy mở Thư mục Trang chủ HBase và chạy tập lệnh khởi động HBase như hình dưới đây.
$cd /usr/local/HBase/bin
$./start-hbase.sh
Nếu mọi thứ suôn sẻ, khi bạn cố gắng chạy tập lệnh khởi động HBase, nó sẽ nhắc bạn một thông báo rằng HBase đã bắt đầu.
starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out
Cài đặt HBase ở chế độ giả phân tán
Bây giờ chúng ta hãy kiểm tra cách HBase được cài đặt trong chế độ giả phân phối.
Cấu hình HBase
Trước khi tiếp tục với HBase, hãy định cấu hình Hadoop và HDFS trên hệ thống cục bộ của bạn hoặc trên hệ thống từ xa và đảm bảo chúng đang chạy. Dừng HBase nếu nó đang chạy.
hbase-site.xml
Chỉnh sửa tệp hbase-site.xml để thêm các thuộc tính sau.
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
Nó sẽ đề cập đến HBase nên được chạy ở chế độ nào. Trong cùng một tệp từ hệ thống tệp cục bộ, hãy thay đổi hbase.rootdir, địa chỉ phiên bản HDFS của bạn, sử dụng cú pháp hdfs: //// URI. Chúng tôi đang chạy HDFS trên máy chủ cục bộ tại cổng 8030.
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8030/hbase</value>
</property>
Khởi động HBase
Sau khi cấu hình xong, duyệt đến thư mục chính của HBase và khởi động HBase bằng lệnh sau.
$cd /usr/local/HBase
$bin/start-hbase.sh
Note: Trước khi khởi động HBase, hãy đảm bảo Hadoop đang chạy.
Kiểm tra Thư mục HBase trong HDFS
HBase tạo thư mục của nó trong HDFS. Để xem thư mục đã tạo, hãy duyệt đến Hadoop bin và nhập lệnh sau.
$ ./bin/hadoop fs -ls /hbase
Nếu mọi thứ suôn sẻ, nó sẽ cung cấp cho bạn kết quả sau.
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/oldWALs
Bắt đầu và Dừng một Master
Sử dụng “local-master-backup.sh”, bạn có thể khởi động tối đa 10 máy chủ. Mở thư mục chính của HBase, làm chủ và thực hiện lệnh sau để khởi động nó.
$ ./bin/local-master-backup.sh 2 4
Để tiêu diệt một bản sao lưu, bạn cần id tiến trình của nó, id này sẽ được lưu trữ trong một tệp có tên “/tmp/hbase-USER-X-master.pid.” bạn có thể hủy bản sao lưu bằng lệnh sau.
$ cat /tmp/hbase-user-1-master.pid |xargs kill -9
Khởi động và Dừng Vùng Máy chủ
Bạn có thể chạy nhiều máy chủ khu vực từ một hệ thống bằng cách sử dụng lệnh sau.
$ .bin/local-regionservers.sh start 2 3
Để dừng một máy chủ khu vực, hãy sử dụng lệnh sau.
$ .bin/local-regionservers.sh stop 3
Khởi động HBaseShell
Sau khi cài đặt HBase thành công, bạn có thể khởi động HBase Shell. Dưới đây là trình tự các bước cần tuân theo để khởi động trình bao HBase. Mở thiết bị đầu cuối và đăng nhập với tư cách siêu người dùng.
Khởi động hệ thống tệp Hadoop
Duyệt qua thư mục sbin trang chủ Hadoop và khởi động hệ thống tệp Hadoop như hình dưới đây.
$cd $HADOOP_HOME/sbin
$start-all.sh
Khởi động HBase
Duyệt qua thư mục bin thư mục gốc HBase và khởi động HBase.
$cd /usr/local/HBase
$./bin/start-hbase.sh
Khởi động máy chủ HBase Master
Đây sẽ là cùng một thư mục. Bắt đầu nó như hình dưới đây.
$./bin/local-master-backup.sh start 2 (number signifies specific
server.)
Khu vực bắt đầu
Khởi động máy chủ khu vực như hình dưới đây.
$./bin/./local-regionservers.sh start 3
Khởi động vỏ HBase
Bạn có thể khởi động trình bao HBase bằng lệnh sau.
$cd bin
$./hbase shell
Điều này sẽ cung cấp cho bạn HBase Shell Prompt như hình dưới đây.
2014-12-09 14:24:27,526 INFO [main] Configuration.deprecation:
hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.98.8-hadoop2, r6cfc8d064754251365e070a10a82eb169956d5fe, Fri
Nov 14 18:26:29 PST 2014
hbase(main):001:0>
Giao diện web HBase
Để truy cập giao diện web của HBase, hãy nhập url sau vào trình duyệt.
http://localhost:60010
Giao diện này liệt kê các máy chủ Vùng hiện đang chạy, bản sao dự phòng và bảng HBase.
Máy chủ Khu vực HBase và Trình chủ dự phòng
Bảng HBase
Đặt môi trường Java
Chúng tôi cũng có thể giao tiếp với HBase bằng các thư viện Java, nhưng trước khi truy cập HBase bằng Java API, bạn cần đặt classpath cho các thư viện đó.
Đặt Classpath
Trước khi tiếp tục lập trình, hãy đặt classpath thành các thư viện HBase trong .bashrctập tin. Mở.bashrc trong bất kỳ trình chỉnh sửa nào như được hiển thị bên dưới.
$ gedit ~/.bashrc
Đặt classpath cho các thư viện HBase (thư mục lib trong HBase) trong đó như hình dưới đây.
export CLASSPATH = $CLASSPATH://home/hadoop/hbase/lib/*
Điều này là để ngăn ngoại lệ “không tìm thấy lớp” khi truy cập HBase bằng API java.