正常关闭顺序
/usr/local/spark/sbin/stop-all.sh
hbase-daemon.sh stop thrift
stop-hbase.sh
stop-all.sh
zkServer.sh stop//这个要三台机器都分别停止,别的只要在主节点hadoop01就可以了
保存镜像
由于我们是Docker搭建,所以我们可以每次都提交一个新的镜像来覆盖之前的版本
这里建议镜像三个节点,直接提交镜像然后关闭删除容器就行了
每次镜像的时候用同一个镜像名字就可以了,会覆盖之前的
docker commit hadoop01 spark01
docker commit hadoop02 spark02
docker commit hadoop03 spark03
这样的好处就是数据啥的完全没影响,每次run镜像一次就行,然后启动服务就行。
docker run -d -p 16000:16000 -p 16030:16030 -p 16020:16020 -p 2181:2181 -p 2888:2888 -p 3888:3888 -p 50070:50070 -p 8020:8020 -p 50075:50075 -p 50010:50010 -p 8088:8088 -p 8032:8032 -p 8042:8042 -p 8040:8040 -p 19888:19888 -p 8080:8080 -p 4040-4050:4040-4050 -p 9000:9000 -p 8001:8001 -p 50090:50090 -p 9090:9090 -p 7070:7070 -p 7077:7077 -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -it -h hadoop01 --name hadoop01 spark01
docker run -d -it -h hadoop02 --name hadoop02 spark02
docker run -d -it -h hadoop03 --name hadoop03 spark03
docker exec -it hadoop01 bash
//docker exec -it hadoop02 bash
//docker exec -it hadoop03 bash
三个终端都输入如下
su - //进入一下root权限不然一会环境变量用不了
service ssh start
nano /etc/hosts
//修改ip和主机映射关系为如下内容
172.17.0.2 hadoop01
172.17.0.3 hadoop02
172.17.0.4 hadoop03
正常启动顺序
su - //每台节点都执行
service ssh start //每台节点都执行
zkServer.sh start //每台节点都执行
zkServer.sh status //可有可无
start-all.sh
start-hbase.sh
hbase-daemon.sh start thrift
/usr/local/spark/sbin/start-all.sh --webui-port 8081
补充一下
如果想要访问hbase webui,需要自己配置在hbase-site.xml里添加下面这行
<property><name>hbase.master.info.port</name><value>60010</value></property>