⼤数据平台开发作业
⼤数据平台开发作业
前期准备
准备好四台安装了centos系统的虚拟机,并在其中⼀台完成伪分布式的安装
⾼可⽤安装
HA安装⽅案
分发jdk到node02,ndoe03,node04上
scp jdk-7u67-linux-x64.rpm node02:`pwd`
scp jdk-7u67-linux-x64.rpm node03:`pwd`
scp jdk-7u67-linux-x64.rpm node04:`pwd
并在Xshell的全部会话栏⾥⼀起ll,看jdk是否发送成功。
给node02,node03,node04分别安装jdk
分别在node02,node03,node04上执⾏rpm安装命令。
rpm -i jdk-7u67-linux-x64.rpm
在node01上cd /etc,在此⽬录下把profile⽂件分发到node02、03、04上。
在node01上cd /etc,在此⽬录下把profile⽂件分发到node02、03、04上。
装机之前的配置⽂件检查
1.cat /etc/sysconfig/network
查看HOSTNAME是否正确
2.cat /etc/hosts
查看IP映射是否正确,若不正确,可以改⽂件,也可以把node01上的⽤scp分发过去.。
3.cat /etc/sysconfig/selinux
检查SELINUX的值是否是disabled
4.service iptables status
查看防⽕墙是否关闭
NN与其他三台机⼦的免秘钥设置
1.在家⽬录下 ll –a看下有⽆.ssh⽂件,如果没有就ssh loalhost⼀下,完成后记得exit退出。
2.cd /.ssh,并ll查看⼀下
3.把node01的公钥发给其他三台机⼦
scp id_dsa.pub node02:`pwd`/node01.pub
scp id_dsa.pub node03:`pwd`/node01.pub
scp id_dsa.pub node04:`pwd`/node01.pub
4.将node02的.ssh⽬录下的node01.pub追加到authorized_keys
cat node01.pub >> authorized_keys
5.其他两台机⼦同上,并检查在node01上能否ssh连接到其他三台机⼦
两个NN间互相免密钥
在node02上:
ssh-keygen -t dsa -P ''-f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
ssh localhost验证⼀下
分发到node01上:
scp id_dsa.pub  node01:`pwd`/node02.pub
在node01的.ssh⽬录下,
cat node02.pub >> authorized_key
在node02上ssh node01验证⼀下可否免密钥登录
修改namenode的⼀些配置信息
l
<configuration>
<property>
<name&plication</name>
<value>3</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.luster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.1</name>
<value>node01:8020</value>
</property>
<property>
<name>dfs.2</name>
<value>node02:8020</value>
</property>
<property>
<name>dfs.1</name>
<value>node01:50070</value>
</property>
<property>
<name>dfs.2</name>
<value>node02:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/var/gf/hadoop/ha/jn</value>
</property>
<property>
<name>dfs.client.failover.luster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property>
<property>
<name>dfs.hods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_dsa</value>
</property>
<property>
<name>dfs.abled</name>
<value>true</value>
</property>
</configuration>linux安装jdk rpm安装
l
<!– 集名称mycluster-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<!– zookeeper布署的位置-->
<property>
<name&keeper.quorum</name>
<value>node02:2181,node03:2181,node04:2181</value>
</property>
vi slaves
node02
node03
node04
安装hadoop
cd /opt,将其下的gf⽬录分发到node02、03、04
scp –r  ldy/ node02:`pwd`
scp –r  ldy/ node03:`pwd`
scp –r  ldy/ node04:`pwd`
将l和l分发到node02、03、04
l node02:`pwd`
l node03:`pwd`
l node04:`pwd`
安装zookeeper
解压安装zookeeper
tar xf zookeeper-3.4. -C /opt/gf
修改zookeeper的配置⽂件
cd /opt/gf/zookeeper-3.4.6/conf
给zoo_sample.cfg改名
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
改dataDir=/var/ldy/zk
并在末尾追加
server.1=node04:2888:3888
server.2=node05:2888:3888
server.3=node06:2888:3888
其中2888主从通信端⼝,3888是当主挂断后进⾏选举机制的端⼝把zookeeper分发到其他节点
scp -r zookeeper-3.4.6/ node05:`pwd`
scp -r zookeeper-3.4.6/ node06:`pwd`
并⽤ll /opt/gf检查下看分发成功没
给每台机⼦创建刚配置⽂件⾥的路径
mkdir -p /var/gf/zk
对node02来说
echo 1>/var/gf/zk/myid
cat /var/gf/zk/myid
对node03来说
echo 2>/var/gf/zk/myid
cat /var/gf/zk/myid
对node04来说
echo 3>/var/gf/zk/myid
cat /var/gf/zk/myid
在/etc/profile⾥⾯配置
export ZOOKEEPER_HOME=/opt/gf/zookeeper-3.4.6
export PATH=$PATH:/usr/java/jdk1.7.0_67/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin 然后在把/etc/profile分发到其他node03、node04
scp /etc/profile node03:/etc
scp /etc/profile node04:/etc
然后在node02,node03,node04中source /etc/profie
验证source这句是否完成,输⼊zkCli.s,按Tab可以把名字补全zkCli.sh
启动zookeeper
全部会话:zkServer.sh start
接着⽤zkServer.sh status查看每个zookeeper节点的状态
如果启动不起来,请把/etc/profile⾥的JAVA_HOME改成绝对路径。
启动journalnode
在01、02、03三台机⼦上分别把journalnode启动起来
hadoop-daemon.sh start journalnode
⽤jps检查下进程启起来了没
格式化任⼀namenode
随意挑⼀台namenode上执⾏hdfs namenode –format
另⼀台namenode不⽤执⾏,否则clusterID变了,不到集了。
然后,启动刚刚格式化的那太namenode:
hadoop-daemon.sh start namenode
给另⼀namenode同步数据
在另外⼀台namenode上执⾏
dfs namenode -bootstrapStandby
格式化zkfc
hdfs zkfc -formatZK

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。