Thông tin hệ thống:
Gồm 3 node:
c2s-mapr-01 10.0.0.117
c2s-mapr-02 10.0.0.118
c2s-mapr-03 10.0.0.119
OS: centos 6
mapr version: 5.0
Hướng dẫn phân vùng ổ đĩa để thực hiện việc cài đặt:
Trên mỗi máy centos, thực hiện phân vùng ổ đĩa như hình dưới, phần dung lượng không được mount vào đâu cả trong lvm sẽ được sử dụng bởi mapr trong quá trình cài đặt.
Lưu ý: Volume Group Name phải đặt tên giống nhau trên cả 3 máy.
Đi vào cài đặt:
Thao tác trên máy c2s-mapr-01.
1. Tạo /etc/hosts hoặc đăng ký DNS
1 2 3 4 5 |
vi /etc/hosts 10.0.0.117 c2s-mapr-01 10.0.0.118 c2s-mapr-02 10.0.0.119 c2s-mapr-03 127.0.0.1 localhost localhost.localdomain |
2.Cấu hình kết nối bằng SSH key
#Chạy lần lượt từng lệnh dưới đây , nếu được hỏi password thì điền password
1 2 3 4 |
ssh-keygen ssh-copy-id c2s-mapr-01 ssh-copy-id c2s-mapr-02 ssh-copy-id c2s-mapr-03 |
3. Cài clustershell để đồng thời chạy command trên tất cả các máy
#chỉ chạy trên con mapr1
1 2 |
yum install -y epel-release && yum install -y clustershell echo 'all: c2s-mapr-0[1-3]' > /etc/clustershell/groups |
4. Đồng bộ file host tới toàn bộ các máy
1 |
clush -a --copy /etc/hosts |
5. Cài đặt service đồng bộ thời gian với timeserver
1 2 3 |
clush -a yum install -y chrony clush -a service chronyd start clush -a chkconfig chronyd on |
6. Tắt tường lửa
1 2 |
clush -a service iptables stop clush -a chkconfig iptables off |
7. Tạo thư mục làm việc và người dùng cho mapr
1 2 3 4 5 6 |
clush -a mkdir /root/work clush -a groupadd -g 1003 mapr clush -a useradd -u 1003 -g mapr mapr clush -a 'echo mapr:mapr | chpasswd' clush -a useradd -u 1004 -g mapr mruser clush -a 'echo mruser:mruser | chpasswd' |
8.Đặt SSH key cho người quản lý mapr
1 2 3 4 5 6 |
su - mapr ssh-keygen ssh-copy-id c2s-mapr-01 ssh-copy-id c2s-mapr-02 ssh-copy-id c2s-mapr-03 exit |
9. Cài đặt jdk cho tất cả các máy
1 2 3 4 5 |
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Download file jdk linux x64.rpm Sau khi download xong copy lên máy 01, chạy lệnh cài đặt bên dưới, đường dẫn, tên file tự thay đổi lại cho phù hợp clush -a --copy /root/work/jdk-8u102-linux-x64.rpm clush -a rpm -ivh /root/work/jdk-8u102-linux-x64.rpm |
10. Cài repo MapR 5.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#Run on c2s-mapr-01 vi /etc/yum.repos.d/mapr.repo [maprtech] name=MapR Technologies baseurl=http://package.mapr.com/releases/v5.0.0/redhat/ enabled=1 gpgcheck=1 protect=1 [maprecosystem] name=MapR Technologies baseurl=http://package.mapr.com/releases/ecosystem-all/redhat enabled=1 gpgcheck=1 protect=1 |
1 2 |
clush -a --copy /etc/yum.repos.d/mapr.repo clush -a rpm --import http://package.mapr.com/releases/pub/maprgpg.key |
11. Cài các gói MapR
1 2 3 |
clush -a yum install -y mapr-fileserver mapr-zookeeper mapr-webserver mapr-resourcemanager mapr-nodemanager mapr-gateway clush -w c2s-mapr-02 yum install -y mapr-cldb mapr-nfs clush -w c2s-mapr-03 yum install -y mapr-historyserver |
12. Cấu hình cluster ban đầu
1 |
clush -a /opt/mapr/server/configure.sh -N c2s-MapR -C c2s-mapr-02 -Z c2s-mapr-01,c2s-mapr-02,c2s-mapr-03 -RM c2s-mapr-01,c2s-mapr-02,c2s-mapr-03 -HS c2s-mapr-03 |
13. Định dạng đĩa
1 2 3 4 5 6 7 |
clush -a lvdisplay clush -a lsblk clush -a lvcreate -L 349G -n MaprVol vg_c2smapr clush -a lsblk echo /dev/vg_c2smapr/MaprVol > /root/work/disks.txt clush -a --copy /root/work/disks.txt clush -a /opt/mapr/server/disksetup -W 4 -F /root/work/disks.txt |
dòng vg_c2smapr giống như dòng VG Name khi chạy lệnh “lvdisplay” trên từng máy
clush -a lvcreate -L 136G -n MaprVol vg_c2smapr –> số 349GB là số dung lượng trống còn lại của ổ đĩa, Con số 349GB ở trên thay đổi lại theo tình hình thực tế.
14. Thiết lập các biến môi trường
Thêm 2 dòng sau vào file /opt/mapr/conf/env.sh
1 2 |
export JAVA_HOME=/usr/java/latest export MAPR_SUBNETS=10.0.0.0/23 |
Thay đổi lại subnet cho đúng, sau đó đồng bộ file vừa sửa sang 2 máy còn lại
1 |
clush -a --copy /opt/mapr/conf/env.sh |
15. Thiết lập mapr fstab
Mounting NFS to MapR-FS on a Cluster Node
Để tự động mount NFS vào MapR-FS trên cluster
1 2 3 |
echo "localhost:/mapr /mapr hard,intr,nolock,actimeo=1,noatime" >> /opt/mapr/conf/mapr_fstab clush -a --copy /opt/mapr/conf/mapr_fstab clush -a mkdir /mapr |
16. Bật dịch vụ trên các máy, kiểm tra dịch vụ CLDB
1 2 3 4 5 6 |
clush -a service mapr-zookeeper start clush -a service mapr-zookeeper qstatus clush -a service mapr-warden start clush -a "jps | grep CLDB" maprcli node cldbmaster maprcli license showid -cluster c2s-MapR |
Bước “clush -a “jps | grep CLDB”” có thể mất 1 lúc CLDB mới có thể khởi động, chịu khó đợi 1 chút.
Sau khi chạy showid, sẽ có ID hiện ra, ghi lại thông tin này, để đăng ký license
17. Đăng ký license
Truy cập: https://www.mapr.com/user
Đăng ký tài khoản, nhập ID ở bước 16, ghi lại nội dung license được cấp vào file license.txt
Tiến hành add vào cluster
1 2 |
maprcli license add -cluster c2s-MapR -license /root/work/license.txt -is_file true clush -a service mapr-warden restart |
18. Tạo phân vùng hadoop
1 2 3 4 |
hadoop fs -mkdir /user/mapr hadoop fs -chown mapr:mapr /user/mapr hadoop fs -mkdir /user/mruser hadoop fs -chown mruser:mapr /user/mruser |
19.
1 2 3 4 5 6 |
su - mapr $ hadoop fs -mkdir -p /user/hive/warehouse $ hadoop fs -chmod 1777 /user/hive/warehouse $ hadoop fs -mkdir /apps/spark $ hadoop fs -chmod 777 /apps/spark $ exit |
20.
1 2 |
clush -a service mapr-warden stop clush -a service mapr-zookeeper stop |
21. Cài ứng dụng Spark
1 2 3 |
clush -a rpm -ivh http://archive.mapr.com/releases/ecosystem-all/redhat/mapr-hbase-0.98.12.201507081709-1.noarch.rpm clush -a rpm -ivh http://archive.mapr.com/releases/ecosystem-all/redhat/mapr-hive-0.13.201511180922-1.noarch.rpm clush -a rpm -ivh http://archive.mapr.com/releases/ecosystem-all/redhat/mapr-spark-1.4.1.201509021818-1.noarch.rpm |
22.
1 2 |
clush -w c2s-mapr-01 rpm -ivh http://archive.mapr.com/releases/ecosystem-all/redhat/mapr-hivemetastore-0.13.201511180922-1.noarch.rpm clush -w c2s-mapr-01 rpm -ivh http://archive.mapr.com/releases/ecosystem-all/redhat/mapr-hiveserver2-0.13.201511180922-1.noarch.rpm |
23.
1 |
clush -w c2s-mapr-03 yum install -y http://archive.mapr.com/releases/ecosystem-all/redhat/mapr-spark-historyserver-1.4.1.201509021818-1.noarch.rpm |
1 |
clush -a /opt/mapr/server/configure.sh -N c2s-MapR -C c2s-mapr-02 -Z c2s-mapr-01,c2s-mapr-02,c2s-mapr-03 -RM c2s-mapr-01,c2s-mapr-02,c2s-mapr-03 -HS c2s-mapr-03 -R |
24. Cài MySQL cho Hive.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
vi /etc/yum.repos.d/mysql-community.repo # Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql |
1 2 3 4 5 6 7 8 9 |
clush -a --copy /etc/yum.repos.d/mysql-community.repo yum install -y mysql-community-server-5.6.25 mysql-community-common-5.6.25 mysql-community-client-5.6.25 mysql-community-libs-5.6.25 mysql-community-libs-compat-5.6.25 vim /etc/my.cnf # add "user=mysql" after line 'socket=/var/lib/mysql/mysql.sock' service mysqld start chkconfig mysqld on mysql_secure_installation mysql -u root -p Enter password:******* |
1 2 3 4 5 6 7 |
mysql> CREATE USER hivemetastore IDENTIFIED BY 'c2shive'; mysql> CREATE DATABASE hive DEFAULT CHARACTER SET 'latin1'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'hivemetastore'@'%' IDENTIFIED BY 'c2shive'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'hivemetastore'@'localhost' IDENTIFIED BY 'c2shive'; mysql> show grants for 'hivemetastore'@'%'; mysql> show grants for 'hivemetastore'@'localhost'; mysql> exit |
23.
1 |
ln -s /opt/mapr/lib/mysql-connector-java-5.1.25-bin.jar /opt/mapr/hive/hive-0.13/lib/mysql-connector-java-5.1.25-bin.jar |
Thêm cấu hình sau cho /opt/mapr/hive/hive-0.13/conf/hive-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# vim /opt/mapr/hive/hive-0.13/conf/hive-site.xml <!--## <configure></configure>内に Sheet19-2 の内容を追記する ##--> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://c2s-mapr-01:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hivemetastore</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>c2shive</value> <description>password to use against metastore database</description> </property> <property> <name>hive.metastore.uris</name> <value>thrift://c2s-mapr-01:9083</value> </property> <property> <name>hive.server2.enable.doAs</name> <value>true</value> </property> <property> <name>hive.metastore.execute.setugi</name> <value>true</value> </property> <property> <name>hive.server2.authentication</name> <value>NOSASL</value> </property> <!-- Hive - MapR-DB Integration --> <property> <name>hive.aux.jars.path</name> <value>file:///opt/mapr/hive/hive-0.13/lib/hive-hbase-handler-0.13.0-mapr-1510.jar,file:///opt/mapr/hbase/hbase-0.98.12/lib/hbase-common-0.98.12-mapr-1506.jar,file:///opt/mapr/hbase/hbase-0.98.12/lib/zookeeper-3.4.5-mapr-1406.jar</value> <description>A comma separated list (with no spaces) of the jar files required for Hive-HBase integration</description> </property> <property> <name>hbase.zookeeper.quorum</name> <value>c2s-mapr-01,c2s-mapr-02,c2s-mapr-03</value> <description>A comma separated list (with no spaces) of the IP addresses of all ZooKeeper servers in the cluster.</description> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>5181</value> <description>The Zookeeper client port. The MapR default clientPort is 5181.</description> </property> |
Đồng bộ sang các máy khác:
1 |
clush -a --copy /opt/mapr/hive/hive-0.13/conf/hive-site.xml |
25. Làm tương tự đối với /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/core-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# vim /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/core-site.xml <!--## <configure></configure>内に以下を追記する ##--> <property> <name>hadoop.proxyuser.mapr.hosts</name> <value>*</value> <description>The superuser can connect from any host to impersonate a user</description> </property> <property> <name>hadoop.proxyuser.mapr.groups</name> <value>*</value> <description>Allow the superuser mapr to impersonate any member of any group</description> </property> |
1 2 |
# clush -a --copy /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/core-site.xml # clush -a touch /opt/mapr/conf/proxy/mruser |
26.
1 2 |
# echo "spark.serializer org.apache.spark.serializer.KryoSerializer" >> /opt/mapr/spark/spark-1.4.1/conf/spark-defaults.conf # clush -a --copy /opt/mapr/spark/spark-1.4.1/conf/spark-defaults.conf |
27.
1 2 |
# cp /opt/mapr/hive/hive-0.13/conf/hive-site.xml /opt/mapr/spark/spark-1.4.1/conf/ # clush -a --copy /opt/mapr/spark/spark-1.4.1/conf/hive-site.xml |
29. Thay đổi thông tin /opt/mapr/spark/spark-1.4.1/mapr-util/compatibility.version
1 2 |
hive_versions=0.13.1 hbase_versions=0.98.12 |
1 |
clush -a --copy /opt/mapr/spark/spark-1.4.1/mapr-util/compatibility.version |
30.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vim /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/yarn-site.xml <!--## <configure></configure>内に以下を追記する ##--> <property> <name>yarn.resourcemanager.connect.retry-interval.ms</name> <value>1000</value> </property> <property> <name>yarn.resourcemanager.am.max-attempts</name> <value>3</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> |
31.
1 2 3 4 5 |
# clush -a --copy /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/yarn-site.xml # clush -a --copy /opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/yarn-site.xml # clush -a yum install -y rpcbind # clush -a chkconfig rpcbind on # clush -a service rpcbind start |
32. Cài patch
1 |
clush -a yum install -y http://archive.mapr.com/patches/archives/v5.0.0/redhat/mapr-patch-5.0.0.32987.GA-39045.x86_64.rpm |
33. Bật mọi thứ lên:
1 2 |
# clush -a service mapr-zookeeper start # clush -a service mapr-warden start |
34. Đã xong, trang quản trị mapr:
https://10.0.0.117:8443
user/pass = mapr/mapr