• hadoop搭建初步总结


    1、安装JDK
    1.1上传
    运用软件FileZilla,将windows上的jdk压缩包放到linux的root目录下

    1.2解压jdk
    #创建文件夹
    mkdir /usr/java(不要挂在在“/”系统盘下)
    #解压
    tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/(提前在/usr/目录下创建一个java的文件夹)

    1.3将java添加到环境变量中
    vim /etc/profile
    #在文件最后添加
    export JAVA_HOME=/usr/java/jdk1.7.0_55
    export PATH=$PATH:$JAVA_HOME/bin

    #刷新配置
    source /etc/profile

    2、安装Hadoop
    2.1上传hadoop安装包
    运用软件FileZilla,将windows上的压缩包放到linux的root目录下

    2.2解压hadoop安装包
    在root目录下
    mkdir /cloud
    #解压到/cloud/目录下
    tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/

    2.3修改配置文件(5个)目录 /cloud/hadoop-2.2.0/etc/hadoop
    第一个:hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk1.6

    第二个:core-site.xml
    <configuration>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://northbigpenguin:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/cloud/hadoop-2.2.0/tmp</value>
    </property>
    </configuration>

    第三个:hdfs-site.xml
    <configuration>
    <!-- 设置hdfs副本数量 -->
    <property>
    <name>dfs.replication</name>
    <value>1</value><!--默认是3个,这里改为一个-->
    </property>
    </configuration>


    第四个:mapred-site.xml.template 需要重命名: mv mapred-site.xml.template mapred-site.xml
    <configuration>
    <!-- 通知框架MR使用YARN -->
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    <!--这个必须加载-->
    <property>
       <name>mapred.job.tracker</name>
       <value>northbigpenguin:9001</value>
    </property>
    </configuration>

    第五个:yarn-site.xml

    <configuration>
    <!-- reducer取数据的方式是mapreduce_shuffle -->
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>northbigpenguin</value>
    </property>
    </configuration>

    3、将hadoop添加到环境变量
    vim /etc/profile
    export JAVA_HOME=/usr/java/jdk1.6
    export HADOOP_HOME=/root/cloud/hadoop-2.2.0
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
    完成过后部署一下,才能生效
    source /etc/profile

    4、格式化HDFS(namenode)第一次使用时要格式化
    #过时但还可以使用:hadoop namenode -format
    目录/cloud/hadoop-2.2.0
    hdfs namenode -format 使用这个(注:整个配置中此句子仅仅执行一次,否则会出很多错误)
    注意:
    (1)如果报错:
    -bash: hadoop: command not found
    说明:
    hadoop的路径配置有误。查看vim /etc/profile的export HADOOP_HOME=/root/cloud/hadoop-2.2.0(使用绝对路径)
    不知道绝对路径:
    进入/hadoop-2.2.0/bin 然后输入pwd

    5、启动hadoop
    5.1 初始化HDFS(格式化文件系统)
    (1)查找命令:
    which hadoop
    which hdfs
    (2)到hdfs相对的bin目录下:
    cd /root/Download/hadoop/hadoop-2.2.0/bin
    (3)退到/hadoop-2.2.0所在目录
    hdfs namenode -format (hadoop namenode -format(过时了,但是可用))

    5.2启动hadoop
    (1)进入目录/root/cloud/hadoop-2.2.0/sbin

    (2)先启动HDFS(可以用.../sbin/start-all.sh但是需要多次输入密码)

    (3)第二种启动方法:
    先启动HDFS
    ../sbin
    ./start-dfs.sh

    再启动YARN
    ../sbin
    ./start-yarn.sh

    (2)报错:Error: Cannot find configuration directory:
    进入vim /etc/profile
    就把所有的路径都配置进去
    export JAVA_HOME=/usr/java/jdk1.6
    export HADOOP_HOME=/root/cloud/hadoop-2.2.0
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_YARN_HOME=$HADOOP_HOME
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export PATH=$PATH::$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOOME/sbin:$HADOOP_HOME/lib
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
    再次配置一下
    source /etc/profile
    6、然后关闭服务器
    ./stop-all.sh
    重新启动服务:
    ./start-all.sh

    最后出现:
    starting yarn daemons
    starting resourcemanager, logging to /root/cloud/hadoop-2.2.0/logs/yarn-root-resourcemanager-northbigpenguin.out
    localhost: starting nodemanager, logging to /root/cloud/hadoop-2.2.0/logs/yarn-root-nodemanager-northbigpenguin.out
    这样的字样就是配置成功

    7、验证是否启动成功
    (1)数据传输成功验证:
    使用jps命令验证
    目录/root/cloud/hadoop-2.2.0/sbin
    下输入:
    jps
    出现如下六个的文件为配置成功:
    27408 NameNode
    28218 Jps
    27643 SecondaryNameNode
    28066 NodeManager
    27803 ResourceManager
    27512 DataNode

    在主节点执行jps,看到3个进程,分别是NameNode、SecondaryNameNode、JobTracker
    在从节点执行jps,看到2个进程,分别是DataNode、TaskTracker
    (2)网页测试:
    在这个文件中添加linux主机名和IP的映射关系(本机windows系统下)
    C:WindowsSystem32driversetchosts
    192.168.1.110(LInux的IP地址) localhost(linux主机名)
    访问:northbigpenguin:50070 ((hdfs的web页面)
    northbigpenguin:8088 (MR管理界面)
    注意:
    页面访问:
    Live Nodes-->Browse the filesystem 需要配置本地连接否则会无法访问
    http://northbigpenguin:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/&nnaddr=localhostip:9000
    点击后跳转到这个界面

    页面数据测试:
    上传文件到hadoop (文件是临时的,服务器关闭,文件消失):
    hadoop fs -put /root/Download/jdk-6u45-linux-x64.bin hdfs://northbigpenguin:9000/jdk
    然后在界面可以看到:
    http://northbigpenguin:50075/browseDirectory.jsp
    命令行下载上传的文件:
    hadoop fs -get /root/Download/jdk-6u45-linux-x64.bin hdfs://northbigpenguin:9000/jdk
    运行实例
    (1)先在本地磁盘建立两个输入文件 file01和file02
    $echo "Hello World Bye World" > file01
    $echo "Hello Hadoop Goodbye Hadoop" > file02

    (2)在hdfs中建立一个input目录:$hadoop fs -mkdir input
    (3)将file01和file02拷贝到hdfs中:
    $hadoop fs -copyFromLocal /home/zhongping/file0* input
    (4)执行wordcount:
    $hadoop jar hadoop-0.20.2-examples.jar wordcount input output
    (5)完成之后,查看结果
    $hadoop fs -cat output/part-r-00000

    8、配置ssh免登陆
    基于 RedHat / CentOS 的系统 :
    下载安装(完成后会装在root目录下:执行命令ls -a查看隐藏文件.ssh):
    # yum install openssh-server openssh-clients
    #生成ssh免登陆密钥
    #进入到我的home目录
    cd ~/.ssh
    ssh-keygen -t rsa (四个回车)
    执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    将公钥拷贝到要免登陆的机器上
    cp id_rsa.pub authorized_keys或者ssh-copy-id northbigpenguin
    或者
    将公钥拷贝到要免登陆的机器上
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    登录本机不输密码
    ssh northbigpenguin

    退出登录
    exit

    查看公钥
    cat ~/.ssh

  • 相关阅读:
    【Java123】JDBC数据库连接池建立
    【招聘123】Some good open positions
    [Java123]Gradle
    4_3:流程控制:循环练习
    4_3:流程控制:while + do while + continue + break
    4_2:流程控制:[ for循环 ] + 断点调试
    4_1:流程控制:分支结构:[ if else ] + [ 三元表达式 ] + [ switch case ]
    3:运算符 + 运算符优先级 [ 逻辑短路 ]
    2_3:变量:[ 类型之间转换 ]
    2_2:变量:[ 五种简单数据类型 ]
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/6249124.html
Copyright © 2020-2023  润新知