首页 文章 精选 留言 我的

精选列表

搜索[多云部署],共10000篇文章
优秀的个人博客,低调大师

Linux下部署Hadoop伪分布模式

Hadoop版本为1.2.1 Linux使用Fedora19并使用hadoop账号安装 第一步:配置ssh本地登录证书(虽然为伪分布模式,Hadoop依然会使用SSH进行通信) [hadoop@promote ~]$ which ssh /usr/bin/ssh [hadoop@promote ~]$ which ssh-keygen /usr/bin/ssh-keygen [hadoop@promote ~]$ which sshd /usr/sbin/sshd [hadoop@promote ~]$ ssh-keygen -t rsa 然后一路回车 Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Created directory '/home/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Passphrases do not match. Try again. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: 2f:a9:60:c7:dc:38:8f:c7:bb:70:de:d4:39:c3:39:87 hadoop@promote.cache-dns.local The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | | | S | | o o o o + | | o B.= o E . | | . o Oo+ = | | o.=o. | +-----------------+ 最终将在/home/hadoop/.ssh/路径下生成私钥id_rsa和公钥id_rsa.pub [hadoop@promote .ssh]$ cd /home/hadoop/.ssh/ [hadoop@promote .ssh]$ ls id_rsa id_rsa.pub 修改sshd服务配置文件: [hadoop@promote .ssh]$ su root 密码: [root@promote .ssh]# vi /etc/ssh/sshd_config 启用RSA加密算法验证(去掉前面的#号) RSAAuthentication yes PubkeyAuthentication yes # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 # but this is overridden so installations will only check .ssh/authorized_keys AuthorizedKeysFile .ssh/authorized_keys 修改mapred-site.xml: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration> 修改hdfs-site.xml: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> master中指定的SNN节点和slaves中指定的从节点位置均为本地 [hadoop@promote conf]$ cat masters localhost [hadoop@promote conf]$ cat slaves localhost 第五步:启动Hadoop [hadoop@promote bin]$ cd ../conf/ [hadoop@promote conf]$ cd ../bin [hadoop@promote bin]$ sh start-all.sh starting namenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-namenode-promote.cache-dns.local.out localhost: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-promote.cache-dns.local.out localhost: starting secondarynamenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-secondarynamenode-promote.cache-dns.local.out starting jobtracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-jobtracker-promote.cache-dns.local.out localhost: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-promote.cache-dns.local.out 可以看到所有Hadoop守护进程均已启动 保存并退出,然后重启sshd服务 [root@promote .ssh]# service sshd restart Redirecting to /bin/systemctl restart sshd.service [root@promote .ssh]# ps -ef|grep sshd root 1995 1 0 22:33 ? 00:00:00 sshd: hadoop [priv] hadoop 2009 1995 0 22:33 ? 00:00:00 sshd: hadoop@pts/0 root 4171 1 0 23:11 ? 00:00:00 /usr/sbin/sshd -D root 4175 3397 0 23:12 pts/0 00:00:00 grep --color=auto sshd 然后切换回hadoop用户,将ssh证书公钥拷贝至/home/hadoop/.ssh/authorized_keys文件中 [root@promote .ssh]# su hadoop [hadoop@promote .ssh]$ cat id_rsa.pub >> authorized_keys 修改authorized_keys文件的权限为644(这步一定要有) [hadoop@promote .ssh]$ chmod 644 authorized_keys [hadoop@promote .ssh]$ ssh localhost The authenticity of host 'localhost (127.0.0.1)' can't be established. RSA key fingerprint is 25:1f:be:72:7b:83:8e:c7:96:b6:71:35:fc:5d:2e:7d. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (RSA) to the list of known hosts. Last login: Thu Feb 13 23:42:43 2014 第一次登陆将会将证书内容保存在/home/hadoop/.ssh/known_hosts文件中,以后再次登陆将不需要输入密码 [hadoop@promote .ssh]$ ssh localhost Last login: Thu Feb 13 23:46:04 2014 from localhost.localdomain 至此ssh证书部分配置完成 第二步:安装JDK [hadoop@promote ~]$ java -version java version "1.7.0_25" OpenJDK Runtime Environment (fedora-2.3.10.3.fc19-i386) OpenJDK Client VM (build 23.7-b01, mixed mode) 将OpenJDK换为Oracle的Java SE [hadoop@promote .ssh]$ cd ~ [hadoop@promote ~]$ uname -i i386 在Oracle的官网下载jdk-6u45-linux-i586.bin后上传至服务器,赋予权限并进行安装,最后删除安装包 [hadoop@promote ~]$ chmod u+x jdk-6u45-linux-i586.bin [hadoop@promote ~]$ ./jdk-6u45-linux-i586.bin [hadoop@promote ~]$ rm -rf jdk-6u45-linux-i586.bin [hadoop@promote conf]$ export PATH=$PATH:/home/hadoop/jdk1.6.0_45/bin 出现以下结果说明JDK成功安装: [hadoop@promote ~]$ java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing) 第三步:安装Hadoop 在Hadoop官网下载hadoop-1.2.1.tar.gz并上传至服务器/home/hadoop路径下 [hadoop@promote ~]$ tar -xzf hadoop-1.2.1.tar.gz [hadoop@promote ~]$ rm -rf hadoop-1.2.1.tar.gz [hadoop@promote ~]$ cd hadoop-1.2.1/conf/ [hadoop@promote conf]$ vi hadoop-env.sh 将JAVA_HOME指向第二步安装的JDK所在目录片 # The java implementation to use. Required. export JAVA_HOME=/home/hadoop/jdk1.6.0_45 保存并退出 第四步:修改Hadoop配置文件 修改core-site.xml: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> 最新内容请见作者的GitHub页:http://qaseven.github.io/

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

PostgreSQL MongoDB FDW安装部署与使用

最近有业务要求通过PostgreSQL FDW去访问MongoDB。开始我觉得这是个很轻松的任务。但接下来的事真是让人恶心的吐了。MongoDB FDW编译起来真是要人命:混乱的依赖,临时下载和Hotpatch,错误的编译参数,以及最过分的是错误的文档。总算,我在生产环境(Linux RHEL7u2)和开发环境(Mac OS X 10.11.5)都编译成功了。赶紧记录下来,省的下次蛋疼。 环境概述 理论上编译这套东西,GCC版本至少为4.1。 生产环境 (RHEL7.2 + PostgreSQL9.5.3 + GCC 4.8.5) 本地环境 (Mac OS X 10.11.5 + PostgreSQL9.5.3 + clang-703.0.31) mongo_fdw的依赖 总的来说,能用包管理解决的问题,尽量用包管理解决。mongo_fdw是我们最终要安装的包 它的直接依赖有三个 json-c 0.12 libmongoc-1.3.1 libbson-1.3.1 总的来说,mongo_fdw是使用mongo提供的C驱动程序完成功能的。所以我们需要安装libbson与libmongoc。其中libmongoc就是MongoDB的C语言驱动库,它依赖于libbson。 所以最后的安装顺序是:libbson→libmongoc→json-c→mongo_fdw 间接依赖 默认依赖的GNU Build全家桶,文档是不会告诉你的。 下面列出一些比较简单的,可以通过包管理解决的依赖。 请一定按照以下顺序安装GNU Autotools m4-1.4.17→autoconf-2.69→automake-1.15→libtool-2.4.6→pkg-config-0.29.1。 总之,用yum也好,apt也好,homebrew也好,都是一行命令能搞定的事。 还有一个依赖是libmongoc的依赖:openssl-devel,不要忘记装。 libbson-1.3.1" class="reference-link" style="color:rgb(65,131,196);">安装libbson-1.3.1 git clone -b r1.3 https://github.com/mongodb/libbson; cd libbson; git checkout 1.3.1; ./autogen.sh; make && sudo make install; make test; libmongoc-1.3.1" class="reference-link" style="color:rgb(65,131,196);">安装libmongoc-1.3.1 git clone -b r1.3 https://github.com/mongodb/mongo-c-driver cd mongo-c-driver; git checkout 1.3.1; ./autogen.sh; # 下一步很重要,一定要使用刚才安装好的系统中的libbson。 ./configure --with-libbson=system; make && sudo make install; 这里为什么要使用1.3.1的版本?这也是有讲究的。因为mongo_fdw中默认使用的是1.3.1的mongo-c-driver。但是它在文档里说只要1.0.0+就可以,其实是在放狗屁。mongo-c-driver与libbson版本是一一对应的。1.0.0版本的libbson脑子被驴踢了,使用了超出C99的特性,比如复数类型。要是用了git clone默认的版本就真的傻逼了。 json-c" class="reference-link" style="color:rgb(65,131,196);">安装json-c 首先,我们来解决json-c的问题 git clone https://github.com/json-c/json-c; cd json-c git checkout json-c-0.12 ./configure完了可不要急着Make,这个版本的json-c编译参数有问题。打开Makefile,找到CFLAGS,在编译参数后面添加-fPIC 这样GCC会生成位置无关代码,不这样做的话mongo_fdw链接会报错。 Mongo%20FDW" class="reference-link" style="color:rgb(65,131,196);">安装Mongo FDW 真正恶心的地方来咯。 git clone https://github.com/EnterpriseDB/mongo_fdw; 好了,如果这时候你想当然的运行./autogen.sh --with-master,它就会去重新下一遍上面几个包了……,而且都是从墙外亚马逊的云主机去下。唯一靠谱的编译方法,就是手动一条条的执行autogen里面的命令。 首先把上面的json-c目录复制到mongo_fdw的根目录内。 然后添加libbson和libmongoc的include路径。 export C_INCLUDE_PATH="/usr/local/include/libbson-1.0/:/usr/local/include/libmongoc-1.0:$C_INCLUDE_PATH" 查看autogen.sh,发现里面根据--with-legacy和--with-master的不同选项,会有不同的操作。具体来说,当指定--with-master选项时,它会创建一个config.h,里面定义了一个META_DRIVER的宏变量。当有这个宏变量时,mongo_fdw会使用mongoc.h头文件,也就是所谓的“master”,新版的mongo驱动。当没有时,则会使用”mongo.h”头文件,也就是老版的mongo驱动。这里,我们直接vi config.h,添加一行 #define META_DRIVER 这时候,基本上才能算万事大吉。 在最终build之前,别忘了执行:ldconfig [sudo] ldconfig 回到mongo_fdw根目录make,不出意外,这个mongo_fdw.so就出来了。 试一试吧? sudo make install; psql admin=# CREATE EXTENSION mongo_fdw; 如果提示找不到libmongoc.so和libbson.so,直接把它们丢进pgsql的lib目录即可。 sudo cp /usr/local/lib/libbson* /usr/local/pgsql/lib/ sudo cp /usr/local/lib/libmongoc* /usr/local/pgsql/lib/

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册