ubuntu server 12 上搭建 hadoop2.2 单机伪分布式

  1.  创建hadoop用户组:sudo addgroup hadoop 
  2.  创建hadoop用户:sudo adduser -ingroup hadoop hadoop
  3.  给hadoop用户添加权限,打开/etc/sudoers文件: sudo gedit /etc/sudoers
  4. 在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL,
  5. 在Ubuntu下安装JDK 7
  6.  建立ssh无密码登录本机
  7. 首先要转换成hadoop用户,执行以下命令:su - hadoop
  8. 创建ssh-key,,这里我们采用rsa方式ssh-keygen -t rsa -P ""
  9.  进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的:cd ~/.sshcat id_rsa.pub >> authorized_keys
  10. 登录localhost:ssh localhost
  11. 执行退出命令:exit安装hadoop
  12. 下载完成后解压
  13. 配置系统环境变量   $ su -     # vi /etc/profile在最后加上以下几行
    1. export HADOOP_PREFIX="/opt/hadoop"    
    2. PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin    
    3. export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}     
    4. export HADOOP_COMMON_HOME=${HADOOP_PREFIX}     
    5. export HADOOP_HDFS_HOME=${HADOOP_PREFIX}     
    6. export YARN_HOME=${HADOOP_PREFIX}  
    7. export HADOOP_CONF_DIR="${HADOOP_PREFIX}/etc/hadoop"  
    注:我把解压后的hadoop文件重命名为hadoop,放在opt目录下
    $source /etc/profile
  14. $ cd /opt/hadoop/etc/hadoop/修改hadoop-env.sh修改JAVA_HOME,这里JAVA_HOME的路径必须指定为真实的路径,不能引用${JAVA_HOME},否则运行的时候会有错误JAVA_HOME is not set
    1. export JAVA_HOME=/opt/jdk  
  15. 修改core-site.xml注:创建/tmp/hadoop/hadoop-hadoop 目录
    1. <configuration>  
    2.   <property>  
    3.     <name>fs.default.name</name>  
    4.     <value>hdfs://localhost:9000</value>  
    5.   </property>  
    6.   <property>  
    7.     <name>hadoop.tmp.dir</name>  
    8.     <value>/tmp/hadoop/hadoop-hadoop</value>  
    9.   </property>  
    10. </configuration> 

  16. 修改hdfs-site.xml 

    其中,/home/hadoop/dfs/name,/home/hadoop/dfs/data都是文件系统中的目录,需要先新建

    1. <configuration>  
    2.   <property>    
    3.     <name>dfs.namenode.name.dir</name>    
    4.     <value>file:/home/hadoop/dfs/name</value>    
    5.     <description>Determines where on the local filesystem the DFS name node    
    6.       should store the name table.  If this is a comma-delimited list    
    7.       of directories then the name table is replicated in all of the    
    8.       directories, for redundancy. </description>    
    9.     <final>true</final>    
    10.   </property>    
    11.     
    12.   <property>    
    13.     <name>dfs.datanode.data.dir</name>    
    14.     <value>file:/home/hadoop/dfs/data</value>    
    15.     <description>Determines where on the local filesystem an DFS data node    
    16.        should store its blocks.  If this is a comma-delimited    
    17.        list of directories, then data will be stored in all named    
    18.        directories, typically on different devices.    
    19.        Directories that do not exist are ignored.    
    20.     </description>    
    21.     <final>true</final>    
    22.   </property>    
    23.     
    24.   <property>    
    25.     <name>dfs.replication</name>    
    26.     <value>1</value>    
    27.   </property>    
    28.     
    29.   <property>    
    30.     <name>dfs.permissions</name>    
    31.     <value>false</value>    
    32.   </property>    
    33. </configuration>  

  17. 修改mapred-site.xml
    1. <configuration>  
    2.   <property>    
    3.     <name>mapreduce.framework.name</name>    
    4.     <value>yarn</value>    
    5.   </property>   
    6.     
    7.   <property>    
    8.     <name>mapred.system.dir</name>    
    9.     <value>file:/home/hadoop/mapred/system</value>    
    10.     <final>true</final>    
    11.   </property>    
    12.     
    13.   <property>    
    14.     <name>mapred.local.dir</name>    
    15.     <value>file:/home/hadoop/mapred/local</value>    
    16.     <final>true</final>    
    17.   </property>  
    18. </configuration>  
    注:由mapred-site.xml.template 复制一份
  18. 修改yarn-site.xml
    1. <configuration>  
    2.   
    3. <!-- Site specific YARN configuration properties -->  
    4.   <property>  
    5.     <name>yarn.resourcemanager.resource-tracker.address</name>  
    6.     <value>localhost:8081</value>  
    7.     <description>host is the hostname of the resource manager and   
    8.     port is the port on which the NodeManagers contact the Resource Manager.  
    9.     </description>  
    10.   </property>  
    11.   
    12.   <property>  
    13.     <name>yarn.resourcemanager.scheduler.address</name>  
    14.     <value>localhost:8082</value>  
    15.     <description>host is the hostname of the resourcemanager and port is the port  
    16.     on which the Applications in the cluster talk to the Resource Manager.  
    17.     </description>  
    18.   </property>  
    19.   
    20.   <property>  
    21.     <name>yarn.resourcemanager.scheduler.class</name>  
    22.     <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>  
    23.     <description>In case you do not want to use the default scheduler</description>  
    24.   </property>  
    25.   
    26.   <property>  
    27.     <name>yarn.resourcemanager.address</name>  
    28.     <value>localhost:8083</value>  
    29.     <description>the host is the hostname of the ResourceManager and the port is the port on  
    30.     which the clients can talk to the Resource Manager. </description>  
    31.   </property>  
    32.   
    33.   <property>  
    34.     <name>yarn.nodemanager.local-dirs</name>  
    35.     <value></value>  
    36.     <description>the local directories used by the nodemanager</description>  
    37.   </property>  
    38.   
    39.   <property>  
    40.     <name>yarn.nodemanager.address</name>  
    41.     <value>0.0.0.0:port</value>  
    42.     <description>the nodemanagers bind to this port</description>  
    43.   </property>    
    44.   
    45.   <property>  
    46.     <name>yarn.nodemanager.resource.memory-mb</name>  
    47.     <value>10240</value>  
    48.     <description>the amount of memory on the NodeManager in GB</description>  
    49.   </property>  
    50.    
    51.   <property>  
    52.     <name>yarn.nodemanager.remote-app-log-dir</name>  
    53.     <value>/app-logs</value>  
    54.     <description>directory on hdfs where the application logs are moved to </description>  
    55.   </property>  
    56.   
    57.    <property>  
    58.     <name>yarn.nodemanager.log-dirs</name>  
    59.     <value></value>  
    60.     <description>the directories used by Nodemanagers as log directories</description>  
    61.   </property>  
    62.   
    63.   <property>  
    64.     <name>yarn.nodemanager.aux-services</name>  
    65.     <value>mapreduce.shuffle</value>  
    66.     <description>shuffle service that needs to be set for Map Reduce to run </description>  
    67.   </property>  
    68. </configuration>  
  19. 启动hdfs以及yarn

    完成以上配置后可以检测是否配置成
    首先格式化namenode
             $ hdfs namenode -format
    然后启动hdfs
            $ start-dfs.sh 
    或者
           $ hadoop-daemon.sh start namenode 
           $ hadoop-daemon.sh start datanode
    接着启动yarn daemons
           $ start-yarn.sh
    或者
          $ yarn-daemon.sh start resourcemanager 
          $ yarn-daemon.sh start nodemanager
    启动完成后可以进入http://localhost:50070/dfshealth.jsp 查看dfs状态,
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值