Hadoop+spark+hive全分布环境的搭建
2017-11-26 19:54
411 查看
一、基础环境配置
我采用的是三台虚拟主机,操作系统为centos7。hadoop版本为2.6 、hive2.1.1版本为(可自行到官网下载)、jdk7、Scala2.11.0、zookeeper3.4.5二、安装教程
(1)jdk的安装从官网自行下载jdk到本地,然后通过ftp传到linux系统上,直接解压,解压后配置环境变量,我的环境变量配置如下:
JAVA_HOME=/usr/java/jdk1.7.0_80
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATHsource /etc/profile 使得变量生效
通过 java 和javac 可以检测是否安装成功!
(2)配置SSH免密码登录
ssh-keygen
把id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub
>> ~/.ssh/authorized_keys
修改文件”authorized_keys”权限
chmod
600 ~/.ssh/authorized_keys
设置SSH配置
vi /etc/ssh/sshd_config // 以下三项修改成以下配置 RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
重启ssh服务
service sshd restart1
把公钥复制所有的Slave机器上
// scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/ scp ~/.ssh/id_rsa.pub root@192.168.1.125:~/ scp ~/.ssh/id_rsa.pub root@192.168.1.124:~/
在slave主机上创建.ssh文件夹
mkdir ~/.ssh // 修改权限 chmod 700 ~/.ssh
追加到授权文件”authorized_keys”
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys // 修改权限 chmod 600 ~/.ssh/authorized_keys
删除无用.pub文件
rm –r ~/id_rsa.pub1
在master主机下进行测试
ssh 192.168.1.125 ssh 192.168.1.124 // 如果能够分别无密码登陆slave1, slave2主机,则成功配置
(3)hadoop的安装
将hadoop的文件解压
在”/usr/hadoop”下面创建tmp文件夹
cd /usr/hadoop mkdir tmp
设置环境变量
export HADOOP_HOME=/usr/hadoop/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source
/etc/profile
设置hadoop-env.sh和yarn-env.sh中的java环境变量
cd /usr/hadoop/etc/hadoop/vi hadoop-env.sh// 修改JAVA_HOMEexport
JAVA_HOME=/usr/java/jdk1.7
配置core-site.xml文件
vi core-site.xml// 修改文件内容为以下
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>A
base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://Master.Hadoop:9000</value>
</property></configuration>
配置hdfs-site.xml文件
vi hdfs-site.xml // 修改文件内容为以下 <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/hadoop/dfs/data</value&g 19ca2 t; </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.nameservices</name> <value>hadoop-cluster1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>Master.Hadoop:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
配置mapred-site.xml文件
vi mapred-site.xml // 修改文件为以下 <property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> </property> <property> <name>mapreduce.jobtracker.http.address</name> <value>Master.Hadoop:50030</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>Master.Hadoop:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master.Hadoop:19888</value> </property> <property> <name>mapred.job.tracker</name> <value>http://Master.Hadoop:9001</value> </property>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
配置yarn-site.xml文件
vi yarn-site.xml // 修改文件内容为以下 <property> <name>yarn.resourcemanager.hostname</name> <value>Master.Hadoop</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>Master.Hadoop:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>Master.Hadoop:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>Master.Hadoop:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>Master.Hadoop:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>Master.Hadoop:8088</value> </property>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
配置Hadoop的集群
将Master中配置好的hadoop传入两个Slave中scp -r /usr/hadoop root@192.168.1.125:/usr/ scp -r /usr/hadoop root@192.168.1.124:/usr/1
2
修改Master主机上的slaves文件
cd /usr/hadoop/etc/hadoop vi slaves // 将文件内容修改为 Slave1.Hadoop Slave2.Hadoop1
2
3
4
5
6
7
格式化HDFS文件系统
// 在Master主机上输入以下指令 hadoop namenode -format1
2
启动hadoop
// 关闭机器防火墙 service iptables stop cd /usr/hadoop/sbin ./start-all.sh // 更推荐的运行方式: cd /usr/hadoop/sbin ./start-dfs.sh ./start-yarn.sh
jps进行验证
(4)mysql的安装
https://www.cnblogs.com/xxoome/p/5864912.html
(5)hive的安装
tar -xzvf apache-hive-2.1.1-bin.tar.gz ##解压
设置环境变量:
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
cp hive-default.xml.template hive-site.xml
修改mysql的连接
mv hive-default.xml.template hive-site.xmlvi
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><property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value></property>
hive 测试
(7)ZooKeeper 3.4.5集群搭建
1、将zookeeper-3.4.5.tar.gz使用WinSCP拷贝到spark1的/usr/local目录下。
2、对zookeeper-3.4.5.tar.gz进行解压缩:tar -zxvf zookeeper-3.4.5.tar.gz。
3、对zookeeper目录进行重命名:mv zookeeper-3.4.5 zk。
4、配置zookeeper相关的环境变量
vi .bashrc 或者 vi /etc/profile export ZOOKEEPER_HOME=/usr/local/zk export PATH=$ZOOKEEPER_HOME/bin source .bashrc1
2
3
4
配置zoo.cfg 在/usr/local/zk/conf目录下 vi zoo.cfg 修改:dataDir=/usr/local/zk/data 新增: server.0=spark1:2888:3888 server.1=spark2:2888:3888 server.2=spark3:2888:38881
2
3
4
5
6
7
设置zk节点标识
cd zk mkdir data cd data vi myid 01
2
3
4
5
6
搭建zk集群
1、在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到spark2和spark3上即可。
scp -r zk root@slave1:/usr/local/
2、唯一的区别是spark2和spark3的标识号分别设置为1和2。及myid 中的值修改为1 和2
启动ZooKeeper集群
1、分别在三台机器上执行:zkServer.sh start。 2、检查ZooKeeper状态:zkServer.sh status。
安装scala 2.11.4
1、将scala-2.11.4.tgz使用WinSCP拷贝到spark1的/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 .bashrc1
2
3
4
5、查看scala是否安装成功:scala -version
6、按照上述步骤在spark2和spark3机器上都安装好scala。使用scp将scala和.bashrc拷贝到spark2和spark3上即可。
安装spark包
1、将spark-1.3.0-bin-hadoop2.4.tgz使用WinSCP上传到/usr/local目录下。
2、解压缩spark包:tar zxvf spark-1.3.0-bin-hadoop2.4.tgz。
3、更改spark目录名:mv spark-1.3.0-bin-hadoop2.4 spark
4、设置spark环境变量
vi .bashrc export SPARK_HOME=/usr/local/spark export PATH=$SPARK_HOME/bin export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib source .bashrc1
2
3
4
5
修改spark-env.sh文件 1、cd /usr/local/spark/conf 2、cp spark-env.sh.template spark-env.sh 3、vi spark-env.sh export JAVA_HOME=/usr/java/latest export SCALA_HOME=/usr/local/scala export SPARK_MASTER_IP=192.168.1.107 export SPARK_WORKER_MEMORY=1g export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop 修改slaves文件 spark2 spark31
2
3
4
5
6
7
8
9
10
11
12
13
安装spark集群
在另外两个节点进行一模一样的配置,使用scp将spark和.bashrc拷贝到spark2和spark3即可。
启动spark集群
1、在spark目录下的sbin目录
2、执行 ./start-all.sh
3、使用jsp和8080端口可以检查集群是否启动成功
4、进入spark-shell查看是否正常
相关文章推荐
- ubuntu16.04搭建Hadoop2.7.2+spark1.6.1+mysql+hive2.0.0伪分布学习环境
- Shark Hive Spark Hadoop2 环境搭建
- hadoop完全分布式环境搭建,整合zookeeper,hbase,spark,hive,hue
- 大数据学习环境搭建(CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1)
- Linux搭建Hive On Spark环境(spark-1.6.3-without-hive+hadoop2.8.0+hive2.1.1)
- hadoop 、spark 、hive环境搭建
- 大数据,hadoop,spark,hive,ZooKeeper,kafka,flume等组件环境搭建
- Mac下hadoop,hive, hbase,spark单机环境搭建
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
- HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
- ubuntu14.04的hadoop环境搭建(全分布模式)
- hadoop-伪分布环境搭建
- Ubuntu下hadoop环境的搭建(伪分布模式)
- hadoop+hive-完全分布式环境搭建
- Hadoop 2.6.0-cdh5.4.0集群环境搭建和Apache-Hive、Sqoop的安装
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
- 大数据伪分布式环境搭建hadoop+zookeeper+hive+sqoop+hbase
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
- Hadoop2.8.2+Spark2.1.2 完全分布式环境 搭建全过程