hadoop集群监控工具ApacheAmbari安装配置教程

它也是一个为Hortonworks数据平台选择管理组建的项目。
Ambari向H
【菜科解读】
Apache Ambari是对Hadoop进行监控、管理和生命周期管理的开源项目。
它也是一个为Hortonworks数据平台选择管理组建的项目。
Ambari向Hadoop MapReduce、HDFS、 HBase、Pig, Hive、HCatalog以及Zookeeper提供服务。
最近准备装ambari,在网上找了许久,没找到比较系统的ambari安装过程,于是,就根据官网进行了安装,下面是我推荐的正确的较完善的安装方式,希望对大家有所帮助。
一、准备工作
1、系统:我的系统是CentOS6.2,x86_64,本次集群采用两个节点。
管理节点:192.168.10.121;客户端节点:192.168.10.122
2、系统最好配置能上网,这样方便后面的操作,否则需要配置yum仓库,比较麻烦。
3、集群中ambari-serveer(管理节点)到客户端配置无密码登录。
4、集群同步时间
5、SELinux,iptables都处于关闭状态。
6、ambari版本:1.2.0
二、安装步骤
A、配置好集群环境
############ 配置无密码登录 #################[root@ccloud121 ~]# ssh-keygen -t dsa[root@ccloud121 ~]# cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys[root@ccloud121 ~]# scp /root/.ssh/id_dsa.pub 192.168.10.122:/root/[root@ccloud121 ~]# ssh 192.168.10.122[root@ccloud122 ~]# cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys############# NTP 时间同步 #################[root@ccloud121 ~]# ntpdate time.windows.com[root@ccloud121 ~]# ssh ccloud122 ntpdate time.windows.com########### SELinux & iptables 关闭 ###########[root@ccloud121 ~]# setenforce 0[root@ccloud121 ~]# ssh ccloud122 setenforce 0[root@ccloud121 ~]# chkconfig iptables off[root@ccloud121 ~]# service iptables stop[root@ccloud121 ~]# ssh ccloud122 chkconfig iptables off[root@ccloud121 ~]# ssh ccloud122 service iptables stopB、管理节点上安装ambari-server
1、下载repo文件
[root@ccloud121 ~]# wget http://public-repo-1.hortonworks.com/AMBARI-1.x/repos/centos6/ambari.repo[root@ccloud121 ~]# cp ambari.repo /etc/yum.repos.d这样,ambari-server的yum仓库就做好了。
2、安装epel仓库
[root@ccloud121 ~]# yum install epel-release # 查看仓库列表,应该有HDP,EPEL[root@ccloud121 ~]# yum repolist
3、通过yum安装amabari bits,这同时也会安装PostgreSQL
[root@ccloud121 ~]# yum install ambari-server这个步骤要等一会,它需要上网下载,大概39M左右。
4、运行ambari-server setup,安装ambari-server,它会自动安装配置PostgreSQL,同时要求输入用户名和密码,如果按n,它用默认的用户名/密码值:ambari-server/bigdata。
接着就开始下载安装JDK。
安装完成后,ambari-server就可以启动了。
三、集群启动
1、直接接通过ambari-server start和amabari-server stop即可启动和关闭ambari-serveer。
2、启动成功后,在浏览器输入http://192.168.10.121:8080
界面如下图所示:
登录名和密码都是admin。
这样就可以登录到管理控制台。
3、集群的安装配置按照步骤一步步做,在ssh private key里选择/etc/.ssh/id_rsa这个文件,但是我在注册节点时出现了个问题:
('INFO 2013-03-06 10:37:42,580 NetUtil.py:58 - Failed to connect to https://180.168.41.175:8440/cert/ca due to [Errno 111] Connection refusedINFO 2013-03-06 10:37:42,580 NetUtil.py:77 - Server at https://180.168.41.175:8440 is not reachable,
这个问题始终得不到解决,安装无法继续下去,网上也找不到解决方案,希望看到这篇博文的高手朋友们,能提供些解决方案,在此先谢谢了。
四、备注
ambari源码:http://svn.apache.org/repos/asf/incubator/ambari/tags/
hadoop,集群,监控,工具,ApacheAmbari,安C#操作摄像头实现拍照监控录像功能
其实类似的代码网上有很多,但是真的能够拿来运行的估计也没几个。
本来是说周末给做的,但是这两天脑子一直很乱,也没静下来,晚上了,再不做明天有点不好意思啊,只能临时做一个了。
在网上找资料自己做的过程中也发现了一些问题,于是拿到博客上来分享一下,这样一来有需要的朋友可以直接拿来用,二来正在研究的遇到这些问题了可以迎刃而解。
刚开始接触摄像头视频之类的是在大二的时候,那时候因为实验室有一个小项目交到我手上,所以那时候对播放视频之类的了解了一些。
那时候的需求是对已经录下来的监控录像做处理,整个过程是已经不需要自己再去控制录像了,所以相对简单一点。
而拍照和摄像是自己控制,所以稍微复杂那么一点点。
行了,废话说到这里,下面进入正题。
还是以往的作风,只实现功能,对界面不做过多的美化,有需要的朋友可以自己动手。
比较这年头自己动手,丰衣足食嘛。
图1-1是程序的主界面: 图1-1 操作摄像头以及实现拍照功能整个过程主要都是通过一个第三方的组件实现的,名字叫做 AForge ,是国外的组件,所以打开起来有点慢,但是要有耐心啊,目前已经更新到2.2.5版本了。
如果不愿意从官网上下载,文章末尾处也给出了相应的下载地址,需要的话直接拿来用就ok了。
程序也很简单,一个WinForm页面,添加一下对Aforge的引用就可以了,但是这个过程中会引用一些其他的dll,有些不是太常用,所以在这里对引用的dll也做了截图(图1-2),在自己做的过程中参照一下即可。
图1-2 上图1-1中间部分是用来实时显示摄像头开启后获取到的内容,是一个自定义控件。
这里得说明一下,将AForge.Controls.dll拖拽到左侧的工具箱区域,然后就出来自定义控件了。
这里顺便说明一下,我们平时自己开发的自定义控件也可以通过这种方式来给别人用。
前台都准备好了之后我们来开始分析后台代码。
整个的思路是先找到电脑上的摄像头设备,然后选择我们需要操作的设备,然后在拍照或者摄像。
今天由于时间关系仅仅只是实现拍照,下次再做摄像的功能,实现之后也会一样分享在这里的,希望有需要的朋友关注。
当Form加载的时候,我们监听一下其Load事件,将检测到的摄像头设备添加到后边的ComboBox中供用户选择,关键代码如下: Private void Form1_Load(object sender, EventArgs e) // 枚举所有视频输入设备 videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == 0) throw new ApplicationException(); foreach (FilterInfo device in videoDevices) { tscbxCameras.Items.Add(device.Name); } tscbxCameras.SelectedIndex = 0; catch (ApplicationException) tscbxCameras.Items.Add("No local capture devices"); videoDevices = null; } 当用户选择某一摄像头设备再点击连接的时候,我们打开摄像头,并对其进行初始化,关键代码: //连接摄像头 private void CameraConn() { VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[tscbxCameras.SelectedIndex].MonikerString); videoSource.DesiredFrameSize = new System.Drawing.Size(320, 240); videoSource.DesiredFrameRate = 1; videoSourcePlayer.VideoSource = videoSource; videoSourcePlayer.Start(); } 当用户关闭点击关闭摄像头的时候,我们做关闭的处理,代码: //关闭摄像头 private void btnClose_Click(object sender, EventArgs e) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); } 当用户点击拍照的时候,我们获取摄像头当前的画面,并保存到设定的路径下,然后关闭当前窗口。
关键代码: //拍照 private void Photograph_Click(object sender, EventArgs e) { if (videoSourcePlayer.IsRunning) { BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( videoSourcePlayer.GetCurrentVideoFrame().GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); PngBitmapEncoder pE = new PngBitmapEncoder(); pE.Frames.Add(BitmapFrame.Create(bitmapSource)); string picName = GetImagePath() + "\\" + "xiaosy" + ".jpg"; if (File.Exists(picName)) { File.Delete(picName); } using (Stream stream = File.Create(picName)) { pE.Save(stream); } //拍照完成后关摄像头并刷新同时关窗体 if (videoSourcePlayer != null && videoSourcePlayer.IsRunning) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); } this.Close(); } catch (Exception ex) MessageBox.Show("摄像头异常:" + ex.Message); } private string GetImagePath() { string personImgPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + Path.DirectorySeparatorChar.ToString() + "PersonImg"; if (!Directory.Exists(personImgPath)) Directory.CreateDirectory(personImgPath); return personImgPath; } 关闭之后,在bin目录下的PersonImg中即可找到保存的图片,当然,在程序中把该图片展示出来效果会更好,但是由于时间关系,就不添加了。
需要的朋友可以自己实现,有问题的欢迎一起交流。
至此,这样一个简单的拍照功能就完成了,在这里,附上源码下载地址。
操作,摄像头,实现,拍照,监控,录像,功能,从,
U-Mail教你设置监控一个或多个邮箱
下面介绍下如何设置监控一个或多个邮箱? 如果要监控一个或多个邮箱收发的邮件,也可以说是备份一个或多个邮箱收发的邮件。
就是将一个或多个邮箱收发的邮件,同时复制到指定的邮箱中。
例如将 aaa@domain.com 和bbb@domain.com 邮箱收发的邮件,复制到bak@domain.com 邮箱。
设置的时候三个管理后台都可以设置。
截图如下: 1. 可新建一条规则,在上面“规则描述”输入框中输入名称。
2. 在“选择一个以上的会触发规则活动的条件”下,选择对勾“如果FROM 头”,表示发件人的地址包含,利用此项监控发送出去的邮件;选择对勾“如果TO 头”,表示收件人的地址包含,利用此项监控接收到的邮件。
3. 在“选择此规则要执行的一个或多个动作”下,选择对勾“复制邮件给制动用户”,表示复制邮件到某一个邮箱用户。
4. 在下面的“规则描述”下,“FROM 邮件头”和“TO 邮件头”中间的条件匹配为“或”,选择第二个对勾“任何条件匹配OR”,表示只要发件人地址满足“FROM 邮件头”或收件人地址满足“TO 邮件头”中的字符串,都进行执行“复制邮件给制动用户”的动作。
5. 点击“FROM 邮件头”的“包含”,在出现页面中的规则选项选择“任何或”,在检查表示只要满足下列任何一个字符串的值,都执行“复制邮件给制动用户”的动作。
在“检查此字符串”下分别输入aaa@domain.com和bbb@domain.com,点击添加。
6. 点击“TO 邮件头”的“包含”,类似上面设置。
7. 点击“接着就复制邮件到”后面的指定信息,在出现的页面中输入指定的邮箱,可指定多个邮箱地址。
8. 其他设置 1) 如果只监控邮箱发送的邮件,在“选择一个以上的会触发规则活动的条件”下,只选择对勾“如果FROM头”。
2) 如果只监控邮箱接收的邮件,在“选择一个以上的会触发规则活动的条件”下,只选择对勾“如果TO头”。
3) 如果要监控某个域名如aaa.com 下的邮件,点击“FROM 邮件头”或“TO 邮件头”的“包含”,在“检查此字符串”下输入*@aaa.com。
U-Mail,教你,设置,监控,一个,或,多个,邮箱,出于,