设为首页 收藏本站
查看: 1212|回复: 0

[经验分享] Hadoop 1.0安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-5 07:19:54 | 显示全部楼层 |阅读模式
1部署介绍
1.1环境说明
         集群中包括4个节点:1Master3Salve,节点之间局域网连接,可以相互ping通。节点IP地址分布如下:

机器名称

IP地址

Master
192.168.1.2
Salve1
192.168.1.3 
Salve2 
192.168.1.4 
Salve3
192.168.1.5 

Master机器主要配置NameNodeJobTracker的角色,负责总管分布式数据和分解任务的执行;3Salve机器配置DataNodeTaskTracker的角色,负责分布式数据存储以及任务的执行。
1.2网络配置
1)查看当前机器名称
用下面命令进行显示机器名称,如果跟规划的不一致,要按照下面进行修改。
hostname
2)修改机器名
1. 打开/etc/hostname文件;
 
sudo gedit /etc/hostname
 
2. /etc/hostname文件中的ubuntu改为你想取的机器名。重启系统后才会生效。
3)配置hosts文件(必须)
"/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应[HostNameIP]用的。当用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。
sudo gedit /etc/hosts
2.创建hadoop用户组和用户
2.1. 创建hadoop用户组;
sudo addgroup hadoop
2.2. 创建hadoop用户;
sudo adduser -ingroup hadoop hadoop
2.3. hadoop用户添加权限;
sudo gedit /etc/sudoers
 
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。
root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL
3. SSH无密码验证配置
3.1安装SSH
sudo apt-get install ssh安装SSH协议
sudo apt-get install rsync rsync是一个远程数据同步工具)
3.2配置节点间无密码登录
1、转换成hadoop用户
su hadoop
2、生成无密码密钥对
ssh-keygen –t rsa –P “”
3、把id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4修改文件"authorized_keys"权限
chmod 600 ~/.ssh/authorized_keys
5、用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
 
6、退出root登录,使用hadoop普通用户验证是否成功。
 ssh localhost
7、接下来的事儿是把公钥复制所有需要无密码访问的机器上。使用下面的命令格式进行复制公钥:
 scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
8、然后将公钥追加到该节点的授权文件"authorized_keys"中去
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
9最后记得把"/home/hadoop/"目录下的"id_rsa.pub"文件删除掉。
rm –r ~/id_rsa.pub
4Java环境安装
所有的机器上都要安装JDK,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。安装JDK以及配置环境变量,需要以"root"的身份进行。
4.1安装jdk
1首先用root身份登录"Master.Hadoop"后在"/usr"下创建"java"文件夹
mkdir /usr/java
2、把相应的安装包复制到/usr/java目录下
cp /home/hadoop/ jdk-6u31-linux-i586.bin /usr/java
3、接着进入"/usr/java"目录通过下面命令使其JDK获得可执行权限,并安装JDK
chmod   +x   jdk-6u31-linux-i586.bin(修改权限)
./jdk-6u31-linux-i586.bin(运行)
4、该过程可以直接下载jdk*.tar.gz包解压之后移动到/usr/java目录下,然后修改所属用户和组。
chown -R root:root  /usr/java
4.2配置环境变量
编辑"/etc/profile"文件,在后面添加Java"JAVA_HOME""CLASSPATH"以及"PATH"内容。
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
 
4.3生效并验证
source /etc/profile
java -version
5 hadoop集群安装
5.1安装hadoop
1、下载hadoop并解压,然后将解压后的文件夹移动到合适的目录下,并把读权限分配给hadoop用户(非常重要
 
chown –R hadoop:hadoop hadoop-1.2.1
 
2Hadoop的安装路径添加到"/etc/profile"中,修改"/etc/profile"文件(配置java环境变量的文件),将以下语句添加到末尾,并使其有效:
# set hadoop path
export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_HOME=#####
export PATH=$PATH :$HADOOP_HOME/bin
5.2配置hadoop
  1)配置hadoop-env.sh
"hadoop-env.sh"文件位于"~/conf"目录下。
export JAVA_HOME=/usr/java/jdk1.6.0_31
  2)配置core-site.xml文件
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>$HADOOP_HOME/tmp</value>
        备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)
        <description>A base for other temporary directories.</description>
    </property>
<!-- file system properties -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://192.168.1.2:9000</value>
    </property>
</configuration>
  3)配置hdfs-site.xml文件
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        (备注:replication 是数据副本数量,默认为3salve少于3台就会报错)
    </property>
<configuration>
  4)配置mapred-site.xml文件
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>http://192.168.1.2:9001</value>
    </property>
</configuration>
  5)配置masters文件
去掉"localhost",加入Master机器的IP192.168.1.
sudo gedit masters
  6)配置slaves文件(Master主机特有
去掉"localhost",加入集群中所有Slave机器的IP,也是每行一个。
sudo gedit slaves
  7)克隆hadoop
Master上配置好的hadoop所在文件夹复制到所有的Slave的对应目录下(实际上Slave机器上的slavers文件是不必要的,复制了也没问题)。(备注:此时用户可以为hadoop也可以为root),修改权限,配置/etc/profile
5.3启动
  1)格式化HDFS文件系统
  在"Master "上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化,只需 start-all.sh
 hadoop namenode –format
  2)启动hadoop
start-all.sh
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-309642-1-1.html 上篇帖子: Hadoop 集群基准测试 下篇帖子: Hadoop第一步:部署分布式服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表