Centos环境搭建
安装Oracle VM VirtualBox
创建虚拟机,打开虚拟机,新建一个虚拟机,名称如:Spark1,类型:Linux,版本:Red Hat
内存大小:默认下一步;虚拟硬盘:默认下一步 ;虚拟硬盘文件类型:默认下一步;存放在物理硬盘上:默认下一步;文件位置和大小,* 一定要注意!!选择文件位置放在除C 盘以外的 *;创建成功
选中创建的虚拟机,然后点击设置,设置网络,网卡连接方式为:* 桥接网卡 *。
启动,选择启动盘。这里需要说明:不要用同一个镜像去启动多个虚拟机,将镜像复制多份,分别启动虚拟机!
启动后,第一项回车确定,然后选择skip, 然后选择回车,语言English,键盘U.S.English,然后回车,在选择yes,设置hostname如:spark1,选择区域:Asia/ShangHai,设置密码,选择安装类型默认下一步,然后选择write,这时开始安装镜像。
安装结束,选择重启。
重启完成,输入用户名:root,密码:**
Linux网络配置
配置主机hosts文件:
vi /etc/hosts
192.168.1.220 spark1
永久性设置CentOS网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
将ONBOOT改为yes
将BOOTPROTO改为static
加上
IPADDR=192.168.1.200 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
重启网卡
- service network restart
关闭防火墙
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
- 将Selinux改为Disabled(永久关闭selinux)
关闭window防火墙
配置DNS
vi /etc/resolv.conf
nameserver 180.168.255.118 nameserver 116.228.111.18 这是上海电信的DNS,根据自己情况更改
ping www.baidu.com能ping通就配好了
修改repo,配置yum,安装JDK
将CentOS6-Base-163.repo上传到 /usr/local
通过SecureFX上传
cd /etc/yum.repos.d/
rm -rf * (删除里面所有文件)
cp /usr/local/CentOS6-Base-163.repo . (将/usr/local/目录下的CentOS6-Base-163.repo拷贝到当前目录)
vi CentOS6-Base-163.repo(修改配置),将其中的gpgcheck属性修改为0
配置yum(用于安装下载更新程序)
yum clean all
yum makecache
安装JDK1.7
将jdk-7u60-linux-i586.rpm上传到/usr/local
rpm -ivh jdk-7u65-linux-i586.rpm(安装JDK)
配置jdk相关的环境变量
- vi ~/.bashrc
export JAVA_HOME=/usr/java/latest export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
java -version(测试是否安装成功)
rm -f /etc/udev/rules.d/70-persistent-net.rules
安装其他的虚拟机
将每个虚拟机的hosts配置好,配置全部机器的ip地址到hostname的映射,而不能只配置本机。
windows的hosts配置全部机器的ip地址到hostname的映射,而不能只配置本机
配置集群ssh免密码登录
ssh-keygen -t rsa (在根目录下运行,运行后不断回车)
cd /root/.ssh
cp id_rsa.pub authorized_keys
全部机器都配置好,ssh spark1(自己的机名) 是不需要密码的
配置所有机器互相之间的ssh免密码登录
cd /usr/local/
ssh-copy-id -i spark2(不是本机的名字)
配置全部机器
安装Hadoop
将hadoop-2.5.0-cdh5.3.6.tar.gz上传到虚拟机的/usr/local目录下
tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz (将hadoop包进行解压缩)
mv hadoop-2.5.0-cdh5.3.6 hadoop (对hadoop目录进行重命名)
配置hadoop相关环境变量
- vi ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
mkdir data (创建/usr/local/data目录)
修改相关配置
修改core-site.xml
<property> <name>fs.default.name</name> <value>hdfs://spark1: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
由于目录中只有mapred-site.xml.template,所以要改名:
mv mapred-site.xml.template mapred-site.xml<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
- 修改yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>spark1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
修改slaves
spark2 spark3
另外两台机器上搭建hadoop
scp -r hadoop root@spark2:/usr/local (将hadoop拷贝到spark2上)
scp ~/.bashrc root@spark2:~/
拷贝完,在各自的虚拟机执行source ~/.bashrc 使配置文件生效
在/usr/local 创建data文件夹
启动hdfs、yarn集群
格式化namenode
- hdfs namenode -format
启动hdfs集群
- start-dfs.sh
检验配置 在浏览器输入spark1:50070或输入jps查看
启动yarn集群
- start-yarn.sh
检验配置 在浏览器输入spark1:8080 或输入jps查看
安装Scala
将scala-2.11.4.tgz上传到虚拟机的/usr/local/目录下
tar -zxvf scala-2.11.4.tgz(解压文件)
mv scala-2.11.4 scala (重命名)
配置scala相关的环境变量
- vi ~/.bashrc
export SCALA_HOME=/usr/local/scala export PATH=$SCALA_HOME/bin
source ~/.bashrc
scala -version(查看是否安装成功)
*拷贝到其他机器中
- scp -r scala root@spark2:/usr/local
- scp ~/.bashrc root@spark2:~/
- 在其他机器运行 source ~/.bashrc
安装Spark
将spark-1.5.1-bin-hadoop2.4.tgz上传到/usr/local目录下
tar -zxvf spark-1.5.1-bin-hadoop2.4.tgz(解压)
mv spark-1.5.1-bin-hadoop2.4 spark(重命名)
修改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 ~/.bashrc
修改spark-env.sh文件
cd /usr/local/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/usr/java/latest export SCALA_HOME=/usr/local/scala export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
vi slavess
spark2 spark3
cd /usr/local/spark/sbin
./start-slaves.sh(启动work节点)
./start-master.sh(启动master节点)
./start-all.sh(全部启动)
按情况选择
- 之前启动hdfs和yarn集群最好在cd /usr/local/hadoop/sbin 中。