看过我文章的都知道,在OLAP方案上,我选择使用Impala,Kudu 来实现在线联机分析。
通常使用CDH版进行部署,但出于cloudera Manager几乎是黑盒,生产上使用我们采用独立人工部署。
下面是部署步骤:
Kudu
使用 yum 安装 cdh 版 kudu
每一台机器进行相同操作的安装,安装后根据集群规划进行相应的配置和服务启动。
和 Impala 安装一样,编写好 cdh6 的 repo,直接使用 yum 安装【或者直接下载 rpm 包,再使用 sudo yum localinstall
是一样的】。
sudo touch /etc/yum.repos.d/cloudera-cdh6.repo sudo vi /etc/yum.repos.d/cloudera-cdh6.repo [cloudera-cdh6] name=Cloudera's Distribution for Hadoop, Version 6.3.0 baseurl=https://archive.cloudera.com/cdh6/6.3.0/redhat7/yum/ gpgkey=https://archive.cloudera.com/cdh6/6.3.0/redhat7/yum/RPM-GPG-KEY-cloudera gpgcheck=1 sudo yum install -y kudu
【可以探索 Apache kudu 源码编译安装】
配置/etc/kudu/conf/master.gflagfile
--master_addresses=slave3:7051,slave2:7051,slave1:7051 --rpc_bind_addresses=slave3:7051 --log_dir=/sumpay/kudu/master/logs --log_filename=kudumaster --fs_wal_dir=/sumpay/kudu/master/wal --fs_data_dirs=/sumpay/kudu/master/data --fs_metadata_dir=/sumpay/kudu/master/metadata --enable_process_lifetime_heap_profiling=true --heap_profile_path=/sumpay/kudu/master/heap --rpc-encryption=disabled --rpc_authentication=disabled --unlock_unsafe_flags=true --allow_unsafe_replication_factor=true --default_num_replicas=3 --max_clock_sync_error_usec=10000000 --consensus_rpc_timeout_ms=30000 --follower_unavailable_considered_failed_sec=300 --leader_failure_max_missed_heartbeat_periods=3 --tserver_unresponsive_timeout_ms=60000 --rpc_num_service_threads=10 --max_negotiation_threads=50 --min_negotiation_threads=10 --rpc_negotiation_timeout_ms=300000配置/etc/kudu/conf/tserver.gflagfile --tserver_master_addrs=slave3:7051,slave2:7051,slave1:7051 --log_dir=/sumpay/kudu/tserver/logs --log_filename=kudutserver --fs_wal_dir=/sumpay/kudu/tserver/wal --fs_data_dirs=/sumpay/kudu/tserver/data --fs_metadata_dir=/sumpay/kudu/tserver/metadata --enable_process_lifetime_heap_profiling=true --heap_profile_path=/sumpay/kudu/tserver/heap --rpc-encryption=disabled --rpc_authentication=disabled --unlock_unsafe_flags=true --allow_unsafe_replication_factor=true --max_log_size=2048 --default_num_replicas=3 --max_clock_sync_error_usec=10000000 --consensus_rpc_timeout_ms=30000 --follower_unavailable_considered_failed_sec=300 --leader_failure_max_missed_heartbeat_periods=3 --tserver_unresponsive_timeout_ms=60000 --rpc_num_service_threads=10 --max_negotiation_threads=50 --min_negotiation_threads=10 --rpc_negotiation_timeout_ms=3000 --rpc_default_keepalive_time_ms=65000 --rpc_num_acceptors_per_address=5 --master_ts_rpc_timeout_ms=60000 --remember_clients_ttl_ms=3600000 --remember_responses_ttl_ms=600000 --rpc_service_queue_length=1000 --raft_heartbeat_interval_ms=60000 --heartbeat_interval_ms=60000 --heartbeat_max_failures_before_backoff=3目录创建和权限 sudo mkdir 一一创建配置文件里的数据目录,以生产环境实际目录规划为准。 sudo chown -R kudu:kudu /sumpay/kudu
环境变量和启动停止
默认会创建 service,通过 service 来启动、停止、重启。
/usr/lib/systemd/system/kudu-master.service /usr/lib/systemd/system/kudu-tserver.service
环境以及用户均在 service 文件里面,如:
[Service] Environment=KUDU_HOME=/usr/lib/kudu ExecStart=/usr/lib/kudu/sbin/kudu-master --flagfile=/etc/kudu/conf/master.gflagfile TimeoutStopSec=5 Restart=on-failure User=kudu sudo service kudu-master start stop restart sudo service kudu-tserver start stop restart
默认配置文件的目录在:/etc/kudu/conf
配置说明
最简配置只要配置如:master_addresses、tserver_master_addrs
再加上数据目录就行,其他配置使用默认值,但是最好根据实际集群情况以及数据规模进行配置。
界面查看
http://192.168.**.**:8051/masters
例如安装 3 台 master。Master、Tablet Servers 和 Table 等均可在 Web 界面上查看。Impala
使用 yum 安装 cdh 版 impala
会用到/etc/yum.repos.d/cloudera-cdh6.repo。
如果是集群安装,其中一个节点安装以下全部,其余节点安装 impala-server。
sudo yum install -y impala sudo yum install -y impala-server sudo yum install -y impala-state-store sudo yum install -y impala-catalog sudo yum install -y impala-shell
安装 impala 后会把 https://archive.cloudera.com/cdh6/6.3.0/redhat7/yum/RPMS/x86_64/下的所有 rpm 都安装一遍,
需要注意相关 bin/下命令是否与 tarball 安装后的命令相冲突。
cdh 默认配置文件在/etc/default/下面。自定义配置文件在 /etc/impala/conf 下面。
配置文件/etc/default/impala
IMPALA_CATALOG_SERVICE_HOST=slave3 IMPALA_STATE_STORE_HOST=slave3 IMPALA_STATE_STORE_PORT=24000 IMPALA_BACKEND_PORT=22000 IMPALA_LOG_DIR=/sumpay/cdh-impala/logs IMPALA_CATALOG_ARGS=" -log_dir=${IMPALA_LOG_DIR} " IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}" IMPALA_SERVER_ARGS=" \ -log_dir=${IMPALA_LOG_DIR} \ -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \ -state_store_port=${IMPALA_STATE_STORE_PORT} \ -use_statestore \ -state_store_host=${IMPALA_STATE_STORE_HOST} \ -be_port=${IMPALA_BACKEND_PORT} \ -kudu_master_hosts=slave1:7051,slave2:7051,slave3:7051" ENABLE_CORE_DUMPS=true LIBHDFS_OPTS=-Djava.library.path=/usr/lib/impala/lib MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar IMPALA_BIN=/usr/lib/impala/sbin IMPALA_HOME=/usr/lib/impala # HIVE_HOME=/usr/lib/hive # HBASE_HOME=/usr/lib/hbase IMPALA_CONF_DIR=/etc/impala/conf HADOOP_CONF_DIR=/etc/impala/conf HIVE_CONF_DIR=/etc/impala/conf # HBASE_CONF_DIR=/etc/impala/conf拷贝 hdfs 和 hive 的配置文件 sudo cp /home/admin/hadoop-2.8.5/etc/hadoop/hdfs-site.xml /etc/impala/conf sudo cp /home/admin/hadoop-2.8.5/etc/hadoop/core-site.xml /etc/impala/conf scp hive-site.xml slave3:/home/admin/ sudo mv ~/hive-site.xml /etc/impala/conf ls /etc/impala/conf core-site.xml hdfs-site.xml hive-site.xml
目录创建和权限
mkdir /sumpay/cdh-impala mkdir /sumpay/cdh-impala/logs sudo chown -R impala:impala /sumpay/cdh-impala
环境变量和启动停止
安装后会默认创建 service 服务启动文件,位置在/etc/init.d
impala-catalog impala-server impala-state-store
bin 可以在/usr/bin/下找到,已经在默认的环境变量里了。kudu 也是。
impalad impala-shell kudu-master kudu-tserver 是在/usr/sbin 下面。 sudo service impala-state-store start status stop restart sudo service impala-catalog start status stop restart sudo service impala-server start status stop restart
配置说明及与 Kudu 整合
配置文件位置:/etc/default 文件名:impala
配置文件中 IMPALA_SERVER_ARGS 的部分,后面的-kudu_master_hosts=slave1:7051,slave2:7051,slave3:7051 是与 Kudu
整合,如果不在这里配置 kudu master,在 impala 创建 kudu 表的时候再指定,也是可以的。
界面查看
impalad http://192.168.**.**:25000/
statestored http://192.168.**.**:25010/
catalogd http://192.168.**.**:25020/
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved