Hadoop,Spark和Cassandra集群的配置与优化

一. CentOS操作命令

硬盘,内存,CPU,操作系统,网络,用户和文件权限等,如下所示:

1. 关闭CentOS锁屏

解析:系统—>首选项—>屏幕保护程序,去掉其中的两个勾。

2. 查看CPU型号(8个逻辑CPU)

解析:cat /proc/cpuinfo |grep "name" |cut -f2 -d: |uniq -c

8 Intel(R) Xeon(R) CPU           E5506  @ 2.13GHz

3. 查看物品CPU个数(两个4核CPU)

解析:cat /proc/cpuinfo | grep "physical"| sort |uniq -c

8 address sizes    : 40 bits physical, 48 bits virtual

4 physical id    : 0

4 physical id    : 1

4. 查看CPU运行在多少位模式下面(64位)

解析:getconf LONG_BIT

64

5.下面的结果大于0,说明支持64位操作系统

解析:cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l

8

说明:上述命令中的内容是’l’而不是1。

5. 查看系统物理内存的大小

解析:free

            total       used       free     shared    buffers     cached

Mem:      8168144   7387980     780164          0     689856    4014308

-/+ buffers/cache:    2683816    5484328

Swap:      4192924      24424    4168500

6. 查看服务器安装的是哪个发行版本

解析:cat /etc/redhat-release

CentOS release 5.5 (Final)

7. 查看OS的版本是64位的还是32位的

解析:uname -a

Linux mail 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

8. 查看服务器的硬件信息

解析:

(1)dmidecode |grep Vendor     处理器厂商

Vendor: Dell Inc.

(2)dmidecode |grep Product    服务器型号

Product Name: PowerEdge R610

Product Name: 0RP59R

9. 查看磁盘的命令

(1)检查磁盘空间

(2)检查目录空间

解析:du

10. 设置静态IP地址

解析:

(1)编辑网卡文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

举个例子,如下所示:

DEVICE=eth0                           //指出设备名称

BOOTPROT=static                     //启动类型 dhcp|static

BROADCAST=192.168.1.203     //广播地址

HWADDR=00:06:5B:FE:DF:7C  //硬件Mac地址

IPADDR=192.168.0.2               //IP地址

NETMASK=255.255.255.0        //子网掩码

NETWORK=192.168.0.0           //网络地址

GATEWAY=192.168.0.1            //网关地址

ONBOOT=yes                          //是否启动应用

TYPE=Ethernet                        //网络类型

(2)重启网卡

service network restart

说明:除了上述配置文件,可能还会涉及/etc/hosts(主机名和IP地址的映射文件);/etc/sysconfig/network(设置主机名和网络配置);/etc/resolv.conf(设置DNS)。

11. 交换分区详细总结

解析:

(1)swap:一般是物理内存的1-2倍。

(2)/boot:存放CentOS启动相关的程序,100MB左右。

(3)/:所有的目录都挂在这个目录下面。

(4)/home:普通用户宿主目录。

说明:具体问题,具体分析。根据需要,自行设置。

12. 文件权限和用户权限

解析:

(1)增加组:addgroup groupname。

(2)增加用户:adduser username。

(3)chown:修改文件或文件夹的用户或用户组属性。

(4)chmod:修改文件或文件夹的读写执行属性。

(5)chgrp:改变文件或文件夹所属的用户组。

13. 挂载U盘

解析:

(1)mkdir /mnt/usb  //创建一个目录,用于挂载U盘。

(2)fdisk -l              //查看系统中挂载的U盘,如果系统有一块硬盘sdb1代表你的U盘,那么/dev/sdb1表明机器已识别U盘。

(3)mount /dev/sdb1 /mnt/usb                  //把U盘/dev/sdb1挂载到/mnt/usb目录下。

(4)cd /mnt/usb                                       //进入U盘目录,即可查看U盘里的内容。

(5)umount /mnt/usb或umount /dev/sdb1  //卸载U盘

说明:硬盘类型包括IDE硬盘和SCSI硬盘。

14. 相关命令

解析:

(1)用户列表文件:/etc/passwd

(2)用户组列表文件:/etc/group

(3)查看系统中有哪些用户:cut -d : -f 1 /etc/passwd

(4)查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

 

二. 所有软件的版本和路径

(1)cassandra 2.1.8: /home/hadoop/cassandra

(2)jdk1.7.0_80: /home/hadoop/jdk

(3)scala 2.10.5: /home/hadoop/scala

(4)hadoop 2.6.0: /home/hadoop/hadoop

(5)spark 1.4.0: /home/hadoop/hadoop/spark

其中,master的IP为192.168.8.12,上面启动的进程有NameNode,DataNode,NodeManager,ResourceManager。slaver1的IP为192.168.8.17,上面启动的进程有DataNode,NodeManager,SecondaryNameNode。slaver2的IP为192.168.8.18,上面启动的进程有DataNode,NodeManager。

 

三. 软件环境变量设置

解析:vim /etc/profile.d/hadoop.sh

xport HADOOP_HOME=/home/hadoop/hadoop

export SPARK_HOME=$HADOOP_HOME/spark

export HADOOP_YARN_HOME=$HADOOP_HOME

export SCALA_HOME=/home/hadoop/scala

export CASSANDRA_HOME=/home/hadoop/cassandra

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

# Hadoop安装路径 export HADOOP_PID_DIR=$HADOOP_HOME

export HADOOP_CLASSPATH=$HADOOP_HOME/lib

export SPARK_CLASSPATH=$SPARK_HOME/lib

export CASSANDRA_CLASSPATH=$CASSANDRA_HOME/lib export JAVA_HOME=/home/hadoop/jdk

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$HADOOP_HOME/lib:$SPARK_HOME/lib:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH:$CASSANDRA_HOME/lib

export PATH=$CASSANDRA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

说明:

/etc/profile和/etc/profile.d这两个文件都是设置环境变量的。前者是全局变量,后者设置所有用户生效。

 

四. hadoop配置情况(/home/hadoop/hadoop/etc/hadoop)

(1)hadoop-evn.sh

解析:对Hadoop守护进程的运行环境做特别指定。

export JAVA_HOME=${JAVA_HOME}

export HADOOP_HEAPSIZE=2048

说明:The maximum amount of heap to use, in MB. Default is 1000。Hadoop为各个守护进程分配的内存大小。

export HADOOP_PORTMAP_OPTS=”-Xmx1024m $HADOOP_PORTMAP_OPTS”

说明:管理员可以通过配置选项HADOOP_*_OPTS来分别配置各个守护进程。

export HADOOP_CLIENT_OPTS=”-Xmx1024m $HADOOP_CLIENT_OPTS”

export JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:$HADOOP_HOME/lib/native

export HADOOP_LOG_DIR=/home/hadoop/logs/$USER

说明:守护进程日志文件的存放目录。如果不存在会被自动创建。

export HADOOP_PID_DIR=/home/hadoop/pids

export HADOOP_SECURE_DN_PID_DIR=/home/hadop/pids

说明:配置指定守护进程的ID。

说明:

(2)yarn-evn.sh

解析:

export YARN_LOG_DIR=/home/hadoop/logs

export YARN_PID_DIR=/home/hadoop/pids

JAVA=$JAVA_HOME/bin/java

#JAVA_HEAP_MAX=-Xmx1024m 可以不修改

#YARN_HEAPSIZE=2048 可以不修改

(3)slaves

解析:运行datanode和tasktracker的机器列表。(每行一个)

master

slave1

slave2

(4)core-site.xml

解析:

fs.default.name:hdfs://master:9000

说明:主机名和namenode的RPC服务器工作的端口号。

hadoop.tmp.dir:/home/data1/hadoop/tmp, /home/data2/hadoop/tmp

说明:hadoop.tmp.dir的默认位置是在/tmp/{$user}下面,但是在/tmp路径下的存储是不安全的,因为linux重启后,文件就可能被删除。

io.file.buffer.size:131072

说明:流文件的缓冲区。

io.bytes.per.checksum:32768

说明:校验位数的字节。

io.seqfile.local.dir:/home/data1/hadoop/tmp/io/local, /home/data1/hadoop/tmp/io/local

说明:本地文件目录。sequence file在merge过程中存储内部数据的地方。可以是逗号分隔的一组目录。最好在不同磁盘以分散IO。实际不存在的目录会被忽略。

fs.trash.interval:60

说明:文件废弃标识设定,0为禁止此功能。以分钟为单位的垃圾回收时间,垃圾站中数据超过此时间,会被删除。如果是0,垃圾回收机制关闭。可以配置在服务器端和客户端。如果在服务器端配置trash无效,会检查客户端配置。如果服务器端配置有效,客户端配置会忽略。

(5)hdfs-site.xml

解析:

dfs.namenode.logging.level:warn

说明:输出日志类型。

dfs.namenode.secondary.http-address:slave1:50090

说明:SNN(SecondaryNameNode)的http服务地址。如果是0,服务将随机选择一个空闲端口。使用了HA后,就不再使用SNN了。

dfs.datanode.du.reserved:32212254720

说明:每个卷预留的空闲空间数量。

dfs.namenode.name.dir:/home/data1/hadoop/tmp/dfs/name, /home/data2/hadoop/tmp/dfs/name

说明:dfs.namenode.name.dir是NameNode结点存储Hadoop文件系统信息的本地系统路径。

dfs.datanode.data.dir:/home/data1/hadoop/tmp/dfs/data, /home/data2/hadoop/tmp/dfs/data

说明:dfs.datanode.data.dir是DataNode结点被指定要存储数据的本地文件系统路径。

dfs.replication:3

说明:dfs.replication决定着系统里面的文件块的数据备份个数。

dfs.permissions.enabled:false

说明:是否在HDFS中开启权限检查。

dfs.namenode.handler.count:42

说明:NN(NameNode)的服务线程数。用于处理RPC请求。

dfs.datanode.handler.count:42

说明:DN(DataNode)的服务线程数。这些线程仅用于接收请求,处理业务命令。

dfs.datanode.du.reserved:1073741824 说明:每个磁盘(volume)的保留空间(字节)。要注意留足够的空间给非HDFS文件使用。建议保留磁盘容量的5%或者50G以上。

dfs.namenode.resource.du.reserved:1048576000

说明:the amount of space to reserve/require for a NN(NameNode) storage directory (default is 100mb)。

dfs.namenode.checkpoint.dir:/home/data1/hadoop/tmp/dfs/namesecondary, /home/data2/hadoop/tmp/dfs/namesecondary

说明:本地文件系统中,DFS SNN(SecondaryNameNode)应该在哪里存放临时[用于合并|合并后]的Image。如果是逗号分隔的目录列表,Image文件存放多份。冗余备份。建议不使用SNN功能,忽略此配置。

dfs.namenode.stale.datanode.interval:60000

说明:标记一个DN(DataNode)是脏的时间间隔。例如,如果NN在此设定的时间内没有接收到来自某一个节点的心跳信息,此DN将被标记为脏的。此间隔不能太小,否则容易导致被频繁的标记为脏DN(DataNode)。

dfs.support.append:true

说明:是否允许append。

dfs.datanode.fsdataset.volume.choosing.policy:org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy

说明:在hadoop 2.0中,datanode数据副本存放磁盘选择策略有两种方式:第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类是RoundRobinVolumeChoosingPolicy.java。第二种是选择可用空间足够多的磁盘方式存储,实现类是AvailableSpaceVolumeChoosingPolicy.java。

(6)mapred-site.xml

解析:

mapreduce.task.io.sort.factor:100

说明:排序文件的时候一次同时最多可并流的个数。

mapreduce.task.io.sort.mb:512

说明:排序内存使用限制。

mapreduce.map.sort.spill.percent:0.4

说明:map阶段溢写文件的阈值(排序缓冲区大小的百分比)。

mapreduce.cluster.local.dir:/home/data1/hadoop/tmp/mapred/local, /home/data2/hadoop/tmp/mapred/local

说明:mapreduce的缓存数据存储在文件系统中的位置。

mapreduce.jobtracker.system.dir:/home/data1/hadoop/tmp/mapred/system, /home/data2/hadoop/tmp/mapred/system

说明:mapreduce在hdfs上存储文件的位置。

mapreduce.jobtracker.staging.root.dir:/home/data1/hadoop/tmp/mapred/staging,/home/data2/hadoop/tmp/mapred/staging

说明:the root of the staging area for users' job files. In practice, this should be the directory where users' home directories are located (usually /user)

mapreduce.cluster.temp.dir:/home/data1/hadoop/tmp/mapred/temp, /home/data2/hadoop/tmp/mapred/temp

说明:a shared directory for temporary files.

mapreduce.framework.name:yarn

说明:该项告诉hadoop使用何种框架执行mapreduce任务。

mapreduce.tasktracker.reduce.tasks.maximum:8

说明:每一个tasktracker同时运行的reduce任务的数量。

mapreduce.tasktracker.map.tasks.maximum:8

说明:每一个tasktracker同时运行的map任务的数量。

mapreduce.job.maps:8

说明:设置map任务的数量。

mapreduce.job.reduces:8

说明:设置reduce任务的数量。

mapreduce.reduce.shuffle.parallelcopies:50

说明:the default number of parallel transfers run by reduce during the copy (shuffle) phase. 同时创建的fetch线程数目。

mapreduce.map.memory.mb:1024

说明:the amount of memory to request from the scheduler for each map task.

mapreduce.reduce.memory.mb:1024

说明:the amount of memory to request from the scheduler for each reduce task.

mapred.child.java.opts:-Xmx1024M

说明:配置每个map或reduce使用的内存数量。

mapreduce.map.log.level:warn

说明:the logging level for the map task. the allowed levels are: off, fatal, warn, info, debug, trace, and all. the setting here can be overridden if "mapreduce.job.log4j-properties-file" is set.

mapreduce.reduce.log.level:warn

说明:the logging level for the reduce task. the allowed levels are: off, fatal, warn, info, debug, trace, and all. the setting here can be overridden if "mapreduce.job.log4j-properties-file" is set.

mapreduce.job.userlog.retain.hours:12

说明:the maximum time, in hours, for which the user-log are to be retained after the job completion.

(7)yarn-site.xml

yarn.resourcemanager.hostname:master

说明:the hostname of the RM (ResourceManager)

yarn.nodemanager.aux-services:mapreduce_shuffle

说明:a comma separated list of services where service name should only contain a-zA-Z0-9_ and can not start with numbers.

yarn.scheduler.minimum-allocation-mb:1024

说明:the minimum allocation for every container request at the RM, in MBs. Memory requests lower than this will throw a InvalidResourceRequestException.

yarn.scheduler.maximum-allocation-mb:26624

说明:the maximum allocation for every container request at the RM, in MBs. Memory requests higher than this will throw a InvalidResourceRequestException.

yarn.nodemanager.resource.memory-mb:26624

说明:amount of physical memory, in MB, that can be allocated for containers.

yarn.resourcemanager.fs.state-store.uri:/home/data1/hadoop/tmp/yarn/system/rmstore, /home/data2/hadoop/tmp/yarn/system/rmstore

说明:URI pointing to the location of the FileSystem path where RM state will stored. this must be supplied when using org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemStateStore as the value for yarn.resourcemanager.store.class.

yarn.nodemanager.local-dirs:/home/data1/hadoop/tmp/nm-local-dir, /home/data2/hadoop/tmp/nm-local-dir

说明:list of directories to store localized files in. an application's localized file directories will be found in: ${yarn.nodemanager.local-dirs}/usercache/${user}/appcache/application_${appid}. individual containers' work directories, called container_${contid}, will be subdirectories of this.

yarn.nodemanager.remote-app-log-dir:/home/data1/hadoop/tmp/logs, /home/data2/hadoop/tmp/logs

说明:where to aggregate logs to.

yarn.nodemanager.aux-services.mapreduce.shuffle.class:org.apache.hadoop.mapred.ShuffleHandler

说明:yarn.nodemanager.aux-services [mapreduce.shuffle]和yarn.nodemanager.aux-services.mapreduce.shuffle.class两个配置均用于指定shuffle server (shuffle server实际上是Jetty/Netty server).

yarn.log-aggregation.retain-seconds:600

说明:how long to keep aggregation logs before deleting them. -1 disables. Be careful set this too small and you will spam the name node.

yarn.log-aggregation.retain-check-interval-seconds:300

说明:how long to wait between aggregated log retention checks. if set to 0 or a negative value then the value is computed as one-tenth of the aggregated log retention time. be careful set this too small and you will spam the name node.

yarn.nodemanager.log.retain-seconds:600

说明:time in seconds to retain user logs. only applicable if log aggregation is disabled.

 

五. spark配置情况(/home/hadoop/hadoop/spark/conf)

(1)spark-env.sh

export SPARK_EXECUTOR_INSTANCES=8

说明:在YARN集群上启动的Worker的数目,默认为2个。

export SPARK_EXECUTOR_CORES=2

说明:每个Worker占用的CPU核的数目。

export SPARK_EXECUTOR_MEMORY=2G

说明:每个Worker占用的内存大小。

export SPARK_DRIVER_MEMORY=6G

说明:Spark应用程序Application占的内存大小,这里的Driver对应YARN中的ApplicationMaster。

export SPARK_YARN_APP_NAME=Spark-On-Yarn-Mc

说明:Spark Application在YARN中的名字。

export SPARK_MASTER_IP=master

说明:Master节点的IP。

export SPARK_MASTER_PORT=7077

说明:Master服务端口,默认为7077。

export SPARK_WORKER_CORES=2

说明:每个Worker节点所能提供给所有Spark Application使用的CPU的总数目。

export SPARK_WORKER_MEMORY=2G

说明:每个Worker节点所能提供给所有Spark Application使用的内存的总大小。

export SPARK_WORKER_INSTANCES=8

说明:每个Worker节点启动的Worker进程的数量。

export SPARK_WORKER_DIR=/home/hadoop/logs、

说明:to set the working directory of worker processes.

export SPARK_WORKER_OPTS=”-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.interval=600 -Dspark.worker.cleanupappDataTtl=600 -Dspark.cleaner.ttl=600″

说明:使用"-Dx=y"的形式指定Worker特有的属性配置。

export SPARK_DAEMON_JAVA_OPTS=”-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/hadoop/logs -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xms1024m -Xmx2048m -XX:MaxPermSize=256m”

说明:配置Master和Worker都使用的属性。

export SPARK_LIBARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native:$SPARK_HOME/lib

说明:设置java,hadoop,spark等的类库路径。

export SPARK_SSH_OPTS=”-p22 -o StrictHostKeyChecking=no”

说明:配置SSH。

export LD_LIBRARY_PATH=${HADOOP_HOME}/lib/lzo

说明:指定压缩算法。

export SPARK_PID_DIR=/home/hadoop/pid

说明:where the pid file is stored. (default: /tmp)

(2)spark-defaults.conf

解析:

spark.master:spark://master:7077

说明:要连接的Spark集群Master的URL。

spark.eventLog.enabled:true

说明:是否记录spark事件,用于应用程序在完成后重构webUI。

spark.eventLog.dir:hdfs://master:9000/historyLogs

说明:如果spark.eventLog.enabled为true,该属性为记录spark事件的根目录。在此根目录中,spark为每个应用程序创建分目录,并将应用程序的事件记录在次目录中。可以将此属性设置为HDFS目录,以便history server读取历史记录文件。

spark.history.fs.updateInterval:10

说明:历史服务器显示的信息更新时间间隔,以秒为单位。每次更新将检查事件日志在持久化存储上的任何更改。

spark.history.retainedApplications:200

说明:应用程序UI保留的数量。如果超过这个上限,那么最早的应用程序记录将被删除。

spark.yarn.historyServer.address:master:18088

说明:server端的URL:ip:port或者host:port。

spark.yarn.executor.memoryOverhead:4096

说明:spark对executor额外添加堆内存大小,executor端的默认值为executorMemory*0.7与384的最大值。

spark.yarn.driver.memoryOverhead:4096

说明:spark对driver额外添加堆内存大小,driver端的默认值为driverMemory*0.7与384的最大值。

spark.akka.frameSize:100

说明:以MB为单位的driver和executor之间通信信息的大小,设置值越大,driver可以接受更大的计算结果。

spark.local.dir:/home/data1/spark, /home/data2/spark

说明:用于保存map输出文件或者转储RDD。可以多个目录之间以逗号分割。在Spark 1.0及更高版本,此属性会被环境变量SPARK_LOCAL_DIRS (Standalone,Mesos)或LOCAL_DIRS(YARN)代替。

spark.shuffle.manager:SORT

说明:用来配置使用的shuffle manager,目前可选的shuffle manager包括默认的org.apache.spark.shuffle.sort.HashShuffleManager(配置参数值为hash)和新的org.apache.spark.shuffle.sort.SortShuffleManager(配置参数值为sort)。

spark.cleaner.ttl:600

说明:spark记录任何元数据(stages生成,task生成等)的持续时间。定期清理可以确保将超期的元数据丢弃,这在运行长时间任务是很有用的,比如运行7*24的spark streaming任务。RDD持久化在内存中的超期数据也会被清理。

(3)slaves

解析:

master

slave1

slave2

说明:Spark的参数配置通过有3种方式:SparkConf方式,命令行方式,文件配置方式。(1)应用属性(2)运行环境变量(3)Shuffle操作相关属性(4)SparkUI相关属性(5)压缩和序列化相关属性(6)执行时相关属性(7)网络相关属性(8)调度相关属性(9)安全相关属性(10)Spark Streaming相关属性(11)Standalone模型和Spark on Yarn模型等特有的配置属性。

 

六. cassandra配置情况(/home/hadoop/cassandra/conf)

(1)cassandra-evn.sh

MAX_HEAP_SIZE

HEAP_NEWSIZE

(2)cassandra.yaml

解析: cassandra.yaml为主要的配置文件,0.7版本以后不再使用XML格式配置文件,该而采用YAML格式的配置文件。

默认集群名(cluster_name):'Test Cluster'

默认缓存文件存放路径(saved_caches_directory):$CASSANDRA_HOME/data/saved_caches,推荐使用/var/lib/cassandra/saved_caches

默认数据文件存放路径(data_file_directories):$CASSANDRA_HOME/data/data,推荐使用/var/lib/cassandra/data

默认commitlog存放路径(commitlog_directory):$CASSANDRA_HOME/data/commitlog,推荐使用/var/lib/cassandra/commitlog

说明:data_file_directories可以一次同时设置几个不同的目录,cassandra会自动同步所有目录的数据。

默认的Cassandra服务地址(rpc_address):localhost

默认的Cassandra服务端口(rpc_port):9160

默认的CQL本地服务端口(native_transport_port):9042

(3)集群的配置

Cassandra没有采用传统集群的中心节点,而是各个节点的地位都是平等的。为了使集群中的各节点在启动时能够发现其它的节点,需要指定种子节点,这样各节点可以先和种子节点通信,通过种子节点获取其它节点列表,然后再和其它节点通信。种子节点可以指定多个,并修改服务监听的地址和thrift访问地址,即ListenAddress和ThriftAddress,均在conf/cassandra.yaml中进行配置。

(4)集群的管理

解析:bin目录下自带了很多工具,可以很方便的对cassandra进行操作。常用的工具有nodetool,cassandra-cli,sstable2json等。

nodetool是一个cassandra集群管理工具,常和命令ring,info和cfstats配合使用。ring命令用于查看集群的节点信息,ring来源于consistent hash,在consistent hash中,各个节点组成一个环,通常称为ring。info命令可以查看某个节点负载和内存使用情况。cfstats命令可以查看各个CF的详细信息,包括读写次数、响应时间、memtable信息等。

cassandra-cli是一个命令行工具,可以用于对数据库进行数据查询和检索。sstable2json用于将sstable中的数据转为json格式。

 

参考文献:

[1] hadoop + hbase + zookeeper集群部署(一):https://xieyugui.wordpress.com/2015/04/17/hadoophbasezookeeper-%E9%9B%86%E7%BE%A4%E9%83%A8%E7%BD%B2%E4%B8%80/

[2] hadoop 2.2 + hbase + zookeeper集群部署 (二):https://xieyugui.wordpress.com/2015/04/17/hadoop-2-2-hbase-zookeeper-%E9%9B%86%E7%BE%A4%E9%83%A8%E7%BD%B2-%E8%BD%AF%E4%BB%B6%E9%85%8D%E7%BD%AE-%E4%BA%8C/

[3] hadoop + spark + cassandra集群搭建:https://xieyugui.wordpress.com/2015/07/22/hadoop-spark-cassandra-%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/

[4] /etc/profile和/etc/profile.d:http://blog.csdn.net/lansesl2008/article/details/12782489

[5] Cassandra 2.x中文教程:http://pimin.net/archives/297

[6] Hadoop参数汇总:http://segmentfault.com/a/1190000000709725

[7] Hadoop三个配置文件的参数含义说明:http://blog.csdn.net/yangjl38/article/details/7583374

[8] Spark部署:http://my.oschina.net/u/1169079/blog/292435

[9] Cassandra部署与安装:http://dongxicheng.org/nosql/cassandra-install/

[10] CentOS设置静态IP方法:http://www.cnblogs.com/coacaio/archive/2011/12/12/2284715.html

[11] VMware中CentOS设置静态IP:http://www.cnblogs.com/magialmoon/archive/2013/08/10/3250393.html

[12] CentOS 6.3设置静态IP教程:http://blog.csdn.net/daydreamingboy/article/details/8199069

[13] Centos设置静态IP及修改Centos配置文件:http://os.51cto.com/art/201001/177909.htm

[14] linux硬盘的分区、格式化、挂载以及LVM:http://www.cnblogs.com/thinksasa/archive/2013/02/23/2923375.html

你可能感兴趣的:(Hadoop,Spark和Cassandra集群的配置与优化)