Spark集群安装
2016-01-27 12:49 yuejianjun 阅读(277) 评论(0) 收藏 举报172.16.10.102 slave1
172.16.10.103 slave2
172.16.10.104 master
一. 服务器环境配置
1. 服务器名设置
vim /etc/sysconfig/network
修改为:
NETWORKING=yes
HOSTNAME=master
二. 服务安装
1. 分别创建文件目录
上传文件到服务器
/data/soft/apache-tomcat-8.0.30.tar.gz
/data/soft/hadoop-2.7.1.tar.gz
/data/soft/hbase-1.1.2-bin.tar.gz
/data/soft/jdk-8u45-linux-x64.gz
/data/soft/scala-2.11.7.tgz
/data/soft/spark-1.6.0-bin-hadoop2.6.tgz
/data/soft/zookeeper-3.3.6.tar.gz
解压文件
tar -zxvf /data/soft/apache-tomcat-8.0.30.tar.gz
tar -zxvf /data/soft/hadoop-2.7.1.tar.gz
tar -zxvf /data/soft/hbase-1.1.2-bin.tar.gz
tar -zxvf /data/soft/jdk-8u45-linux-x64.gz
tar -zxvf /data/soft/scala-2.11.7.tgz
tar -zxvf /data/soft/spark-1.6.0-bin-hadoop2.6.tgz
tar -zxvf /data/soft/zookeeper-3.3.6.tar.gz
复制到安装目录
mkdir -p /data/lib/tomcat
mkdir -p /data/lib/hadoop
mkdir -p /data/lib/hbase
mkdir -p /data/lib/jdk
mkdir -p /data/lib/scala
mkdir -p /data/lib/spark
mkdir -p /data/lib/zookeeper
复制文件
cp -rf /data/soft/apache-tomcat-8.0.30/ /data/lib/tomcat/
cp -rf /data/soft/hadoop-2.7.1/ /data/lib/hadoop/
cp -rf /data/soft/hbase-1.1.2/ /data/lib/hbase/
cp -rf /data/soft/jdk1.8.0_45/ /data/lib/jdk/
cp -rf /data/soft/scala-2.11.7/ /data/lib/scala/
cp -rf /data/soft/spark-1.6.0-bin-hadoop2.6/ /data/lib/spark/
cp -rf /data/soft/zookeeper-3.3.6/ /data/lib/zookeeper/
2. 修改linux配置:#vim /etc/profile
export JAVA_HOME=/data/lib/jdk/jdk1.8.0_45/
export TOMCAT_HOME=/data/lib/tomcat/apache-tomcat-8.0.30/
export HADOOP_HOME=/data/lib/hadoop/hadoop-2.7.1/
export HADOOP_HOME_WARN_SUPPRESS=1
export HBASE_HOME=/data/lib/hbase/hbase-1.1.2/
export SCALA_HOME=/data/lib/scala/scala-2.11.7/
export SPART_HOME=/data/lib/spark/spark-1.6.0-bin-hadoop2.6/
export ZOOKEEPER_HOME=/data/lib/zookeeper/zookeeper-3.3.6/
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$SCALA_HOME/bin:$SPART_HOME/bin:$ZOOKEEPER_HOME/bin
保存退出:Esc :wq!
配置生效 : source /etc/profile 或 重启linux: reboot
scp /etc/profile root@172.16.10.102:/etc/
scp /etc/profile root@172.16.10.103:/etc/
scp /etc/profile root@172.16.10.104:/etc/
分别执行:source /etc/profile
1.6 确定JDK的具体版本号,然后将其卸载:
[root@linux ~]# rpm -qa | grep jdk
[root@linux ~]# rpm -qa | grep gcj
libgcj-4.1.2-42.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
上面先确认jdk的具体版本号,然后使用rpm -e --nodeps命令删除上面查找的内容:
#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
Complete!
3. 再次检查JDK版本,卸载成功:
[root@linux ~]# java -version
-bash: ./usr/bin/java: No such file or directory
重启linux: reboot , java -version 看是否生效
1.设置ip地址
命令: service network restart
验证: ifconfig
2.关闭防火墙
命令: service iptables stop
验证: service iptables status
3.关闭防火墙的自动运行
执行命令 chkconfig iptables off
验证: chkconfig --list | grep iptables
4设置主机名
命令: hostname 查看主机名
vi /etc/sysconfig/network 修改
service network restart 重启 (或reboot)
hosts设置:vi /etc/hosts
99.48.210.228 master
99.48.210.229 d1
99.48.210.230 d2
解决Linux中文乱码:
vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
---------------------------------------
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
然后重启reboot linux
1.8 添加hadoop 组用户
#删除用户:userdel -r hadoop
#创建用户组hadoop
/usr/sbin/groupadd hadoop
#创建用户hadoop 到hadoop 组中
/usr/sbin/useradd hadoop -g hadoop
#设置hadoop账号密码:在root下
passwd hadoop
hadoop
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
1.9 ssh (http://wenku.baidu.com/view/b287bb0b7cd184254b353593.html)
修改每个主机上的/etc/ssh/sshd_config文件,去掉
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
前面的“#”。
--------------------------------------------------
每台服务器开通ssh
su elespark
cd /home/elespark/.ssh/
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
su root
service sshd restart
su elespark
ssh localhost
chmod 700 /home/hadoop/.ssh/
--------------------------------------------------
#切换到Hadoop 用户下
su hadoop
cd /home/hadoop/
ssh-keygen -t rsa
空密码
#在/home/hadoop/.ssh/下,将id_rsa.pub 复制给authorized_keys文件,并给予权限
cat id_rsa.pub > authorized_keys
su root
重启ssh:service sshd restart
测试 ssh localhost 和ssh namenode,若成功,则可免密码登陆,退出命令exit。注意务必要exit,否则多层嵌套,会晕。
1.10 linux设置master和slaver之间无密码访问ssh
http://blog.163.com/hayash/blog/static/111051720107734744237/
ssh文件集群间复制:
在所有salver服务器中:
su root
scp /home/hadoop/.ssh/authorized_keys master:/home/hadoop/.ssh/authorized_keys_d1 //d1为salver的host,即在root下把d1的authorized_keys复制到master服务器中,需要输入root密码,所有salver服务器都做次操作。
scp /home/hadoop/.ssh/authorized_keys master:/home/hadoop/.ssh/authorized_keys_d2
//root赋予用户hadoop文件权限:
chmod 644 /home/hadoop/.ssh/authorized_keys_d1
master服务器中 Su root 下:
chmod 644 /home/hadoop/.ssh/authorized_keys_d1
chmod 644 /home/hadoop/.ssh/authorized_keys_d2
在master服务器中,把所有salver的authorized_keys_dn 追加到 master的 authorized_keys 中
在master服务器中, su hadoop
cat authorized_keys_d1 >>authorized_keys
cat authorized_keys_d2 >>authorized_keys
su root
service sshd restart //重启ssh
su hadoop
scp /home/hadoop/.ssh/authorized_keys d1:/home/hadoop/.ssh/authorized_keys //不用登陆的authorized_keys发放到各salver服务器
scp /home/hadoop/.ssh/authorized_keys d2:/home/hadoop/.ssh/authorized_keys
(手动ftp 把 master 的 authorized_keys 分别传到d1 和 d2 中)
验证各个服务器是否可以无密钥ssh:
ssh d1
ssh master
-----------------------------------------------------------------
mac ssh key 的获取 pub key
http://blog.csdn.net/yhqbsand/article/details/22763411
hadoop 安装
1. 基础文件夹创建
su elespark
mkdir -p /data/data/hadoop/hdfs/namesecondary
hdfs
mkdir -p /data/data/hadoop/hdfs/name
mkdir -p /data/data/hadoop/hdfs/data
mapreduce
mkdir -p /data/data/hadoop/mapred/mrlocal
master 设置
vim /data/lib/hadoop/hadoop-2.7.1/etc/hadoop/slaves
slave1
slave2
运行hadoop集群任务:
cd /data/lib/hadoop/hadoop-2.7.1
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 20 10
启动hadoop监控:
http://172.16.10.101:8088/cluster
Spark安装
Spark配置修改
cd /data/lib/spark/spark-1.6.0-bin-hadoop2.6/conf
1. 配置slaves文件
mkdir slaves
vim slaves
slave1
slave2
2.配置spark-env.sh文件
cp spark-env.sh.template spark-env.sh
export JAVA_HOME=/data/lib/jdk/jdk1.8.0_45/
export SCALA_HOME=/data/lib/scala/scala-2.11.7/
export HADOOP_CONF_DIR=/data/lib/hadoop/hadoop-2.7.1/etc/hadoop/
3.分发配置文件到集群所有服务器
scp slaves slave1:/data/lib/spark/spark-1.6.0-bin-hadoop2.6/conf/
scp slaves slave2:/data/lib/spark/spark-1.6.0-bin-hadoop2.6/conf/
scp spark-env.sh slave1:/data/lib/spark/spark-1.6.0-bin-hadoop2.6/conf/
scp spark-env.sh slave2:/data/lib/spark/spark-1.6.0-bin-hadoop2.6/conf/
spark集群启动
sudo chown -R elespark:elespark /data/
su elespark
cd /data/lib/spark/spark-1.6.0-bin-hadoop2.6/sbin
./start-all.sh
查看集群:http://172.16.10.104:8080/
测试集群:
cd /data/lib/spark/spark-1.6.0-bin-hadoop2.6/bin
./run-example SparkPi
启动spark-shell控制台
cd /data/lib/spark/spark-1.6.0-bin-hadoop2.6/bin
./spark-shell
--------------------------------------------- Spark 分布式部署 ------------------------------------------
设置spark集群管理用户名:elespark passwd:elespark
浙公网安备 33010602011771号