logo资料库

hadoop2.6 centos6.5 伪分布式环境部署 实例.docx

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
Hadoop学习
一、CentOS 6.5 配置hadoop 2.6.0伪分布式
1.关闭防火墙
2.关闭SELinux
3.配置ip
4.修改主机名
5.主机和ip地址对应(必须配置否则报错)
6.创建用户组和用户
7.配置java环境
8.安装ssh
9.配置ssh无密码登录
10.安装hadoop
linux学习
配置环境
1.配置java环境变量
2.CentOS下添加Root权限用户(超级用户)方法
3.配置ip
4.修改主机名
5.主机和ip地址对应
6.关闭防火墙
7.关闭SELinux
Hadoop 学习 一、 CentOS 6.5 配置 hadoop 2.6.0 伪分布式 注:步骤顺序尽量不要乱 1. 关闭防火墙 2. 关闭 SELinux 3. 配置 ip 4. 修改主机名 5. 主机和 ip 地址对应(必须配置否则报错) 6. 创建用户组和用户 使用 su 命令切换用户为 root。 groupadd hadoop useradd -g hadoop hadoop passwd hadoop #为用户添加密码 可以不设置密码 7. 配置 java 环境 Java 环境:jdk1.7.0_75(hadoop-2.6.0.tar.gz) 使用命令使配置立即生效,避免重启:source /etc/profile 8. 安装 ssh rpm -qa |grep ssh #检查是否装了 SSH 包 (如果安装了下面不用执行) yum install openssh-server chkconfig --list sshd #检查 SSHD 是否设置为开机启动 chkconfig --level 2345 sshd on #如果没设置启动就设置下. service sshd restart # 安装 ssh #重新启动
9. 配置 ssh 无密码登录 切换至 hadoop 用户 su hadoop 生成密钥 ssh-keygen -t rsa -P "" #秘钥为空字符串 执行后会在.ssh 目录下生成 id_rsa 和 id_rsa.pub 两个文件 进入.ssh 目录,并将 id_rsa.pub 追加到 authorized_keys 文件中 cd ~/.ssh/ cp ~/.ssh/id_rsa.pub chmod 644 authorized_keys # 修改用户权限 ~/.ssh/authorized (cat id_rsa.pub >> authorized_keys) 测试是否可以登录 ssh localhost# 执行后会提示输入 yes or no. 输入 yes 后 如果提示为最后一次登 录时间 则表明成功。 ssh hadoop-master# 执行后会提示输入 yes or no. 输入 yes 后 如果提示为最后 一次登 10.安装 hadoop 1) 将下载的 hadoop 解压并移动到期望的安装目录,修改其访问权限 tar -xvf hadoop-2.6.0.tar.gz mv hadoop-2.6.0 /usr/opt/hadoop chmod -R 775 /usr/opt/hadoop chown -R hadoop:hadoop /usr/opt/hadoop 2) 配置 hadoop 的环境变量(所有的环境变量都是必须的) su vim /etc/profile export HADOOP_INSTALL=/opt/modules/hadoop export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin${PATH} export HADOOP_MAPRED_HOME=${HADOOP_INSTALL} export HADOOP_COMMON_HOME=${HADOOP_INSTALL} export HADOOP_HDFS_HOME=${HADOOP_INSTALL} export YARN_HOME=${HADOOP_INSTALLL} export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_INSTALL}/lib/natvie export HADOOP_OPTS="-Djava.library.path=${HADOOP_INSTALL}/lib:${HADOOP_INSTALL}/lib/ native" 3) 设置 hadoop-env.sh 中的 java 环境变量 cd /opt/modules/hadoop vim ./etc/hadoop/hadoop-env.sh 4) 配置伪分布式 hadoop 的配置文件主要有 core-site.xml 、 hdfs-site.xml 、 yarn-site.xml 三个 文件。
cd /opt/modules/hadoop/etc/hadoop/ vim core-site.xml hadoop.tmp.dir /opt/modules/hadoop/tmp fs.defaultFS hdfs://hadoop-master:9000 vim hdfs-site.xml dfs.replication 1 dfs.namenode.name.dir file:/opt/modules/hadoop/dfs/name dfs.datanode.data.dir file:/opt/modules/hadoop/dfs/data <!--这个属性节点是为了防止后面 eclipse 存在 拒绝读写设置的 --> dfs.permissions false vim yarn-site.xml mapreduce.framework.name yarn
yarn.nodemanager.aux-services mapreduce_shuffle 接下来创建需要的文件夹 cd /opt/modules/hadoop/ mkdir tmp dfs dfs/name dfs/data 运行 首先格式化文件系统 bin/hdfs namenode –format 启动 sbin/start-dfs.sh sbin/start-yarn.sh 提示如下则表明成功了 Starting namenodes on [localhost] localhost: starting namenode, /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-namenode-.out localhost: starting datanode, /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-datanode-.out Starting secondary namenodes [0.0.0.0] logging logging starting logging 05.0.0.0.0: /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-secondarynamenode-.out 查看: http://hadoop-master:50070 secondarynamenode, to to to linux 学习 配置环境 1. 配置 java 环境变量 一. 解压安装 jdk 安装方式:在 shell 终端下进入 jdk-6u14-linux-i586.bin 文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意
的时候,输入 yes,回车。之后会在当前目录下生成一个 jdk1.6.0_14 目录,你可以将它 复制到 任何一个目录下。 配置方式(推荐):在 shell 终端下,执行命令直接解压缩即可。 tar -zxvf jdk-7u75-linux-x64.tar.gz 二. 需要配置的环境变量 1. PATH 环境变量。作用是指定命令搜索路径,在 shell 下面执行命令时,它会到 PATH 变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk 安装目录下的 bin 目 录 增加 到 现 有 的 PATH 变 量 中,bin 目 录 中包 含 经 常 要用 到 的 可 执行 文 件 如 javac/java/javadoc 等待,设置好 PATH 变量后,就可以在任何目录下执行 javac/java 等 工具了。 2. CLASSPATH 环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是 能够找到它们了,JVM 就是通过 CLASSPTH 来寻找类的。我们 需要把 jdk 安装目录下的 lib 子目录中的 dt.jar 和 tools.jar 设置到 CLASSPATH 中,当然,当前目录“.”也必须加入 到该变量中。 3. JAVA_HOME 环境变量。它指向 jdk 的安装目录,Eclipse/NetBeans/Tomcat 等软件就是 通过搜索 JAVA_HOME 变量来找到并使用安装好的 jdk。 三. 三种配置环境变量的方法 1. 修改/etc/profile 文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的 shell 都有权 使用这些环境变量,可能会给系统带来安全性问题。 ·用文本编辑器打开/etc/profile ·在 profile 文件末尾加入: export JAVA_HOME=/opt/modules/jdk7 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ·重新登录 ·注解 a. 你要将 /usr/share/jdk1.6.0_14 改为你的 jdk 安装目录 b. linux 下用冒号“:”来分隔路径 c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值 在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种 常见的错误。 d. CLASSPATH 中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 e. export 是把这三个变量导出为全局变量。 f. 大小写必须严格区分。 2. 修改.bash_profile 文件 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给 某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile 文 件就可以了。 ·用文本编辑器打开用户目录下的.bash_profile 文件
·在.bash_profile 文件末尾加入: export JAVA_HOME=/usr/share/jdk1.6.0_14 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ·重新登录 3. 直接在 shell 下设置变量 不赞成使用这种方法,因为换个 shell,你的设置就无效了,因此这种方法仅仅是临时 使用,以后要使用的时候又要重新设置,比较麻烦。 只需在 shell 终端执行下列命令: export JAVA_HOME=/usr/share/jdk1.6.0_14 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 四. 测试 jdk 1. 用文本编辑器新建一个 Test.java 文件,在其中输入以下代码并保存: public class test { public static void main(String args[]) { System.out.println("A new jdk test !"); } } 2. 编译:在 shell 终端执行命令 javac Test.java 3. 运行:在 shell 终端执行命令 java Test 当 shell 下出现“A new jdk test !”字样则 jdk 运行正常。 五. 卸载 jdk ·找到 jdk 安装目录的_uninst 子目录 ·在 shell 终端执行命令./uninstall.sh 即可卸载 jdk。 2. CentOS 下添加 Root 权限用户(超级用户)方法 //添加一个名为 chenjiafa 的用户 //修改密码 1、添加普通用户 [root@server ~]# useradd chenjiafa [root@server ~]# passwd chenjiafa Changing password for user chenjiafa. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully 2、赋予 root 权限 方法 1):修改/etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉 //在这里输入新密码 //再次输入新密码
然后修改用户,使其属于 root 组(wheel),命令如下: [root@server ~]# usermod -g root chenjiafa 修改完毕,用 chenjiafa 帐号登录,然后用命令 su –切换,即可获得 root 权限进行操 作。 方法 2)(推荐):修改/etc/sudoers 文件,找到下面一行,在 root 下面添加一行,如下 所示: 修改完毕,用 chenjiafa 帐号登录,然后用命令 su –,即可获得 root 权限进行操作。 方法 3):修改/etc/passwd 文件,找到如下行,把用户 ID 修改为 0,如下所示: 修改后保存,用 chenjiafa 账户登录后,直接获取的就是 root 帐号的权限。 ========================================================================== [su 命令详解] 这个命令非常重要,它可以使一个一般用户拥有超级用户或其他用户的权限,也可以使 超级用户以一般用户的身分做些事情。但一般用户使用该命令时必须有超级用户或其他 用户的口令。如果要退出当前用户的登陆,可以输入 exit。 1.作用 su 的作用是变更为其它使用者的身份,需要键入该使用者的密码(超级用户除外)。 2.格式 su [选项]… [-] [USER [ARG]…] 3.主要参数 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于 csh 或 tcsh 两种 Shell。 -l , –login:加了这个参数之后,就似乎是重新登陆为该使用者一样,大部分环境变 量(例如 HOME、SHELL 和 USER 等)都是以该使用者(USER)为主,并且工作目录也 会改变。假如没有指定 USER,缺省情况是 root。 -m, -p ,–preserve-environment:执行 su 时不改变环境变数。 -c command:变更账号为 USER 的使用者,并执行指令(command)后再变回原来使用 者。 USER:欲变更的使用者账号,ARG 传入新的 Shell 参数。 4.应用实例
变更账号为超级用户,并在执行 df 命令后还原使用者。 su -c df root [sudo 命令详解] 功能说明:以其他身份来执行指令。 语 法:sudo [-bhHpV][-s ][-u <用户>][指令] 或 sudo [-klv] 补充说明:sudo 可让用户以其他的身份来执行指定的指令,预设的身份为 root。在 /etc/sudoers 中设置了可执行 sudo 指令的用户。若其未经授权的用户企图使用 sudo, 则会发出警告的邮件给管理员。用户使用 sudo 时,必须先输入密码,之后有 5 分钟的 有效期限,超过期限则必须重新输入密码。 数: 参 -b 在后台执行指令。 -h 显示帮助。 -H 将 HOME 环境变量设为新身份的 HOME 环境变量。 -k 结束密码的有效期限,也就是下次再执行 sudo 时便需要输入密码。 -l 列出目前用户可执行与无法执行的指令。 -p 改变询问密码的提示符号。 -s 执行指定的 shell。 -u<用户> 以指定的用户作为新的身份。若不加上此参数,则预设以 root 作为新的身 份。 -v 延长密码有效期限 5 分钟。 -V 显示版本信息。
分享到:
收藏