array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 在Linux上搭建Hadoop - 爱码网
shely-Wangfan

在Linux上搭建Hadoop集群搭建笔记

1、安装虚拟机

下载软件:
VMware workstation CentOS 镜像

具体过程可见:安装虚拟机

2、远程连接

下载软件并安装
Xshell6(登陆到远程的虚拟机)  http://www.netsarang.com/products/xsh_overview.html
xftp6 (远程文件传输) http://www.netsarang.com/products/xfp_overview.html

注:6是版本号
(1)打开Xshell
(2)输入会话名称和ip地址
   在右下角的位置将虚拟机的网络连接改为桥接模式且选中“复制网络连接状态”搭建起局域网
   重启网络 service network restart
   查看IP地址:ifconfig
   输入会话名称(自定义)和主机(ip地址),点击确定

(3)点击新建的会话在输入的对话框中输入密码
 注意编码格式为utf-8
(4)、点击工具栏上的新建文件传输,可以打开xftp,进入相应的文件目录,拖动文件即可将本机的文件传输到linux虚拟机上

3、在Linux上搭建Hadoop集群

(1)下载jdk,在官网下载,下载rpm的包
(2)hadoop包的下载,官网上下载
   download hadoop->release->mirror site(镜像站)->随便选择离自己近的(HTTP下的第一个)->选择2.7.2->下载.tar.gz
(3)将两个包远程传输到linux虚拟机中
(4)将主机名和ip地址进行适配,让我们的ip地址和主机名(如bigdata)相匹配:写到/etc/hosts里面
   vi /etc/hosts
   按“i”进入插入状态    将原有的地址注释掉
   在新的一行输入:ip地址 主机名(如172.17.171.42 bigdata)(注:可以双击xshell的窗口再打开一个连接窗口,可以在新的窗口查询ip地址并进行复制)
   按“Esc”退出插入状态
   输入:wq保存退出
   修改完之后可以输入hostname回车,查看是否成功
   reboot:重启,使得刚刚的修改生效
(5)将包放到opt下:cp hadoop-2.7.2.tar.gz /opt/
           cp jdk-8u111-linux-x64.rpm /opt/
   进入opt:cd /opt/
   查看opt下的文件:ll
(6)安装jdk,配置jdk的环境变量
   安装命令:rpm -ivh jdk-Bu101-linux-x64.rpm
   配置环境变量:进入profile进行编辑:vi /etc/profile
         并按照上面的方式在最后写入并保存:JAVA_HOME=/usr/java/default/(/usr/java/default/是jdk的安装目录)
   打印JAVA_HOME检验是否配置好:echo $JAVA_HOME结果发现打印出来的没有内容因为我们对/etc/profile的修改需要通过以下命令对它生效source /etc/profile。再次输入echo $JAVA_HOME,打印结果为/usr/java/default/
(7)验证jdk安装好:java -version
(8)配置SSH(免密码登录)
   回到根目录:cd    安装SSH秘钥:ssh-keygen -t rsa会自动在/root/.shh/目录下生成
   查看目录:ll .ssh/有两个新生成的文件id_rsa(私钥),id_rsa.pub(公钥)
   进入.ssh/:cd .ssh/
   将公钥写入authorized_key中:cat id_rsa.pub >> authorized_keys
   修改authorized_keys文件的权限:chmod 644 authorized_keys
   修改完后退出.ssh的目录cd进入初始目录输入:ssh bigdata(bigdata为你要远程登录的主机名或者ip地址)第一次登录需要确认是否需要继续登录输入yes继续登录
   退出exit
(9)安装及配置hadoop
   解压:tar zxf hadoop-2.7.2.tar.gz
   查看/opt目录下是否已经存在解压的文件:ll(结果为出现hadoop-2.7.2)
   继续查看hadoop-2.7.2里的内容:cd hadoop-2.7.2
   配置HADOOP_HOME:修改/etc/profile
   进入hadoop的配置文件目录cd /opt/hadoop-2.7.2/etc/hadoop/,会用的的配置文件如下:
   core-site.xml
   配置hadoop的文件系统即HDFS的端口是什么。
   配置项1为default.name,值为hdfs://bigdata:9000(主机名:bigdata也可也写成ip地址,端口9000习惯用)
   配置项2为hadoop临时文件,其实就是配置一个目录,配置完后要去创建这个目录,否则会存在问题。
   配置项3分布式文件系统的垃圾箱,值为4320表示3分钟回去清理一次

 <property>
    <name>fs.default.name</name>
    <value>hdfs://bigdata:9000</value>
 </property>

 <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop-2.7.2/current/tmp</value>
 </property>
 <property>
    <name>fs.trash.interval</name>
    <value>4320</value>
 </property>

   hdfs-site.xml
   配置项1,namenode的细节实际上就是一个目录
   配置项2,datanode的细节,真实环境中datanode的内容不需要再namenode的系统下配置,在此配置的原因是我们的系统是伪分布式系统,namenode和datanode在一台机器上
   配置项3,副本的数量,在hdfs中每个块有几个副本
   配置项4,HDFS是否启用web
   配置项5,HDFS的用户组
   配置项6,HDFS的权限,现在配置为不开启权限

<property>
   <name>dfs.namenode.name.dir</name>
   <value>/opt/hadoop-2.7.2/current/dfs/name</value>
</property>
<property>
   <name>dfs.datanode.data.dir</name>
   <value>/opt/hadoop-2.7.2/current/data</value>
</property>
<property>
   <name>dfs.replication</name>
   <value>1</value>
</property>
<property>
   <name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
  <name>dfs.permissions.superusergroup</name>
  <value>staff</value>
</property>
<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>

   创建配置文件中不存在的目录:mkdir -p /opt/hadoop-2.7.2/current/data
                 mkdir -p /opt/hadoop-2.7.2/current/dfs/name
                 mkdir -p /opt/hadoop-2.7.2/current/tmp
   yarn-site.xml
   配置项1,resourcemanager的hostname,值为你运行的那台机器的主机名或IP地址
   配置项2,nodemanager相关的东西
   配置项3,nodemanager相关的东西
   配置项4,resourcemanager的端口,主机名+端口号(IP+端口)
   配置项5,resourcemanager调度器的端口
   配置项6,resourcemanager.resource-tracker,端口
   配置项7,端口
   配置项8,端口
   配置项9,日志是否启动
   配置项10,日志保留的时间长短(以秒为单位)
   配置项11,日志检查的时间
   配置项12,目录
   配置项13,目录的前缀

<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
   <name>yarn.resourcemanager.address</name>
   <value>bigdata:18040</value>
</property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>bigdata:18030</value>
</property>
<property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>bigdata:18025</value>
</property> <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>bigdata:18141</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>bigdata:18088</value>
</property>
<property>
   <name>yarn.log-aggregation-enable</name>
   <value>true</value>
</property>
<property>
   <name>yarn.log-aggregation.retain-seconds</name>
   <value>86400</value>
</property>
<property>
   <name>yarn.log-aggregation.retain-check-interval-seconds</name>
   <value>86400</value>
</property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir</name>
   <value>/tmp/logs</value>
</property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
   <value>logs</value>
</property>

   mapred-site.xml
   没有mapred-site.xml,输入vi mapred-按“TAB”发现有mapred-site.xml.template,对该文件进行复制
   cp mapred-site.xml.template mapred-site.xml      配置项1,mapreduce的框架
   配置项2,mapreduce的通信端口
   配置项3,mapreduce的作业历史记录端口
   配置项4,mapreduce的作业历史记录端口
   配置项5,mapreduce的作业历史记录已完成的日志目录,在hdfs上
   配置项6,mapreduce中间完成情况日志目录
   配置项7,mapreduce的ubertask是否开启

<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<property>
  <name>mapreduce.jobtracker.http.address</name>
  <value>bigdata:50030</value>
</property>
<property>
  <name>mapreduce.jobhisotry.address</name>
  <value>bigdata:10020</value>
</property>
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>bigdata:19888</value>
</property>
<property>
  <name>mapreduce.jobhistory.done-dir</name>
  <value>/jobhistory/done</value>
</property>
<property>
  <name>mapreduce.intermediate-done-dir</name>
  <value>/jobhisotry/done_intermediate</value>
</property>
<property>
  <name>mapreduce.job.ubertask.enable</name>
  <value>true</value>
</property>

   slaves

 bigdata

   hadoop-env.sh

 JAVA_HOME=/usr/java/default/

   格式化分布式文件系统(hdfs):hdfs namenode -format
   成功的标志: INFO common.Storage: Storage directory /opt/hadoop-2.7.2/current/dfs/namehas been successfully formatted.
   启动Hadoop集群:/opt/hadoop-2.7.2/sbin/start-all.sh
   验证Hadoop集群是否正常启动:
   jps,系统中运行的java进程;
   通过端口查看(关闭防火墙或者service iptables stop在防火墙的规则中开放这些端口):
   http://bigdata:50070(http://http://192.168.42.209/:50070),分布式文件系统hdfs的情况
   yarn http://bigdata:18088(http://http://192.168.42.209/:50070)
参考链接:https://ask.hellobi.com/blog/marsj/4944

             https://edu.hellobi.com/course/93/play/lesson/1410

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分类:

技术点:

相关文章: