InfiniDB 是列式存储引擎,适合大规模扩展,用于数据仓库,数据分析等BI系统,性能和可扩展性比 Infobright 更胜一筹,而且支持AWS,HDFS,GlusgerFS,下面是简单的安装配置与体验。
下载,当前的最新版本是infinidb-4.6.0-1
wget http://infinidb.co/system/files/infinidb_software/infinidb-4.6.0-1.x86_64.rpm.tar.gz
tar zxvf infinidb-4.6.0-1.x86_64.rpm.tar.gz
infinidb-mysql-4.6.0-1.x86_64.rpm
infinidb-storage-engine-4.6.0-1.x86_64.rpm
infinidb-libs-4.6.0-1.x86_64.rpm
infinidb-platform-4.6.0-1.x86_64.rpm
rpm -ivh infinidb*.rpm
有如下报错:
warning: package infinidb-platform = 4.6.0-1 was already added, skipping infinidb-platform = 4.6.0-1 error: Failed dependencies: expect is needed by infinidb-platform-4.6.0-1.x86_64
看文档说: An RPM install would be done on a system that supports RPMs like RHEL5 or CentOS systems.
我的系统是CentOS6.5,于是下载二进制版本:
wget http://infinidb.co/system/files/infinidb_software/infinidb-4.6.0-1.x86_64.bin.tar.gz
安装过程比较简单:
ruRun the post install scripts. The InfiniDB software will be installed in /usr/local/Calpont. # /usr/local/Calpont/bin/post-install
按照提示就可以安装了,非常简单,需要注意的一点是区分单节点和多节点的选择。
运行及体验:
Enter the following command to define InfiniDB Alias Commands . /usr/local/Calpont/bin/calpontAlias Enter 'idbmysql' to access the InfiniDB MySQL console Enter 'cc' to access the InfiniDB OAM console
基本命令:
InfiniDB> help help Tue Jul 15 10:19:41 2014 List of commands: Note: the command must be the first entry entered on the command line Command Description ------------------------------ -------------------------------------------------------- ? Get help on the Console Commands addDbroot Add DBRoot Disk storage to the InfiniDB System addExternalDevice Add External Device to Configuration file addModule Add a Module within the InfiniDB System alterSystem-disableModule Disable a Module and Alter the InfiniDB System alterSystem-enableModule Enable a Module and Alter the InfiniDB System assignDbrootPmConfig Assign unassigned DBroots to Performance Module assignElasticIPAddress Assign Amazon Elastic IP Address to a module disableLog Disable the levels of process and debug logging enableLog Enable the levels of process and debug logging exit Exit from the Console tool getActiveAlarms Get Active Alarm list getActiveSQLStatements Get List Active SQL Statements within the System getAlarmConfig Get Alarm Configuration Information getAlarmHistory Get system alarms getAlarmSummary Get Summary counts of Active Alarm getCalpontSoftwareInfo Get the InfiniDB RPM detailed information getExternalDeviceConfig Get External Device Configuration Information getLogConfig Get the System log file configuration getModuleConfig Get Module Name Configuration Information getModuleCpu Get a Module CPU usage getModuleCpuUsers Get a Module Top Processes utilizing CPU getModuleDisk Get a Module Disk usage getModuleHostNames Get a list of Module host names (NIC 1 only) getModuleMemory Get a Module Memory usage getModuleMemoryUsers Get a Module Top Processes utilizing Memory getModuleResourceUsage Get a Module Resource usage getModuleTypeConfig Get Module Type Configuration Information getProcessConfig Get Process Configuration Information getProcessStatus Get InfiniDB Process Statuses getStorageConfig Get System Storage Configuration Information getStorageStatus Get System Storage Status getSystemConfig Get System Configuration Information getSystemCpu Get System CPU usage on all modules getSystemCpuUsers Get System Top Processes utilizing CPU getSystemDisk Get System Disk usage on all modules getSystemInfo Get the Over-all System Statuses getSystemMemory Get System Memory usage on all modules getSystemMemoryUsers Get System Top Processes utilizing Memory getSystemNetworkConfig Get System Network Configuration Information getSystemResourceUsage Get System Resource usage on all modules getSystemStatus Get System and Modules Status help Get help on the Console Commands monitorAlarms Monitor alarms in realtime mode movePmDbrootConfig Move DBroots from one Performance Module to another quit Exit from the Console tool removeDbroot Remove DBRoot Disk storage from the InfiniDB System removeExternalDevice Remove External Device to Configuration file removeModule Remove a Module within the InfiniDB System resetAlarm Resets an Active Alarm restartSystem Restarts a stopped or shutdown InfiniDB System resumeDatabaseWrites Resume performing writes to the InfiniDB Database setAlarmConfig Set a Alarm Configuration parameter setExternalDeviceConfig Set a External Device Configuration parameter setModuleTypeConfig Set a Module Type Configuration parameter setProcessConfig Set a Process Configuration parameter setSystemConfig Set a System Configuration parameter shutdownSystem Shuts down the InfiniDB System startSystem Starts a stopped or shutdown InfiniDB System stopSystem Stops the processing of the InfiniDB System suspendDatabaseWrites Suspend performing writes to the InfiniDB Database switchParentOAMModule Switches the Active Parent OAM Module to another Performance Module system Execute a system shell command unassignDbrootPmConfig Unassign DBroots from a Performance Module unassignElasticIPAddress Unassign Amazon Elastic IP Address For help on a command, enter 'help' followed by command name InfiniDB>
类似mysql一样连接infinidb
# idbmysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.73 InfiniDB 4.6.0-1 Copyright (c) 2014, InfiniDB, Inc. and/or its affiliates. All rights reserved. Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. InfiniDB is a registered trademark of InfiniDB, Inc. and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +---------------------+ | Database | +---------------------+ | information_schema | | calpontsys | | infinidb_querystats | | infinidb_vtable | | mysql | | test | +---------------------+ 6 rows in set (0.00 sec) mysql> quit Bye
基本命令操作:
InfiniDB> startSystem startsystem Tue Jul 15 10:27:14 2014 System being started, please wait... Successful start of System InfiniDB> getSystemStatus getsystemstatus Tue Jul 15 10:29:57 2014 System calpont-1 System and Module statuses Component Status Last Status Change ------------ -------------------------- ------------------------ System ACTIVE Tue Jul 15 10:28:15 2014 Module pm1 ACTIVE Tue Jul 15 10:28:10 2014 getProcessStatus InfiniDB> getProcessStatus getprocessstatus Tue Jul 15 10:30:16 2014 Calpont Process statuses Process Module Status Last Status Change Process ID ------------------ ------ --------------- ------------------------ ---------- ProcessMonitor pm1 ACTIVE Tue Jul 15 10:09:40 2014 27747 ProcessManager pm1 ACTIVE Tue Jul 15 10:09:46 2014 27809 SNMPTrapDaemon pm1 ACTIVE Tue Jul 15 10:09:56 2014 28057 DBRMControllerNode pm1 ACTIVE Tue Jul 15 10:27:26 2014 30293 ServerMonitor pm1 ACTIVE Tue Jul 15 10:27:29 2014 30311 DBRMWorkerNode pm1 ACTIVE Tue Jul 15 10:27:33 2014 30325 DecomSvr pm1 ACTIVE Tue Jul 15 10:27:40 2014 30405 PrimProc pm1 ACTIVE Tue Jul 15 10:27:45 2014 30417 ExeMgr pm1 ACTIVE Tue Jul 15 10:27:52 2014 30469 WriteEngineServer pm1 ACTIVE Tue Jul 15 10:27:59 2014 30522 DDLProc pm1 ACTIVE Tue Jul 15 10:28:06 2014 30544 DMLProc pm1 ACTIVE Tue Jul 15 10:28:14 2014 30584 mysqld pm1 ACTIVE Tue Jul 15 10:27:20 2014 30249 InfiniDB> getModuleConfig InfiniDB> getModuleConfig getmoduleconfig Tue Jul 15 10:30:32 2014 Module Name Configuration Module 'pm1' Configuration information ModuleType = pm ModuleDesc = Performance Module #1 ModuleIPAdd NIC ID 1 = 127.0.0.1 ModuleHostName NIC ID 1 = localhost DBRootIDs assigned = 1 getmoduletype getmoduletypeconfig Tue Jul 15 10:30:44 2014 Module Type Configuration ModuleType 'pm' Configuration information ModuleDesc = Performance Module RunType = SIMPLEX ModuleCount = 1 ModuleHostName and ModuleIPAddr for NIC ID 1 on module 'pm1' = localhost , 127.0.0.1 DBRootIDs assigned to module 'pm1' = 1 ModuleCPUCriticalThreshold % = 0 ModuleCPUMajorThreshold % = 0 ModuleCPUMinorThreshold % = 0 ModuleCPUMinorClearThreshold % = 0 ModuleDiskCriticalThreshold % = 90 ModuleDiskMajorThreshold % = 80 ModuleDiskMinorThreshold % = 70 ModuleMemCriticalThreshold % = 90 ModuleMemMajorThreshold % = 0 ModuleMemMinorThreshold % = 0 ModuleSwapCriticalThreshold % = 90 ModuleSwapMajorThreshold % = 80 ModuleSwapMinorThreshold % = 70 ModuleDiskMonitorFileSystem#1 = / InfiniDB> getActiveAlarms InfiniDB> getActiveAlarms getactivealarms Tue Jul 15 10:31:12 2014 Active Alarm List: getAlarmHistory today getAlarmHistory 20070923 getmodulecpuusers module_ID getmodulecpuusers pm1 InfiniDB> getmodulecpuusers pm1 getmodulecpuusers Tue Jul 15 10:31:43 2014 Module 'pm1' Top CPU Users Process CPU Usage % ----------------- ----------- init 0 getsystemcpuusers InfiniDB> getsystemcpuusers getsystemcpuusers Tue Jul 15 10:32:05 2014 System Process Top CPU Users per Module Module 'pm1' Top CPU Users Process CPU Usage % ----------------- ----------- ProcMon 1 getSystemConfig InfiniDB> getSystemConfig getsystemconfig Tue Jul 15 10:32:21 2014 System Configuration SystemName = calpont-1 SoftwareVersion = 4.6.0 SoftwareRelease = 1 ParentOAMModuleName = pm1 StandbyOAMModuleName = unassigned NMSIPAddr = 0.0.0.0 ModuleHeartbeatPeriod = 10 ModuleHeartbeatCount = 3 DBRootCount = 1 DBRoot1 = /usr/local/Calpont/data1 DBRMRoot = /usr/local/Calpont/data1/systemFiles/dbrm/BRM_saves ExternalCriticalThreshold = 90 ExternalMajorThreshold = 80 ExternalMinorThreshold = 70 MaxConcurrentTransactions = 1000 SharedMemoryTmpFile = /usr/local/Calpont/data1/systemFiles/dbrm/CalpontShm NumVersionBufferFiles = 0 VersionBufferFileSize = 1 OIDBitmapFile = /usr/local/Calpont/data1/systemFiles/dbrm/oidbitmap FirstOID = 3000 TransactionArchivePeriod = 10
InfiniDB 系统优化建议:
Performance Optimization Considerations There are optimizations that should be made when using InfiniDB listed below. As always, please consult with your network administrator for additional optimization considerations for your specific installation needs. · Disk I/O Scheduler - should be changed from ‘cfq’ to ‘deadline’ for each Database Partition LUN on the Performance Module. Modify /etc/rc.d/rc.local to include the following: for scsi_dev in <each mapped drive letter>: do echo deadline > /sys/block/$scsi_dev/queue/scheduler done · GbE NIC settings: o Modify /etc/rc.d/rc.local to include the following: /sbin/ifconfig eth0 txqueuelen 10000 o Modify /etc/sysctl.conf for the following: # increase TCP max buffer size net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 # increase Linux autotuning TCP buffer limits # min, default, and max number of bytes to use net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # don't cache ssthresh from previous connection net.ipv4.tcp_no_metrics_save = 1 # recommended to increase this for 1000 BT or higher net.core.netdev_max_backlog = 2500 # for 10 GigE, use this # net.core.netdev_max_backlog = 30000
Pingback: 选择正确的数据库引擎(sql-engine)来访问Hadoop大数据 - 运维·速度 | 运维·速度