分享

Hadoop-2.4.0自动化集群安装脚本

lucky110100 发表于 2016-9-30 17:14:30 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 9200
本帖最后由 lucky110100 于 2016-9-30 17:38 编辑

参考资料和说明
参考资料: hadoop-2.3.0详细安装过程
码云GIT: hadoop-2.4.0家族自动化安装脚本 》》》 获取邀请码
版本信息: hadoop-2.4.0-x64、hive-1.2.1、Zookeeper-3.4.5、Hbase-0.98.21
你没看错,这就是2.4.0版本的安装脚本,虽然参考的是2.3.0的。


安装环境
虚拟机软件: VirtualBox-4.3.8-92456-Win.exe
虚拟机系统: CentOS-6.5-x86_64-bin-DVD1.iso,64位,分配1CPU,2G内存
Hadoop版本: hadoop-2.4.0-64bit.tar.gz 下载
Nginx文件服务器: nginx-1.10.0.zip Windows版本,解压即用,主要用来提供文件下载。
主要说一下这些脚本都是干什么的,具体安装过程请到git中查看脚本内容。

执行脚本
sloth/linux/hadoop/sln-2.4.0.sh
hadoop自动安装的主要入口,以root用户执行,操作示例如下:
[mw_shl_code=shell,true]Last login: Wed Sep 28 15:49:27 2016 from 172.16.4.102
[root@name00 ~]# cd /home/install/hadoop/
[root@name00 hadoop]# ./sln-2.4.0.sh
./sln-2.4.0.sh 错误:请传入参数,(1、类型:name/node;2、机器名:name00/node01;3、机器IP)!
例如:./sln-2.4.0.sh name name00 127.0.0.1
[root@name00 hadoop]# ./sln-2.4.0.sh node node04 172.16.117.4
参数确认: 类型:node   机器名: node04    机器IP:172.16.117.4
继续/跳过(Y/N):y
                                        开始安装……
SSH链接慢?(Y/N):
                                        跳过……
授权公钥……继续/跳过(Y/N):
                                        跳过……
下载脚本……继续/跳过(Y/N):
                                        跳过……
删除已rpm安装的软件……继续/跳过(Y/N):
                                        跳过……
安装java……继续/跳过(Y/N):
                                        跳过……
安装mysql……继续/跳过(Y/N):
                                        跳过……
安装hadoop……继续/跳过(Y/N):
                                        跳过……
安装hive……继续/跳过(Y/N):
                                        跳过……
安装zookeeper……继续/跳过(Y/N):
                                        跳过……
安装hbase……继续/跳过(Y/N):
                                        跳过……
设置环境变量……继续/跳过(Y/N):
                                        跳过……
立即加入Hadoop集群……继续/跳过(Y/N):
                                        跳过……
[root@name00 hadoop]# [/mw_shl_code]
允许用户交互,根据需要选择安装。


测试和监控
[mw_shl_code=shell,false]# 切换用户  
su hadoop  
# 启动所有  
cd /home/hadoop/src/hadoop-2.4.0/sbin/;./start-all.sh  
# 停止所有  
cd /home/hadoop/src/hadoop-2.4.0/sbin/;./stop-all.sh[/mw_shl_code]
验证[mw_shl_code=shell,false]hadoop fs -ls hdfs://name00:9000 /
hadoop fs -mkdir hdfs://name00:9000 /testfolder[/mw_shl_code]

mapreduce例子
[mw_shl_code=shell,true]cd /home/hadoop/src/hadoop-2.4.0/share/hadoop/mapreduce/
hadoop fs -copyFromLocal /home/logs/hive/hive.log /input/hive.log
hadoop fs -ls /input
hadoop jar hadoop-mapreduce-examples-2.4.0.jar wordcount /input/hive.log /wordout
hadoop fs -ls /wordout
hadoop fs -tail /wordout/part-r-00000[/mw_shl_code]

web监控
服务器状态
[backcolor=rgba(128, 128, 128, 0.0470588)]http://name00:50070/dfshealth.html
集群信息
[backcolor=rgba(128, 128, 128, 0.0470588)]http://name00:8088/cluster
查看所有日志信息
[backcolor=rgba(128, 128, 128, 0.0470588)]http://name00:50070/logs/



问题或期望:
1. Hadoop所有节点两两间无秘访问
hadoop需要在各个节点创建一个用户,并保证用户之间能够无秘访问,互联互通,虽然现在能够用脚本自动生成公钥,并将公钥分发给各个节点,但是两两节点间第一次登录访问还是需要确认和输入密码,节点少当然没问题,但是节点多了,一个个去确认也麻烦,求解决方案!!!

2. 下载更新脚本
目前的实现方式如下
[mw_shl_code=shell,true]read -p "下载脚本……继续/跳过(Y/N):" isY
if [ "${isY}" == "y" ] || [ "${isY}" == "Y" ];then
        ##下载脚本,并删除已rpm安装的软件
        ssh root@$3 "mkdir -p /home/install"
        ## 下载脚本
        #ssh root@$3 "cd /home/install;wget -N -r -nH -np -k -L -p $URL_SHELL" #层级下载有点问题
        ## 下载脚本包
        ssh root@$3 "cd /home/install;rm -f linux.zip;wget $URL_SHELL/linux.zip"
        ## 解压并提权
        ssh root@$3 "cd /home/install;unzip -o linux.zip;chmod a+x /home/install -R"
else
        echo '                                        跳过……'
fi[/mw_shl_code]

但是这个命令本地执行没问题,但远端执行就返回错误,会中断整个安装脚本,所以才改成下载压缩包的。



已有(2)人评论

跳转到指定楼层
lucky110100 发表于 2016-9-30 17:16:33
本帖最后由 lucky110100 于 2016-9-30 17:42 编辑

不能用Markdown编辑,从CSDN复制过来格式不对,感觉好麻烦啊
回复

使用道具 举报

lucky110100 发表于 2016-10-8 16:35:13
问题一的解决:
http://johnwang.blog.51cto.com/474770/348712/

[root@xytr1 ~]# ssh 192.168.5.56
The authenticity of host '192.168.5.56 (192.168.5.56)' can't be established.
RSA key fingerprint is a1:7f:35:ec:1a:5e:33:df:e8:82:56:cf:b6:99:b6:b9.
Are you sure you want to continue connecting (yes/no)? yes ß 这里一定要确认才能通过
Warning: Permanently added '192.168.5.56' (RSA) to the list of known hosts.
Last login: Tue Jul 13 16:29:52 2010 from linux1

解决方案是,把 本地 的ssh客户端配置文件 ssh_config 做修改
[root@xytr1 ~]# vi /etc/ssh/ssh_config
找到:
#   StrictHostKeyChecking ask
修改为
    StrictHostKeyChecking no

这样下次就不会出现需要确认的提示了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条