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搭建大数据集群的主要内容,如果未能解决你的问题,请参考以下文章

大数据平台搭建及集群规划

CDH搭建大数据集群(5.10.0)

CDH搭建大数据集群(5.10.0)

CDH搭建大数据集群(5.10.0)

CDH搭建大数据集群(5.10.0)

大数据平台CentOS7+CDH5.12.1集群搭建