Spark实践项目2:软件安装

5 篇文章 0 订阅

<Hadoop-CDH>

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.6hadoop
4、配置hadoop相关环境变量
vi ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
5、创建/usr/local/data目录

修改core-site.xml:
<property>
  <name> fs.default.name</name>
  <value>hdfs://sparkproject1:9000</value>
</property>

修改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>

修改mapred-site.xml:

<property>
  <name> mapreduce.framework.name</name>
  <value>yarn</value>
</property>

修改yarn-site.xml:

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>sparkproject1</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>

修改slaves:
sparkproject2
sparkproject3

另外两层搭建hadoop
1、使用如上配置在另外两台机器上搭建hadoop,可以使用scp命令将sparkproject1上面的hadoop安装包和~/.bashrc配置文件都拷贝过去。(scp -r hadoop root@sparkproject2:/usr/local)
2、要记得对.bashrc文件进行source,以让它生效。
3、记得在sparkproject2和sparkproject3的/usr/local目录下创建data目录。

启动hadoop集群:
1、格式化namenode:在sparkproject1上执行以下命令,hdfs namenode -format
3、验证启动是否成功:jps、50070端口
sparkproject1:namenode、secondarynamenode
sparkproject2:datanode
sparkproject3:datanode

启动yarn: 
  2、验证启动是否成功:jps、8088端口
  sparkproject1:resourcemanager、nodemanager
  sparkproject2:nodemanager
  sparkproject3:nodemanager


<Hive>
1.安装Hive包:

    1、将课程提供的hive-0.13.1-cdh5.3.6.tar.gz使用WinSCP上传到sparkproject1的/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相关的环境变量
          vi ~/.bashrc
          export HIVE_HOME=/usr/local/hive
          export PATH=$HIVE_HOME/bin
          source ~/.bashrc

2.安装MySQL:
 1、在sparkproject1上安装mysql。
 2、使用yum安装mysql server。
      yum install -y mysql-server
      service mysqld start
      chkconfig mysqld on
  3、使用yum安装mysql connector
      yum install -y mysql-connector-java
  4、将mysql connector拷贝到hive的lib包中
      cp /usr/share/java/mysql-connector-java-5.1.17.jar /usr/local/hive/lib
  5、在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'@'spark1' identified by 'hive';
flush privileges;
use hive_metadata;

3.配置hive-site.xml:

mv hive-default.xml.template hive-site.xml

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://spark1: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>

4.配置hive-env.sh和hive-config.sh:

mv hive-env.sh.template hive-env.sh
vi /usr/local/hive/bin/hive-config.sh
export JAVA_HOME=/usr/java/latest
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop

5.验证hive:

直接输入hive命令,可以进入hive命令行
create table users(id int, name string)
load data local inpath'/usr/local/users.txt' into table users
select name from users

<ZooKeeper>

1.安装ZooKeeper:

1、将课程提供的zookeeper-3.4.5-cdh5.3.6.tar.gz使用WinSCP拷贝到sparkproject1的/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相关的环境变量
vi ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/zk
export PATH=$ZOOKEEPER_HOME/bin
source ~/.bashrc

2.配置zoo.cfg

cd zk/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改:dataDir=/usr/local/zk/data
新增:
server.0=sparkproject1:2888:3888 
server.1=sparkproject2:2888:3888
server.2=sparkproject3:2888:3888

3.设置节点

cd zk
mkdir data
cd data
vi myid
0

4.搭建ZK集群:

1、在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到spark2和spark3上即可。
2、唯一的区别是spark2和spark3的标识号分别设置为1和2。

5.启动Zookeeper集群:

2、检查ZooKeeper状态:zkServer.sh status,应该是一个leader,两个follower
3、jps:检查三个节点是否都有QuromPeerMain进程。

<Scala>

1、将课程提供的scala-2.11.4.tgz使用WinSCP拷贝到sparkproject1的/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相关的环境变量

vi ~/.bashrc

export SCALA_HOME=/usr/local/scala

export PATH=$SCALA_HOME/bin

source ~/.bashrc

5、查看scala是否安装成功:scala -version


6、按照上述步骤在sparkproject2和sparkproject3机器上都安装好scala。使用scp将scala和.bashrc拷贝到另外两台机器上即可。

<Kafka>

1、将课程提供的kafka_2.9.2-0.8.1.tgz使用WinSCP拷贝到sparkproject1的/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=192.168.1.105:2181,192.168.1.106:2181,192.168.1.107: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目录下面

搭建集群:

1、按照上述步骤在另外两台机器分别安装kafka。用scp把kafka拷贝到sparkproject2和sparkproject3即可。
2、唯一区别的,就是server.properties中的broker.id,要设置为1和2

启动集群:

1、解决kafka Unrecognized VM option 'UseCompressedOops'问题
vi /usr/local/kafka/bin/kafka-run-class.sh
if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
  KAFKA_JVM_PERFORMANCE_OPTS="-server  -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
fi
去掉-XX:+UseCompressedOops即可
2、在三台机器上的kafka目录下,分别执行以下命令:nohup bin/kafka-server-start.sh config/server.properties &
3、使用jps检查启动是否成功

测试集群:

使用基本命令检查kafka是否搭建成功

bin/kafka-topics.sh --zookeeper 192.168.1.105:2181,192.168.1.106:2181,192.168.1.107:2181 --topic TestTopic --replication-factor 1 --partitions 1 --create

bin/kafka-console-producer.sh --broker-list 192.168.1.105:9092,192.168.1.106:9092,192.168.1.107:9092 --topic TestTopic

bin/kafka-console-consumer.sh --zookeeper 192.168.1.105:2181,192.168.1.106:2181,192.168.1.107:2181 --topic TestTopic --from-beginning

<flume>

1、将课程提供的flume-ng-1.5.0-cdh5.3.6.tar.gz使用WinSCP拷贝到sparkproject1的/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相关的环境变量
vi ~/.bashrc
export FLUME_HOME=/usr/local/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$FLUME_HOME/bin
source ~/.bashrc

修改配置文件:
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://sparkproject1: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

创建需要的文件夹:
本地文件夹:mkdir/usr/local/logs
HDFS文件夹:hdfsdfs-mkdir/logs

启动flume-agent:
flume-ng agent -n agent1 -c conf -f /usr/local/flume/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console

测试:
flume-ng agent -n agent1 -c conf -f /usr/local/flume/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值