CDH搭建大数据集群
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDH搭建大数据集群相关的知识,希望对你有一定的参考价值。
需要的软件包:
flume-ng-1.5.0-cdh5.3.6.tar.gz
hadoop-2.5.0-cdh5.3.6.tar.gz
hive-0.13.1-cdh5.3.6.tar.gz
kafka_2.9.2-0.8.1.tgz
scala-2.11.4.tgz
slf4j-1.7.6.zip
spark-1.5.1-bin-hadoop2.4.tgz
zookeeper-3.4.5-cdh5.3.6.tar.gz
安装hadoop包:
1、使用课程提供的hadoop-2.5.0-cdh5.3.6.tar.gz,上传到虚拟机的/usr/local目录下。(http://archive.cloudera.com/cdh5/cdh/5/)
2、将hadoop包进行解压缩:tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz
3、对hadoop目录进行重命名:mv hadoop-2.5.0-cdh5.3.6 hadoop
4、配置hadoop相关环境变量
vim /etc/profile (或 vim ~/.bashrc)
export HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile (或 source ~/.bashrc)
5、创建/usr/local/data目录
6、修改core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://cm1:9000</value>
</property>
7、修改hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/usr/local/data/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/data/datanode</value>
</property>
<property>
<name>dfs.tmp.dir</name>
<value>/usr/local/data/tmp</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
8、修改mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
9、修改hadoop-env.sh中的配置:
export JAVA_HOME=/usr/local/jdk1.7.0_55
10、使用scp命令将配置好的hadoop拷贝到其他两个节点(cm2和cm3)上,并配置上环境变量,在/usr/local目录下创建data目录.
11、启动hdfs集群:
11.1、在cm1节点上执行格式化命令:hdfs namenode -format
11.2、启动hdfs,执行命令:start-dfs.sh
11.3、验证是否执行成功:
在各节点上使用jps命令查看进程执行情况:
cm1:namenode、secondarynamenode
cm2:datanode
cm3:datanode
将本地文件上传至hdfs中
12、启动yarn集群:
12.1、在cm2上执行命令:start-yarn.sh
12.2、验证是否执行成功:
在各节点上使用jps命令查看进程执行情况:
cm1:ResourceManager
cm2:NodeManager
cm3:NodeManager
hive安装:
1、将课程提供的hive-0.13.1-cdh5.3.6.tar.gz使用WinSCP上传到cm1的/usr/local目录下。
2、解压缩hive安装包:tar -zxvf hive-0.13.1-cdh5.3.6.tar.gz
3、重命名hive目录:mv hive-0.13.1-cdh5.3.6 hive
4、配置hive相关的环境变量
vim /etc/profile (或 vim ~/.bashrc)
export HIVE_HOME=/usr/local/hive
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATH
source /etc/profile (或 source ~/.bashrc)
6、在cm3上安装mysql。
7、使用yum安装mysql server。
yum install -y mysql-server
service mysqld start
chkconfig mysqld on
8、使用yum安装mysql connector,或者将已有的mysql驱动包拷贝到hive的lib目录下
yum install -y mysql-connector-java
9、将mysql connector拷贝到hive的lib包中
cp /usr/share/java/mysql-connector-java-5.1.17.jar /usr/local/hive/lib
10、在mysql上创建hive元数据库,创建hive账号,并进行授权
create database if not exists hive_metadata;
grant all privileges on hive_metadata.* to ‘hive‘@‘%‘ identified by ‘hive‘;
grant all privileges on hive_metadata.* to ‘hive‘@‘localhost‘ identified by ‘hive‘;
grant all privileges on hive_metadata.* to ‘hive‘@‘cm1‘ identified by ‘hive‘;
flush privileges;
use hive_metadata;
11、配置hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://cm3:3306/hive_metadata?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
12、配置hive-env.sh
mv /usr/local/hive/conf/hive-env.sh.template /usr/local/hive/conf/hive-env.sh
vim /usr/local/hive/bin/hive-config.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
zookeeper安装:
1、将课程提供的zookeeper-3.4.5-cdh5.3.6.tar.gz使用WinSCP拷贝到cm1的/usr/local目录下。
2、对zookeeper-3.4.5-cdh5.3.6.tar.gz进行解压缩:tar -zxvf zookeeper-3.4.5-cdh5.3.6.tar.gz。
3、对zookeeper目录进行重命名:mv zookeeper-3.4.5-cdh5.3.6 zk。
4、配置zookeeper相关的环境变量
vim /etc/profile (或 vim ~/.bashrc)
export ZOOKEEPER_HOME=/usr/local/zk
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile (或 source ~/.bashrc)
5、配置zoo.cfg
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改:dataDir=/usr/local/zk/data
新增:
server.0=cm1:2888:3888
server.1=cm2:2888:3888
server.2=cm3:2888:3888
9、 设置zk节点标识
cd zk
mkdir data
cd data
vi myid
0
10、搭建zk集群
10.1、在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到cm2和cm3上即可。
10.2、唯一的区别是cm2和cm3的标识号分别设置为1和2。
11、启动Zookeeper集群:
11.1、分别在三台机器上执行:zkServer.sh start。
11.2、检查ZooKeeper状态:zkServer.sh status,应该是一个leader,两个follower
11.3、jps:检查三个节点是否都有QuromPeerMain进程。
kafka安装:
安装scala
1、将课程提供的scala-2.11.4.tgz使用WinSCP拷贝到cm1的/usr/local目录下。
2、对scala-2.11.4.tgz进行解压缩:tar -zxvf scala-2.11.4.tgz。
3、对scala目录进行重命名:mv scala-2.11.4 scala
4、配置scala相关的环境变量
vim /etc/profile (或 vim ~/.bashrc)
export SCALA_HOME=/usr/local/scala
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$SCALA_HOME/bin:$PATH
source /etc/profile (或 source ~/.bashrc)
5、查看scala是否安装成功:scala -version
6、按照上述步骤在cm2和cm3机器上都安装好scala。使用scp将scala和.bashrc拷贝到另外两台机器上即可。
安装kafka
1、将课程提供的kafka_2.9.2-0.8.1.tgz使用WinSCP拷贝到cm1的/usr/local目录下。
2、对kafka_2.9.2-0.8.1.tgz进行解压缩:tar -zxvf kafka_2.9.2-0.8.1.tgz。
3、对kafka目录进行改名:mv kafka_2.9.2-0.8.1 kafka
4、配置kafka
vi /usr/local/kafka/config/server.properties
broker.id:依次增长的整数,0、1、2,集群中Broker的唯一id
zookeeper.connect=cm1:2181,cm2:2181,cm3:2181
5、安装slf4j
将课程提供的slf4j-1.7.6.zip上传到/usr/local目录下
unzip slf4j-1.7.6.zip
把slf4j中的slf4j-nop-1.7.6.jar复制到kafka的libs目录下面
搭建kafka集群:
1、按照上述步骤在另外两台机器分别安装kafka。用scp把kafka拷贝到cm2和cm3即可。
2、唯一区别的,就是server.properties中的broker.id,要设置为1和2
启动kafa集群:
1、在三台机器上的kafka目录下,分别执行以下命令:nohup bin/kafka-server-start.sh config/server.properties &
2、使用jps检查启动是否成功
测试kafka集群:
使用基本命令检查kafka是否搭建成功
bin/kafka-topics.sh --zookeeper cm1:2181,cm2:2181,cm3:2181 --topic TestTopic --replication-factor 1 --partitions 1 --create
bin/kafka-console-producer.sh --broker-list cm1:9092,cm2:9092,cm3:9092 --topic TestTopic
bin/kafka-console-consumer.sh --zookeeper cm1:2181,cm2:2181,cm3:2181 --topic TestTopic --from-beginning
flume安装:
1、将课程提供的flume-ng-1.5.0-cdh5.3.6.tar.gz使用WinSCP拷贝到cm1的/usr/local目录下。
2、对flume进行解压缩:tar -zxvf flume-ng-1.5.0-cdh5.3.6.tar.gz
3、对flume目录进行重命名:mv apache-flume-1.5.0-cdh5.3.6-bin flume
4、配置scala相关的环境变量
vim /etc/profile (或 vim ~/.bashrc)
export FLUME_HOME=/usr/local/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$SCALA_HOME/bin:$FLUME_HOME/bin:$PATH
source /etc/profile (或 source ~/.bashrc)
5、修改配置文件
cp /usr/local/flume/conf/flume-conf.properties.template /usr/local/flume/conf/flume-conf.properties
vi /usr/local/flume/conf/flume-conf.properties
#agent1表示代理名称
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1
#配置source1
agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir=/usr/local/logs
agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader = false
agent1.sources.source1.interceptors = i1
agent1.sources.source1.interceptors.i1.type = timestamp
#配置channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/usr/local/logs_tmp_cp
agent1.channels.channel1.dataDirs=/usr/local/logs_tmp
#配置sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://cm1:9000/logs
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=1
agent1.sinks.sink1.channel=channel1
agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d
6、创建需要的文件夹
本地文件夹:mkdir /usr/local/logs
HDFS文件夹:hdfs dfs -mkdir /logs
7、启动flume-agent
flume-ng agent -n agent1 -c conf -f /usr/local/flume/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console
8、测试
新建一份文件,移动到/usr/local/logs目录下,flume就会自动上传到HDFS的/logs目录中
安装spark客户端
1、将spark-1.5.1-bin-hadoop2.4.tgz使用WinSCP上传到/usr/local目录下。
2、解压缩spark包:tar -zxvf spark-1.5.1-bin-hadoop2.4.tgz。
3、重命名spark目录:mv spark-1.5.1-bin-hadoop2.4 spark
4、修改spark环境变量
vim /etc/profile (或 vim ~/.bashrc)
export SPARK_HOME=/usr/local/spark
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$SCALA_HOME/bin:$FLUME_HOME/bin:$SPARK_HOME/bin:$PATH
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source /etc/profile (或 source ~/.bashrc)
5、修改spark-env.sh
5.1、cd /usr/local/spark/conf
5.2、cp spark-env.sh.template spark-env.sh
5.3、vi spark-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0_55
export SCALA_HOME=/usr/local/scala
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
6、测试spark on yarn
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn-cluster \
--num-executors 3 \
--driver-memory 4g \
--executor-memory 2g \
--executor-cores 1 \
--queue thequeue \
lib/spark-examples*.jar \
10
本文出自 “JC” 博客,请务必保留此出处http://jackeychen.blog.51cto.com/7354471/1912926
以上是关于CDH搭建大数据集群的主要内容,如果未能解决你的问题,请参考以下文章