大数据之hadoop的伪分布式安装与高可用安装
Xftp4. 用来更好的将win系统上的应用软件传输到虚拟机上 虚拟机上的东西也可传到win系统上
在X-shell上安装jdk
rpm -i jdk-7u67-linux-x64.rpm
Jps无法发现 要在虚拟机上对java环境进行配置
重新查找jps 无法查找到,重新进行配置环境 当jps出现数字和jps时表示配置成功
先“ll-a”查看在家目录下 有无.ssh文件,若无 则进行以下操作,即登陆
再“ll-a”查看有无.ssh文件 ssh文件是保存**的文件
有了.ssh文件后,进行以下操作 输入两段命令 可免除**的输入
再次登陆 当不再需要**输入便可直接登陆 即已成功 如下图所示 最后退出 返回到主的node01文件下
将win系统上的hadoop解压包传输到linux上
解压hadoop,并且直接将hadoop直接解压在opt目录下(当然也可以解压到含有自己名字首字母的文件夹下)
输入pwd命令查找hadoop安装目录
要想在任意目录下启动hadoop 就要在配置文件里做些修改
做修改之后进行保存 重新加载 当输入hd按tab键可以弄出hdfs或当输入start-d按tab键自动弹出出strat-dfs. 说明配置成功
配置hadoop:在hadoop-env.sh/mapred-env.sh/yarn-env.sh三个文件下将JAVA_HOME的绝对路劲都改为/usr/java/jkd1.7.0_67
修改hadoop配置文件信息 找到core-site.xml文件(vi core-site.xml),在该文件内添加相应内容,如下图所示
配置hdfs-site.xml(vi hdfs-site.xml)
配置slaves 打开slaves文件将’localhost’改为‘node01’
格式化hdfs : 输入命令:hdfs namenode-format(只能格式化一次) 跳出如下图所示则展现格式化成功
启动集群命令”start-dfs.sh”,并用jps进行验证哪些被启动了起来
打开浏览器,输入node01:50070 如下图所示则显示识别node01成功
Hadoop伪分布式下运行wordcount
在hdfs里建立输入目录和输出目录
将要统计数据的文件上传到输入目录并查看
随后进入mapreduce目录
运行wordcount
查看运行结果
查询hadoop的log
最后停止集群 stop-dfs.sh
以上是hadoop的伪分布式安装,接下来介绍hadoop的高可用安装:
将node01上的jdk分别发送至node02、node03、node04上
统一#cd #ll 查看jdk是否发送到各虚拟机
给node02、05、06分别安装jdk
在node01上cd /etc 将profile发送到node02、03、04上
利用Xshell全部会话栏 source /etc/profile 再jps 查看02、03、04jdk是否安装好
下载ntp
yum -y install ntp
校准时间并与aliyun时间相同 并检查四台linux时间是否相同
查看hostname是否正确
查看ip地址映射是否正确(一般来说,机器号对应的ip地址最后一位同号)
查看selinux是否正确
查看防火墙是否关闭
免**设置:在家目录ll –a看下有无.ssh文件 若无,则进行ssh localhost 最后记得exit退出
cd到.ssh文件下,并将node01的公钥发给其他三台机子
在node02的.ssh目录下查看是否有node01.pub 若有 输入命令: cat node03.pub >> authorized_keys 并在node01上 ssh node02查看是否免**了 相同的操作在node03 04上
修改namenode的一些配置信息:
输入目录 cd/opt/hadoop-2.6.5/etc/hadoop
再输入命令:vi hdfs-site.xml
修改:
dfs.replication
3
以此路径,输入命令:vi core-site.xml
修改:
再输入命令:vi slaves
将node01改为node02
node03
node04
安装hadoop: cd /opt,将其下的hadoop分发到node02、node03、node04
解压安装zookeeper
修改zookeeper的配置文件 并给zoo_sample.cfg改名
输入命令:vi zoo.cfg
修改dataDir=/var/ldy/zk
并在末尾追加
server.1=node02:2888:3888
server.2=node03:2888:3888
server.3=node04:2888:3888
保存
安装zookeeper 将zookeeper分发到其他节点
并用ll /opt检查分发是否成功
给每台机子创建刚配置文件里的路径:mkdir –p /var/opt/zk
echo 1 > /var/ldy/zk/myid
cat /var/ldy/zk/myid
node03 对应echo2;node04对应echo3 重复上述操作
安装zookeeper
export ZOOKEEPER_HOME= /opt/ldy/zookeeper-3.4.6
exportPATH=HADOOP_HOME/bin:ZOOKEEPER_HOME/bin
然后将/etc/profile分发到node03、node04
最后source /etc/profile;输入zkCli.s按Tab键可以把名字补全:zkCli.sh表示成功
启动zookeeper
全部会话:zkServer.sh start
接着用zkServer.sh status查看每个zookeeper节点状态
在mode里两台follower一台leader表示配置启动成功
启动journalnode:
在node02,node03,node04上分别把journalnode起起来:hadoop-daemon.sh start journalnode
格式化任一namenode,格式化成功后,启动namenode:hadoop-daemon.sh start namenode
给另一台manenode同步数据:hdfs namenode-bootstrapStandby
完成以上操作后,我们将进行格式化zkfc,输入命令:hdfs zkfc -formatZK
在node03上执行zkCli.sh打开zookeeper客户端看hadoop-ha是否打开:
启动hdfs集群:start -dfs.sh 然后在Xshell对话框下进行全部会话jps进程
用浏览器访问node01:50070和node02:50070
关闭集群:stop-dfs.sh
关闭zookeeper:zkServer.sh stop
为MapReduce做准备
把mapred-site.xml.template留个备份,并且改下名字:cp mapred-site.xml.template mapred-site.xml
在mapred-site.xml里添加如下property
mapreduce.framework.name
yarn
在yarn-site.xml里添加如下property
yarn.nodemanageraux-services mapreduce shuffle yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id cluster1yarn.resourcemanager.ha.rm-ids
rm1,rm2
yarn.resourcemanager.hostname.rm1
node03
yarn.resourcemanager.hostname.rm2
node04
yarn.resourcemanager.zk-addresse
node02:2181,node03:2181,node03:2181
把mapred-site.xml和yarn-site.xml分发到node02、03、04
分别在node03上免**登陆node04,在node04上免**登陆node03
ssh-****** -t dsa -P ‘’ -f ./id_dsa
cat id_dsa.pub >> authorized_keys
之后用ssh localhost验证看是否需要密码
scp id_dsa.pub node04:pwd
/node03.pub
cat node03.pub >> authorized_keys
在node03上ssh node04,看是否免**
以上是node03上免**登陆node04,在node04上免**登陆node03参照类似以上操作
启动zookeeper,全部会话zkServer.sh start
在node01上启动hdfs, start-dfs.sh
在node01上启动yarn,start-yarn.sh
在node03、04上分别启动resourcemanager,yarn-daemon.sh start resourcemanager
全部会话jps,看进程全不全
在浏览器访问node03:8088,查看resourcemanager管理的内容
最后,关闭集群
node01:stop-dfs.sh
node01:stop-yarn.sh(停止nodemanager)
node03,node04:yarn-daemon.sh stop resourcemanager
node 02、03、04:zkServer.sh stop