HCatalog - Cài đặt
Tất cả các dự án con Hadoop như Hive, Pig và HBase đều hỗ trợ hệ điều hành Linux. Do đó, bạn cần cài đặt phiên bản Linux trên hệ thống của mình. HCatalog được hợp nhất với Cài đặt Hive vào ngày 26 tháng 3 năm 2013. Từ phiên bản Hive-0.11.0 trở đi, HCatalog đi kèm với cài đặt Hive. Do đó, hãy làm theo các bước dưới đây để cài đặt Hive, từ đó sẽ tự động cài đặt HCatalog trên hệ thống của bạn.
Bước 1: Xác minh cài đặt JAVA
Java phải được cài đặt trên hệ thống của bạn trước khi cài đặt Hive. Bạn có thể sử dụng lệnh sau để kiểm tra xem bạn đã cài đặt Java trên hệ thống của mình chưa -
$ java –version
Nếu Java đã được cài đặt trên hệ thống của bạn, bạn sẽ thấy phản hồi 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 bạn chưa cài đặt Java trên hệ thống của mình, thì bạn cần làm theo các bước dưới đây.
Bước 2: Cài đặt Java
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 http://www.oracle.com/
Sau đó jdk-7u71-linux-x64.tar.gz sẽ được tải xuống hệ thống của bạn.
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
Để cung cấp Java cho tất cả người dùng, bạn phải chuyển nó đến vị trí “/ usr / local /”. Mở thư mục gốc và gõ các lệnh sau.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Để 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ờ hãy xác minh cài đặt bằng lệnh java -version từ thiết bị đầu cuối như đã giải thích ở trên.
Bước 3: Xác minh cài đặt Hadoop
Hadoop phải được cài đặt trên hệ thống của bạn trước khi cài đặt Hive. Hãy để chúng tôi xác minh cài đặt Hadoop bằng lệnh sau:
$ hadoop version
Nếu Hadoop đã được cài đặt trên hệ thống của bạn, thì bạn sẽ nhận được phản hồi sau:
Hadoop 2.4.1
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4
Nếu Hadoop chưa được cài đặt trên hệ thống của bạn, hãy tiến hành các bước sau:
Bước 4: Tải xuống Hadoop
Tải xuống và giải nén Hadoop 2.4.1 từ Apache Software Foundation bằng các lệnh sau.
$ su
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit
Bước 5: Cài đặt Hadoop ở Chế độ phân tán giả
Các bước sau được sử dụng để cài đặt Hadoop 2.4.1 trong chế độ phân phối giả.
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
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
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 phù hợp 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 sử dụng Java, bạn phải đặt lại các 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
Dưới đây là danh sách các tệp mà bạn phải chỉnh sửa để đị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 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.xmltệ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ó có nghĩa là 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 following 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> trong tệp này.
<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 đều do người dùng xác định và bạn có thể thực hiện thay đổi theo cơ sở hạ tầng Hadoop của mình.
fiber-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 các thuộc tính sau vào giữa các thẻ <configuration>, </configuration> 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, bạn cần 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ở tệp mapred-site.xml và thêm các thuộc tính sau vào giữa các thẻ <configuration>, </configuration> trong tệp này.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Bước 6: Xác minh cài đặt Hadoop
Các bước sau được sử dụng để xác minh cài đặt Hadoop.
Thiết lập nú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
************************************************************/
Xác minh Hadoop DFS
Lệnh sau được sử dụng để khởi động 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]
Xác minh tập lệnh sợi
Lệnh sau được sử dụng để bắt đầu tập lệnh Yarn. Thực thi lệnh này sẽ bắt đầu các daemon Yarn 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
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/
Xác minh tất cả các ứng dụng cho 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/
Khi bạn đã hoàn tất việc cài đặt Hadoop, hãy chuyển sang bước tiếp theo và cài đặt Hive trên hệ thống của bạn.
Bước 7: Tải xuống Hive
Chúng tôi sử dụng hive-0.14.0 trong hướng dẫn này. Bạn có thể tải về bằng cách truy cập liên kết sauhttp://apache.petsads.us/hive/hive-0.14.0/. Hãy để chúng tôi giả sử nó được tải xuống/Downloadsdanh mục. Tại đây, chúng tôi tải xuống kho lưu trữ Hive có tên “apache-hive-0.14.0-bin.tar.gz”Cho hướng dẫn này. Lệnh sau được sử dụng để xác minh tải xuống:
$ cd Downloads
$ ls
Khi tải xuống thành công, bạn sẽ thấy phản hồi sau:
apache-hive-0.14.0-bin.tar.gz
Bước 8: Cài đặt Hive
Các bước sau là bắt buộc để cài đặt Hive trên hệ thống của bạn. Hãy giả sử rằng kho lưu trữ Hive được tải xuống/Downloads danh mục.
Giải nén và xác minh kho lưu trữ Hive
Lệnh sau được sử dụng để xác minh tải xuống và giải nén kho lưu trữ Hive:
$ tar zxvf apache-hive-0.14.0-bin.tar.gz
$ ls
Khi tải xuống thành công, bạn sẽ thấy phản hồi sau:
apache-hive-0.14.0-bin apache-hive-0.14.0-bin.tar.gz
Sao chép tệp vào thư mục / usr / local / hive
Chúng tôi cần sao chép các tệp từ superuser “su -”. Các lệnh sau được sử dụng để sao chép các tệp từ thư mục được trích xuất vào/usr/local/hive" danh mục.
$ su -
passwd:
# cd /home/user/Download
# mv apache-hive-0.14.0-bin /usr/local/hive
# exit
Thiết lập môi trường cho Hive
Bạn có thể thiết lập môi trường Hive bằng cách nối các dòng sau vào ~/.bashrc tập tin -
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.
Lệnh sau được sử dụng để thực thi tệp ~ / .bashrc.
$ source ~/.bashrc
Bước 9: Định cấu hình Hive
Để định cấu hình Hive với Hadoop, bạn cần chỉnh sửa hive-env.sh tệp, được đặt trong $HIVE_HOME/confdanh mục. Các lệnh sau chuyển hướng đến Hiveconfig thư mục và sao chép tệp mẫu -
$ cd $HIVE_HOME/conf
$ cp hive-env.sh.template hive-env.sh
Chỉnh sửa hive-env.sh tập tin bằng cách nối dòng sau -
export HADOOP_HOME=/usr/local/hadoop
Với điều này, quá trình cài đặt Hive đã hoàn tất. Bây giờ bạn yêu cầu một máy chủ cơ sở dữ liệu bên ngoài để cấu hình Metastore. Chúng tôi sử dụng cơ sở dữ liệu Apache Derby.
Bước 10: Tải xuống và cài đặt Apache Derby
Làm theo các bước dưới đây để tải xuống và cài đặt Apache Derby -
Tải xuống Apache Derby
Lệnh sau được sử dụng để tải xuống Apache Derby. Phải mất một thời gian để tải xuống.
$ cd ~
$ wget http://archive.apache.org/dist/db/derby/db-derby-10.4.2.0/db-derby-10.4.2.0-bin.tar.gz
Lệnh sau được sử dụng để xác minh tải xuống:
$ ls
Khi tải xuống thành công, bạn sẽ thấy phản hồi sau:
db-derby-10.4.2.0-bin.tar.gz
Giải nén và xác minh kho lưu trữ Derby
Các lệnh sau được sử dụng để giải nén và xác minh kho lưu trữ Derby:
$ tar zxvf db-derby-10.4.2.0-bin.tar.gz
$ ls
Khi tải xuống thành công, bạn sẽ thấy phản hồi sau:
db-derby-10.4.2.0-bin db-derby-10.4.2.0-bin.tar.gz
Sao chép các tập tin vào / usr / local / derby Directory
Chúng ta cần sao chép từ superuser “su -”. Các lệnh sau được sử dụng để sao chép các tệp từ thư mục được trích xuất vào/usr/local/derby thư mục -
$ su -
passwd:
# cd /home/user
# mv db-derby-10.4.2.0-bin /usr/local/derby
# exit
Thiết lập môi trường cho trận Derby
Bạn có thể thiết lập môi trường Derby bằng cách nối các dòng sau vào ~/.bashrc tập tin -
export DERBY_HOME=/usr/local/derby
export PATH=$PATH:$DERBY_HOME/bin
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
Lệnh sau được sử dụng để thực thi ~/.bashrc file -
$ source ~/.bashrc
Tạo một thư mục cho Metastore
Tạo một thư mục có tên data trong thư mục $ DERBY_HOME để lưu trữ dữ liệu Metastore.
$ mkdir $DERBY_HOME/data
Cài đặt Derby và thiết lập môi trường đã hoàn tất.
Bước 11: Định cấu hình Hive Metastore
Cấu hình Metastore có nghĩa là chỉ định cho Hive nơi lưu trữ cơ sở dữ liệu. Bạn có thể làm điều này bằng cách chỉnh sửahive-site.xml tệp, nằm trong $HIVE_HOME/confdanh mục. Trước hết, sao chép tệp mẫu bằng lệnh sau:
$ cd $HIVE_HOME/conf
$ cp hive-default.xml.template hive-site.xml
Biên tập hive-site.xml và nối các dòng sau giữa thẻ <configuration> và </configuration> -
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby://localhost:1527/metastore_db;create = true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
Tạo một tệp có tên jpox.properties và thêm các dòng sau vào đó -
javax.jdo.PersistenceManagerFactoryClass = org.jpox.PersistenceManagerFactoryImpl
org.jpox.autoCreateSchema = false
org.jpox.validateTables = false
org.jpox.validateColumns = false
org.jpox.validateConstraints = false
org.jpox.storeManagerType = rdbms
org.jpox.autoCreateSchema = true
org.jpox.autoStartMechanismMode = checked
org.jpox.transactionIsolation = read_committed
javax.jdo.option.DetachAllOnCommit = true
javax.jdo.option.NontransactionalRead = true
javax.jdo.option.ConnectionDriverName = org.apache.derby.jdbc.ClientDriver
javax.jdo.option.ConnectionURL = jdbc:derby://hadoop1:1527/metastore_db;create = true
javax.jdo.option.ConnectionUserName = APP
javax.jdo.option.ConnectionPassword = mine
Bước 12: Xác minh cài đặt Hive
Trước khi chạy Hive, bạn cần tạo /tmpvà một thư mục Hive riêng biệt trong HDFS. Ở đây, chúng tôi sử dụng/user/hive/warehousethư mục. Bạn cần đặt quyền ghi cho các thư mục mới tạo này như hình dưới đây -
chmod g+w
Bây giờ hãy đặt chúng trong HDFS trước khi xác minh Hive. Sử dụng các lệnh sau:
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
Các lệnh sau được sử dụng để xác minh cài đặt Hive:
$ cd $HIVE_HOME
$ bin/hive
Khi cài đặt thành công Hive, bạn sẽ thấy phản hồi sau:
Logging initialized using configuration in
jar:file:/home/hadoop/hive-0.9.0/lib/hive-common-0.9.0.jar!/
hive-log4j.properties Hive history
=/tmp/hadoop/hive_job_log_hadoop_201312121621_1494929084.txt
………………….
hive>
Bạn có thể thực hiện lệnh mẫu sau để hiển thị tất cả các bảng:
hive> show tables;
OK Time taken: 2.798 seconds
hive>
Bước 13: Xác minh cài đặt HCatalog
Sử dụng lệnh sau để đặt một biến hệ thống HCAT_HOME cho Trang chủ HCatalog.
export HCAT_HOME = $HiVE_HOME/HCatalog
Sử dụng lệnh sau để xác minh cài đặt HCatalog.
cd $HCAT_HOME/bin
./hcat
Nếu cài đặt thành công, bạn sẽ thấy kết quả sau:
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
usage: hcat { -e "<query>" | -f "<filepath>" }
[ -g "<group>" ] [ -p "<perms>" ]
[ -D"<name> = <value>" ]
-D <property = value> use hadoop value for given property
-e <exec> hcat command given from command line
-f <file> hcat commands in file
-g <group> group for the db/table specified in CREATE statement
-h,--help Print help information
-p <perms> permissions for the db/table specified in CREATE statement