Linux-Hadoop配置实现(笔记)

主机名 IP地址 安装的软件 运行的进程
Master 192.168.75.140 jdk,Hadoop, ,zookeeper namenode,resourcemanager,zkfc
Node2 192.168.75.128 jdk,Hadoop, ,zookeeper namenode, datanode,zkfc, journalnode
Slave1 192.168.75.141 jdk,Hadoop, ,zookeeper datanode,nodemanager,journalnode
Slave2 192.168.75.142 jdk,hadoop datanode,nodemanager,journalnode
Slave3 192.168.75.143 jdk,hadoop datanode,nodemanager,journalnode

NN DN ZK ZKFC JN RM DM
Master 1   1 1   1  
Node2 1 1 1 1 1   1
Slave1   1 1   1   1
Slave2   1     1   1
Slave3   1     1   1

实现
在Master上操作

  1. jdk的安装
    1.1、 解压jdk安装包到/home/Hadoop下
    tar –zxvf jdk*.tar.gz –C /home/hadoop
    1.2、配置环境变量 /etc/profile添加jdk环境变量
    Vi /etc/profile
    export JAVA_HOME=/usr/jdk1.7.0_79
    export JRE_HOME=/usr/jdk1.7.0_79/jre
    export CLASSPATH=.: C L A S S P A T H : CLASSPATH: CLASSPATH:JAVA_HOME/lib: J R E H O M E / l i b e x p o r t P A T H = JRE_HOME/lib export PATH= JREHOME/libexportPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin

source /etc/profile 使环境生效(root)

测试java –version
输出jdk的版本号

1.3、关闭防火墙(root)
Service iptable stop
Chkconfig iptables off

1.4、配置/etc/hosts文件,添加(root)
192.168.75.140 Master
192.168.75.128 node2
192.168.75.141 Slave1
192.168.75.142 Slave2
192.168.75.143 Slave3
1.5、vim /etc/sysconfig/selinux
将其中selinux=enforcing 改为selinux=disable
1.6、 修改主机名,修改/etc/sysconfig/network文件。
Vi /etc/sysconfig/network
HOSTNAME=Master

  1. Hadoop2.52安装(root)
    2.1 解压hadoop-2.5.2
    Tar –zxvf Hadoop-2.5.2-64x.tar.gz –C /home/hadoop
    2.2、配置环境变量 /etc/profile添加hadoop环境变量
    export HADOOP_HOME=/home/hadoop/hadoop-2.5.2
    export HADOOP_COMMON_HOME= H A D O O P H O M E e x p o r t H A D O O P H D F S H O M E = HADOOP_HOME export HADOOP_HDFS_HOME= HADOOPHOMEexportHADOOPHDFSHOME=HADOOP_HOME
    export HADOOP_MAPRED_HOME= H A D O O P H O M E e x p o r t H A D O O P Y A R N H O M E = HADOOP_HOME export HADOOP_YARN_HOME= HADOOPHOMEexportHADOOPYARNHOME=HADOOP_HOME
    export HADOOP_CONF_DIR= H A D O O P H O M E / e t c / h a d o o p e x p o r t C L A S S P A T H = . : HADOOP_HOME/etc/hadoop export CLASSPATH=.: HADOOPHOME/etc/hadoopexportCLASSPATH=.:JAVA_HOME/lib: H A D O O P H O M E / l i b : HADOOP_HOME/lib: HADOOPHOME/lib:CLASSPATH
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile 使环境变量生效

2.3、配置hadoop配置文件
Cd /home/Hadoop/Hadoop/etc/hadoop
2.3.1、更改hadoop-env.sh文件,改变下面的一句
Vi /home/Hadoop/Hadoop-2.5.2/etc/Hadoop/Hadoop-env.sh
export JAVA_HOME=/usr/jdk1.7.0_79
2.3.2、vi hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> dfs.nameservices mycluster dfs.ha.namenodes.mycluster nn1,nn2 dfs.namenode.rpc-address.mycluster.nn1 Master:8020 dfs.namenode.rpc-address.mycluster.nn2 node2:8020 dfs.namenode.http-address.mycluster.nn1 Master:50070 dfs.namenode.http-address.mycluster.nn2 node2:50070 dfs.namenode.shared.edits.dir qjournal://node2:8485;Slave1:8485;Slave2:8485/mycluster dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha. ConfiguredFailoverProxyProvider dfs.ha.fencing.methods sshfence dfs.ha.fencing.ssh.private-key-files /home/hadoop/.ssh/id_rsa dfs.ha.automatic-failover.enabled true

2.3.3 vi core-site.xml

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> fs.defaultFS hdfs://mycluster dfs.journalnode.edits.dir /home/hadoop/opt/journal/node/local/data ha.zookeeper.quorum Master:2181,node2:2181,Slave1:2181 hadoop.tmp.dir /home/hadoop/opt/hadoop2

3、zookeeper的安装配置
3.1、解压zookeeper压缩包到/home/Hadoop目录下
Tar –zxvf zookeeper*.tar.gz –C /home/Hadoop
3.2、配置zookeeper配置文件,添加下面几句
Vi /zookeeper/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/opt/zookeeper/data
dataLogDir=/home/hadoop/opt/zookeeper/log
clientPort=2181
server.1=Master:2888:3888
server.2=node2:2888:3888
server.3=Slave1:2888:3888

3.3、新建zookeeper的信息目录
Mkdir /home/Hadoop/opt
Mkdir /home/Hadoop/opt/zookeeper
Mkdir /home/Hadoop/opt/zookeeper/data
Mkdir /home/Hadoop/opt/zookeeper/log

3.4、新建myid文件
Vi /home/Hadoop/opt/zookeeper/myid
添加1
说明:在node2和Slave1中分别是2和3,一会会把/hom/Hadoop 整个文件拷贝到其他节点上。切记要改这个文件。

4、hive和hbase的安装
4.1、hive和hbase的解压
Tar –zxvf hive*.tar.gz –C /home/Hadoop
Tar –zxvf hbase*.tar.gz –C /home/Hadoop
4.2 hive和hbase的环境变量
Vi /etc/profile
添加下面几句

export HIVE_HOME=/home/Hadoop/hive
export HBASE_HOME=/home/Hadoop/hb
export PATH= H I V E H O M E / b i n : HIVE_HOME/bin: HIVEHOME/bin:HBASE_HOME/bin:$PATH

Source /etc/profile
4.3 hive的配置文件
4.3.1
Vi hive-site.xml

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> hive.metastore.warehouse.dir /user/hive/warehouse location of default database for the warehouse hive.querylog.location /usr/hadoop/hive/log Location of Hive run time structured log file hive.metastore.local true javax.jdo.option.ConnectionURL jdbc:mysql://192.168.75.140:3306/hive javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName hive javax.jdo.option.ConnectionPassword mysql 4.3.2 vi hive-env.sh 添加 export HADOOP_HEAPSIZE=1024 HADOOP_HOME=/home/hadoop/hadoop-2.5.2 export HIVE_CONF_DIR=${HIVE_HOME}/conf export HIVE_AUX_JARS_PATH=${HIVE_HOME}/lib

4.4 hbase的配置文件
4.4.1
Vi hbase-site.xml

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> hbase.rootdir hdfs://Master:9000/hbase hbase.cluster.distributed true hbase.master hdfs://Master:60000 hbase.zookeeper.quorum Master,node2,slave1 4.4.2、在hbase/conf下 Vi regionservers

添加(zookeeper的集群)
Master
node2
Slave1

4.5 安装mysql
使用yum 安装
安装完成,新建hive数据库,给这个数据库授权,远程登陆,用户名hive密码mysql

5、实现ssh无密码通信,拷贝到其他节点
做完所有操作,把/home/hadoop这个文件夹的所有权变成hadoop用户组(root)
Chown –r Hadoop:Hadoop /home/hadoop

5.1克隆Master虚拟机,一共5台
5.1.1、修改/etc/sysconfig/network-scripts/ifcfg-eth0更改ip地址和mac地址
5.1.2 修改/etc/sysconfig/network文件。
Vi /etc/sysconfig/network
HOSTNAME=Slave1
5.1.3编辑/etc/udev/rules.d/70-persistent-net.rules文件,
把eth0注释(加#)把eth1改成eth0,重新启动网卡服务
Service network restart
5.1.4、修改hadoop用户的描述为Slave1
Usermod –c Slave1 hadoop
重新启动 reboot
记得修改其他节点的zookeeper的myid(node2和Slave1)
5.2 实现节点(以Master和 node2)之间无密码通讯,(hadoop)
5.2.1.在Master上,用hadoop用户,启动无密码操作
Ssh-keygen –t rsa
直接3个回车;去/home/Hadoop/.ssh下查看生成是文件一共两个。
5.2.2.将公钥追加到authorized_keys中。
cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop /.ssh/authorized_keys
再次查看.ssh下文件多了一个
5.2.3、修改authorized_keys的权限
Chmod 600 authorized_keys
查看权限ll /home/Hadoop/.ssh
5.2.4、修改配置文件(root)
Vi /etc/ssh/sshd_config
找到authorized_keysFile .ssh/authorized_keys这行,把这行(算这行)往上的3行的注释去掉
重启sshd服务 service sshd restart
5.2.5、两节点之间无密码通信
Scp /home/Hadoop/.ssh/id_rsa.pub Hadoop@node2:~/
由于第一次,没有实现无密码通信,需要是输入node2的密码。
在noe2上,
cat /home/hadoop/id_rsa.pub >> /home/hadoop /.ssh/authorized_keys
同样在node2上进行5.2.1-5.2.5步骤
5.2.6、测试
在Master登陆node2
Ssh node2
登陆成功表示可以,在其他几个节点进行以上操作。

6、启动HA(hadoop)
所有的节点可以实现无密码的自由登陆,
把Master下/home/Hadoop文件复制到其他节点上
Scp –r /home/Hadoop Hadoop@node2:/home/
6.1 启动zookeeper(Master node2,Slave1)
zkServer.sh start
zkServer.sh status
检查zookeeper启动状态,其中一个leader,两个follower
6.2格式或zkfc(Maser)
hdfs zkfc -formatZK
6.3启动zkfc(mastr nnode2)
hadoop-daemon.sh start zkfc

6.4 启动journalnode(node2,Slave1, Slave2, Slave3)
hdfs-daemon.sh journalnode start
6.5 格式化namenode(master)
hdfs namenode -format
6.6 启动namenode(master)
hadoop-daemon.sh start namenode
6.7同步数据(node2)
hdfs namenode –bootstrapStandby
6.8 启动其他的节点
Start-all.sh
7.测试
打开浏览器输入,Master:50020和node2:50020
停掉Master的namenode,
Hadoop-daemon.sh stop namenode
检查node2:50020的standby变成了ative

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值