首页 文章 精选 留言 我的

精选列表

搜索[搭建],共10000篇文章
优秀的个人博客,低调大师

Opencv For IOS相机环境搭建

Step 1:next" title="" style="border:none;" data-original="https://img-blog.csdn.net/20160627165528648"> Step 2:导入有用的framework opencv2.framework需要自己下载 opencv2.framework如下导入方式 其他 .framework如下方式导入 导入framework后如下图所示 Step 3: 下图1的位置将.m文件改为.mm文件 Step 4: 添加protocol 这个delegate可以用来出来获取的视频图像 Step 5:创建一个CvVideoCamera的实例 @property (nonatomic,strong) CvVideoCamera *videoCamera; Step 6:将videoCamera对象与imageView连接: self.videoCamera = [[CvVideoCamera alloc] initWithParentView:self.imageView]; self.videoCamera.delegate = self; self.videoCamera.defaultAVCaptureDevicePosition = AVCaptureDevicePositionBack;//调用摄像头前置或者后置 self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset640x480;//设置图像分辨率 self.videoCamera.rotateVideo=YES;// 解决图像显示旋转90°问题 self.videoCamera.grayscaleMode = NO;//获取图像是灰度还是彩色图像 self.videoCamera.defaultFPS = 30;//摄像头频率 只要简单的设置,现在videoCamera已经就绪了,只需要以下命令: [self.videoCamera start]; [self.videoCamera stop]; 进行控制 Step 7:对获取的实时图像进行处理 利用protocol的method: -(void)processImage:(cv::Mat &)image { //添加自己的图像处理算法 if (!image.empty()) { if(image.channels()==4) { cv::Mat gray; cv::cvtColor(image, gray, CV_BGRA2GRAY); cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2, 1.2); cv::Mat edges; cv::Canny(gray, edges, 0, 60); image.setTo(cv::Scalar::all(255)); image.setTo(cv::Scalar(0,128,255,255), edges); self.imageView.image = MatToUIImage(image); }else if(image.channels()==3) { cv::Mat gray; cv::cvtColor(image, gray, CV_RGB2GRAY); cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2, 1.2); cv::Mat edges; cv::Canny(gray, edges, 0, 60); image.setTo(cv::Scalar::all(255)); image.setTo(cv::Scalar(0,128,255,255), edges); self.imageView.image = MatToUIImage(image); } else if(image.channels()==1){ cv::Mat gray; cv::GaussianBlur(image, gray, cv::Size(5,5), 1.2, 1.2); cv::Mat edges; cv::Canny(gray, edges, 0, 60); image.setTo(cv::Scalar::all(255)); image.setTo(cv::Scalar(0,128,255,255), edges); self.imageView.image = MatToUIImage(image); } else{ } } } 有时会出现如下错误 ld: ‘/Users///*/opencv2.framework/opencv2(cap_ios_video_camera.o)’ does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64 Build Phases 收索bit code 将Enable Bitcode 后面的Yes改为No。 Opencv+IOS源码 Opencv For IOS 配置视频

优秀的个人博客,低调大师

keepalived+lvs简单搭建

实现Keepalived+Lvs , 主要做 RealServer 健康检查及LoadBalance 主机与Master,Backup 主机正常运行,其中一部分主机做高可用,另一部分做负载均衡。通过在HA 主机上安装 keepalived 服务形成主备形式并进行 rr 轮询调度,使用VIP 来 Director向客户端提供服务 IP,Keepalived 能在服务器出现故障时将其从系统中剔除并将服务改换至其他正常节点,当坏掉的节点恢复正常时能够将其加入到服务器集群中,并在实时发现故障时能够发送警告到指定邮箱。 主机环境:RHEL6 X86 (selinux&iptables disabled) 实验主机: LVS ‐ ACTIVE: 192.168.122.103(server3) LVS ‐ BACKUP: 192.168.122.104(server4) LVS ‐ VIP: 192.168.122.111(vip) Realsever: 192.168.122.101(server1) 192.168.122.102(server2) SOFT :keepalived-1.2.20 LVS(Server3,server4)配置: [root@server3 ~]#cd /mnt/ [root@server3mnt]# ls keepalived-1.2.20.tar.gz [root@server3mnt]# tar zxf keepalived-1.2.20.tar.gz [root@server3mnt]# ls keepalived-1.2.20 keepalived-1.2.20.tar.gz [root@server3mnt]# cd keepalived-1.2.20 [root@server3keepalived-1.2.20]# ./configure --prefix=/usr/local/keepalived (看来是缺少C编译器了,我们安装上GCC) [root@server3keepalived-1.2.20]# yum install gcc [root@server3keepalived-1.2.20]#./configure --prefix=/usr/local/keepalived (还缺少 openssl) 太麻烦了查了查执行 yum install ipvsadmkernel-devel openssl-devel popt-devel libnl-devel gcc make -y 一次安装完 居然还少东西,libnfnetlink-devel这个东西没有 我在我的rhel6.5镜像里面居然没有搜索到这个东西,在网上搜索下载后安装即可重新编译。 成功无报错. [root@server3keepalived-1.2.20]# cd /usr/local/keepalived/ 执行4个软链接 ln -s/usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ (启动脚本,可方便调用) ln -s/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/ (引用启动脚本变量的文件) ln -s/usr/local/keepalived/etc/keepalived/etc/ (方便使用) ln -s/usr/local/keepalived/sbin/keepalived/usr/sbin (环境变量添加) scp -r/usr/local/keepalived/ root@172.25.33.4:/usr/local/(发到SERVER4后也需要四个链接) vim /etc/keepalived/keepalived.conf Scp /etc/keepalived/keepalived.conf root@192.168.122.104:/etc/keepalived/ 将设置文件拷入BACKUP机中,然后作以下修改 启动server3&server4上的keepalived服务 /etc/init.d/keepalived start 在两个real_server上添加 ip addr add192.168.122.111/32 dev eth0 浏览器 192.168.122.101上显示 浏览器 192.168.122.102上显示 在浏览器输入 http://192.168.122.111,会出现 刷新一下 会发现在权重都为1时,虚拟IP所显示的为192.168.122.101和 192.168.122.102的轮流替换,实现了负载均衡的功能。 高可用测试:停止master 上的 keepalived 服务,看backup 是否接管。 如上图,在BACKUP机测试,关掉MASTER后BACKUP进入了MASTER状态。当恢复MASTER机的服务后,如下 可以看到备机重新恢复了BACKUP标签状态。 这样,简单的keepalived和lvs的功能就得以实现了。

优秀的个人博客,低调大师

ELK stack 日志系统搭建

ELK stack是什么? ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。 ELK Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。和传统的日志处理方案相比,ELK Stack 具有如下几个优点: 处理方式灵活。Elasticsearch 是实时全文索引,不需要像 storm 那样预先编程才能使用; 配置简易上手。Elasticsearch 全部采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计; 检索性能高效。虽然每次查询都是实时计算,但是优秀的设计和实现基本可以达到全天数据查询的秒级响应; 集群线性扩展。不管是 Elasticsearch 集群还是 Logstash 集群都是可以线性扩展的; 前端操作炫丽。Kibana 界面上,只需要点击鼠标,就可以完成搜索、聚合功能,生成炫丽的仪表板。 以上摘自ELKstack中文指南 Logstash是能够用于收集,处理和转发事件或日志信息的工具. Logstash : Logstash服务的组件,用于处理日志 Elasticsearch : 用于存储,索引日志Kibana 4: 搜索和可视化的日志的Web界面.Elasticsearch和Logstash需要运行Java环境,并且版本最好是1.7以上. 首先必须安装java7及以上的版本 http://www.java.com/zh_CN/download/linux_manual.jsp [root@192_168_174_68 home]# wget 'http://sdlc-esd.oracle.com/ESD6/JSCDL/jdk/8u73-b02/jre-8u73-linux-x64.rpm?GroupName=JSC&FilePath=/ESD6/JSCDL/jdk/8u73-b02/jre-8u73-linux-x64.rpm&BHost=javadl.sun.com&File=jre-8u73-linux-x64.rpm&AuthParam=1457343423_73675d83c3aa00d667217e09e10d85c2&ext=.rpm' -O jre-8u73-linux-x64.rpm --2016-03-07 17:18:01-- http://sdlc-esd.oracle.com/ESD6/JSCDL/jdk/8u73-b02/jre-8u73-linux-x64.rpm?GroupName=JSC&FilePath=/ESD6/JSCDL/jdk/8u73-b02/jre-8u73-linux-x64.rpm&BHost=javadl.sun.com&File=jre-8u73-linux-x64.rpm&AuthParam=1457343423_73675d83c3aa00d667217e09e10d85c2&ext=.rpm Resolving sdlc-esd.oracle.com... 96.7.54.179, 96.7.54.187 Connecting to sdlc-esd.oracle.com|96.7.54.179|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 49210622 (47M) [application/x-sdlc] Saving to: “jre-8u73-linux-x64.rpm” 100%[=================================================>] 49,210,622 1.58M/s in 31s 2016-03-07 17:18:32 (1.51 MB/s) - “jre-8u73-linux-x64.rpm” saved [49210622/49210622] 安装jdk [root@192_168_174_68 home]# yum install jre-8u73-linux-x64.rpm -y [root@192_168_174_68 home]# java -version java version "1.8.0_73" Java(TM) SE Runtime Environment (build 1.8.0_73-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode) Elasticsearch 2.2.0安装 YUM / DNF安装 下载并安装公钥: [root@192_168_174_68 ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch 创建/etc/yum.repos.d/elasticsearch.repo文件,复制下面的内容到文件中 [root@192_168_174_68 ~]# vim /etc/yum.repos.d/elasticsearch.repo [elasticsearch-2.x] name=Elasticsearch repository for 2.x packages baseurl=https://packages.elastic.co/elasticsearch/2.x/centos gpgcheck=1 gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 安装elasticsearch [root@192_168_174_68 ~]# yum install elasticsearch #新版本的Fedora使用dnf install elasticsearch 配置elasticsearch服务自动启动,SysV init 版本使用 chkconfig --add elasticsearch systemd使用: sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service 修改elasticsearch配置 [root@192_168_174_68 ~]# mkdir /opt/elasticsearch.path.data [root@192_168_174_68 elasticsearch]# vim /etc/elasticsearch/elasticsearch.yml path.data: /opt/elasticsearch.path.data network.host: 0.0.0.0 启动服务: [root@192_168_174_68 opt]# service elasticsearch start Starting elasticsearch: [ OK ] [root@192_168_174_68 opt]# ps aux |grep elastic 498 8171 24.3 3.2 6815980 263784 ? Sl 17:24 0:10 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/share/elasticsearch/lib/elasticsearch-2.2.0.jar:/usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -p /var/run/elasticsearch/elasticsearch.pid -d -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch -Des.default.path.data=/var/lib/elasticsearch -Des.default.path.conf=/etc/elasticsearch root 8283 0.0 0.0 103252 844 pts/1 S+ 17:25 0:00 grep elastic [root@192_168_174_68 opt]# netstat -lntp |grep 8171 tcp 0 0 ::ffff:127.0.0.1:9200 :::* LISTEN 8171/java tcp 0 0 ::1:9200 :::* LISTEN 8171/java tcp 0 0 ::ffff:127.0.0.1:9300 :::* LISTEN 8171/java tcp 0 0 ::1:9300 :::* LISTEN 8171/java [root@192_168_174_68 opt]# 服务已经启动. kibana4.4.1安装: 在下载主界面,有这么一行字,所以要注意与安装的elasticsearch相匹配.Note: Kibana 4.4.1 requires Elasticsearch 2.2. 下载安装包. [root@192_168_174_68 ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.4.1-linux-x64.tar.gz [root@192_168_174_68 ~]# tar zxvf kibana-4.4.1-linux-x64.tar.gz -C /opt/ [root@192_168_174_68 ~]# cd /opt/kibana-4.4.1-linux-x64/ 修改配置文件 [root@192_168_174_68 kibana-4.4.1-linux-x64]# vim config/kibana.yml server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://192.168.174.68:9200" 启动服务 [root@192_168_174_68 kibana-4.4.1-linux-x64]# nohup ./bin/kibana -l /var/log/kibana4.4.1.log & [1] 8867 nohup: ignoring input and appending output to `nohup.out' logstash安装 YUM源安装方式 下载安装公钥 rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch 创建/etc/yum.repo.d/logstash.repo文件 [root@192_168_174_68 ~]# vim /etc/yum.repos.d/logstash.repo [logstash-2.2] name=Logstash repository for 2.2.x packages baseurl=http://packages.elastic.co/logstash/2.2/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 [root@192_168_174_68 ~]# yum install logstash -y 测试: [root@192_168_174_68 logstash]# JAVA_HOME=/usr/java/jre1.8.0_73 && /opt/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }' Settings: Default pipeline workers: 8 Logstash startup completed talen 2016-03-07T09:51:08.290Z 192_168_174_68 talen 测试OK 下面使用log4j模块收集日志 从Log4j SocketAppender通过TCP读取事件.只支持log4j 1.x版本.根据配置mode的不同,可以接受客户端连接也可以连接到服务端.根据mode不同,必需在对端配置SocketAppender或SocketHubAppender. 编辑业务的log4j配置,添加如下信息 log4j.rootLogger=logstash log4j.appender.logstash=org.apache.log4j.net.SocketAppender log4j.appender.logstash.port=56789 log4j.appender.logstash.remoteHost=192.168.174.68 修改logstash配置信息 [root@192_168_174_68 ~]# cat /etc/logstash/conf.d/3rd.conf input { log4j { mode => "server" host => "0.0.0.0" port => 56789 type => "log4j" } } #The geoip plugin configuration requires data that is already defined as separate fields. Make sure that the geoip section is after the grok section of the configuration file. output { elasticsearch { hosts => "192.168.174.68:9200" } } 在浏览器中输入http://192.168.174.68:5601,可以看到收集上来的日志 问题一: [root@192_168_174_68 ~]# service elasticsearch start Starting elasticsearch: Exception in thread "main" java.lang.IllegalStateException: Unable to access 'path.data' (/opt/elasticsearch.path.data/elasticsearch) Likely root cause: java.nio.file.AccessDeniedException: /opt/elasticsearch.path.data/elasticsearch at sun.nio.fs.UnixException.translateToIOException(Unknown Source) at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at sun.nio.fs.UnixFileSystemProvider.createDirectory(Unknown Source) at java.nio.file.Files.createDirectory(Unknown Source) at java.nio.file.Files.createAndCheckIsDirectory(Unknown Source) at java.nio.file.Files.createDirectories(Unknown Source) at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:337) at org.elasticsearch.bootstrap.Security.addPath(Security.java:314) at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:259) at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:212) at org.elasticsearch.bootstrap.Security.configure(Security.java:118) at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:196) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:167) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details. [FAILED] 解决: [root@192_168_174_68 opt]# chmod 777 /opt/elasticsearch.path.data/ 参考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html https://www.ttlsa.com/elk/howto-install-elasticsearch-logstash-and-kibana-elk-stack/

优秀的个人博客,低调大师

hadoop学习笔记--集群搭建

注:大家常说的ssh其实就是一个免密码访问的东西,为了简化操作的,不用每次访问其他节点重新输入密码。但是要想配置如下: 1.在每台机器上执行 ssh-keygen -t rsa,连敲三次回车键(即设置空密码) 2.然后在每台机器上都执行cd ~/.ssh,并分别把id_rsa.pub复制到authorized_keys中, 即执行 cp id_rsa.pub authorized_keys 3.然后分别把slave0,slave1的authorized_keys都复制到master主节点的authorized_keys中, 即分别在两个从节点slave0和slave1中执行 ssh-copy-id -i master 4.再分别复制到slave0,slave1中(即每一个节点的authorized_keys中都有这三个节点的密钥) 即在主节点master上执行 scp -r ~/.ssh/authorized_keys slave0:~/.ssh/ scp -r ~/.ssh/authorized_keys slave1:~/.ssh/ 此时成功。 简单测试:比如说在master上执行ssh slave0,这时候发现不需要输入密码即可转 到slave0从节点上,这时成功 hadoop-0.20.2的配置文件 hadoop-0.20.0的配置文件: core-site.xml <property> <name>fs.default.name</name> <value>hdfs://cMaster:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/joe/cloudData</value> </property> hdfs-site.xml <property> <name>dfs.name.dir</name> <value>/home/joe/hdfs/name</value> </property> <property> <name>dfs.data.dir</name> <value>/home/joe/hdfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> mapred-site.xml <property> <name>mapred.job.tracker</name> <value>cMaster:9001</value> </property> hadoop-0.20.2集群操作命令: hadoop-0.20.2的集群操作命令 上传本地文件至hdfs:[rio@cMaster hadoop-0.20.2]#bin/hadoop dfs -put /home/rio/input/* /in 用WordCount计算数据:[rio@cMaster hadoop-2.2.0]#bin/hadoop jar hadoop-0.20.2-examples.jar wordcount /in /out/wc-01 hadoop-2.2.0的配置文件: hadoop-2.2.0的配置文件: core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://cMaster:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/joe/cloudData</value> </property> yarn-site.xml <property> <name>yarn.resourcemanager.hostname</name> <value>cMaster</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> mapred-site.xml(注:将mapred-site.xml.template重命名为mapred-site.xml) <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> hadoop-2.2.0进程启动命令: 启动(或关闭)全部服务:[rio@cMaster hadoop-2.2.0]#sbin/start-all.sh [rio@cMaster hadoop-2.2.0]#sbin/stop-all.sh 格式化主节点:[rio@cMaster hadoop-2.2.0]#bin/hdfs namenode -format(注:仅格式化一次) 启动主节点上的namenode:[rio@cMaster hadoop-2.2.0]#sbin/hadoop-daemon.sh start namenode 启动主节点上的resourcemanager:[rio@cMaster hadoop-2.2.0]#sbin/yarn-daemon.sh start resourcemanager 启动从节点上的datanode:[rio@cMaster hadoop-2.2.0]#sbin/hadoop-daemon.sh start datanode 启动从节点上的nodemanager:[rio@cMaster hadoop-2.2.0]#sbin/yarn-daemon.sh start nodemanager 启动日志历史查询:[rio@cMaster hadoop-2.2.0]#sbin/mr-jobhistory-daemon.sh start historyserver 查看服务是否启动:[rio@cMaster hadoop-2.2.0]#/usr/java/jdk1.8.0_71/bin/jps hadoop-2.2.0集群操作命令: 创建目录:[rio@cMaster hadoop-2.2.0]#bin/hdfs dfs -mkidr /in 删除文件及目录:[rio@cMaster hadoop-2.2.0]#bin/hdfs dfs -rmr /out/input 上传本地文件至hdfs:[rio@cMaster hadoop-2.2.0]#bin/hdfs dfs -put /home/rio/input/* /in 查看hdfs里的文件:[rio@cMaster hadoop-2.2.0]#bin/hdfs dfs -cat /in/* [rio@cMaster hadoop-2.2.0]#bin/hdfs dfs -cat /out/wc-01/* 用WordCount计算数据:[rio@cMaster hadoop-2.2.0]#bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-example-2.2.0.jar wordcount /in /out/wc-01 当神已无能为力,那便是魔渡众生

优秀的个人博客,低调大师

二、hadoop伪分布搭建

环境 虚拟机:VirtualBox Ubuntu:14.04 hadoop:2.6 安装 1、创建hadoop用户 sudo useradd -m hadoop -s/bin/bash 【Ubuntu终端复制粘贴快捷键】 【在Ubuntu终端窗口中,复制粘贴的快捷键需要加上shift,即粘贴是 ctrl+shift+v。】 使用如下命令修改密码,按提示输入两次密码 hadoop : sudo passwd hadoop 可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题: sudo adduser hadoop sudo 2、切换到hadoop用户下 su hadoop 3、安装SSH server、配置SSH无密码登陆 集群、单节点模式都需要用到SSH登陆(类似于远程登陆,你可以登录某台Linux电脑,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server: sudo apt-get install openssh-server 安装后,可以使用如下命令登陆本机: ssh localhost 此时会有提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码hadoop,这样就登陆到本机了。 但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。 首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中: exit # 退出刚才的 ssh localhost cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以 cat id_rsa.pub >> authorized_keys # 加入授权 此时再用 ssh localhost 命令,无需输入密码就可以直接登陆 4、安装Java环境 Java环境可选择 Oracle 的 JDK,或是 OpenJDK,按http://wiki.apache.org/hadoop/HadoopJavaVersions中说的,新版本在 OpenJDK 1.7 下是没问题的。为图方便,这边直接通过命令安装 OpenJDK 7。 sudo apt-get install openjdk-7-jre openjdk-7-jdk OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/jvm/java-7-openjdk-i86 ,可通过命令dpkg -L openjdk-7-jdk查看到)。安装完后就可以使用了,可以用java -version 检查一下。 接着需要配置一下 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置(扩展阅读:设置Linux环境变量的方法和区别): vi ~/.bashrc 在文件最前面添加如下单独一行(注意 = 号前后不能有空格),并保存: export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 如下图所示(该文件原本可能不存在,内容为空,这不影响): 配置JAVA_HOME变量 接着还需要让该环境变量生效,执行如下代码: source ~/.bashrc# 使变量设置生效 echo $JAVA_HOME# 检验是否设置正确 设置正确的话,会输出如下结果: 成功配置JAVA_HOME变量 5、安装hadoop 进入hadoop所在的目录将其解压到/usr/local/hadoop sudo tar -zxvf ./hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中 cd /usr/local/ sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限 Hadoop解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示命令用法: cd ./hadoop ./bin/hadoop 6、hadoop伪分布配置 Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件core-site.xml 和hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。 修改配置文件 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml),将当中的 <configuration> </configuration> 修改为下面配置: <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> 同样的,修改配置文件 hdfs-site.xml: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration> 修改配置文件 yarn-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 配置完成后,执行 namenode 的格式 bin/hdfs namenode -format 成功的话,会看到successfully formatted 的提示,且倒数第5行的提示如下,Exitting with status 0 表示成功,若为Exitting with status 1 则是出错 接着开启如下进程 sbin/start-dfs.sh sbin/start-yarn.sh 至此,所有的已经安装完事,且所有服务都已经启动 验证 http://127.0.0.1:8088 http://localhost:50070 http://127.0.0.1:19888 提示 每次进入虚拟机系统时必须先进入hadoop用户下(su hadoop),才能开启服务,否则会报错 参考文章:www.powerxing.com/install-hadoop/ QQ交流:1923361654 hadoop完全分布式部署参考:http://blog.csdn.net/gamer_gyt/article/details/51991893 hadoop单机版部署参考:http://blog.csdn.net/gamer_gyt/article/details/46545303

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。