安装hadoop集群和zookeeper

打开虚拟机后 centos环境配置后
重启网络
systemctl restart network
关闭防火墙
systemctl stop firewalld
禁用防火墙,下次开机启动后防火墙服务不再启动
systemctl disable firewalld
开启免密登陆,最好在主目录下,免密方便hadoop运行
生成秘钥: ssh-keygen -t rsa -P “”
存储密钥,>> 追加,> 覆盖
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
开启远程免密登录配置(建立集群时使用)
ssh-copy-id -i .ssh/id_rsa.pub -p22 [email protected]
远程登录测试,能登陆即成功,退出登陆输入exit
ssh [email protected]
往远程服务器拷贝文件
scp /etc/hosts [email protected]:/etc/
配置主机名
vi /etc/hostname打开后修改主机名hadoop101
hostnamectl set-hostname hadoop101 # 使用这个命令会使更改立即生效
hostname #查看主机名
在这里插入图片描述
编辑hosts文件,添加hostname,这里准备搭建3台,提前将地址和主机名填好
打开文件命令 vi /etc/hosts
安装hadoop集群和zookeeper_第1张图片
安装JDK,配置环境变量
解压opt目录下

tar -zxf jdk-8u221-linux-x64.tar.gz -C /opt/

为了方便使用,在opt目录下对其改名为jdk8

 mv jdk1.8.0_221/ jdk8

配置jdk环境变量
打开配置文件

vi /etc/profile

文件中添加

export JAVA_HOME=/opt/jdk8
export JRE_HOME=/opt/jdk8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

更改后source /etc/profile ,并输入java -versionjavac查看是否配置成功,
成功结果
安装hadoop集群和zookeeper_第2张图片 安装和配置Hadoop
解压到opt目录,并更改名字,由于下载的的hadoop2.6.0版本缺少个包,手动添加了一下

 tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/
 mv hadoop-2.6.0-cdh5.14.2/ hadoop

手动添加缺少包,直接解压到对应目录下,由于不确定,就在两个目录下都添加了一下

tar -xf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/native/
tar -xf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/

配置hadoop文件夹中 etc/hadoop目录下的文件

hadoop-env.sh中更改
将此处更改为自己jdk的地址

# The java implementation to use.
export JAVA_HOME=/opt/jdk8

core-site.xml中对应位置添加



  fs.defaultFS</name>
  hdfs://192.168.73.21:9000</value>
</property>

   hadoop.tmp.dir</name>
   /opt/hadoop/tmp</value>
   #hadoop中的临时文件夹,它会根据填的地址自己创建
</property>

   hadoop.proxyuser.root.hosts</name>
   *</value>
 </property>

   hadoop.proxyuser.root.groups</name>
   *</value>
 </property>
</configuration>

mapred-site.xml.template中对应位置添加



        mapreduce.framework.name</name>
        yarn</value>
</property>

        mapreduce.jobhistory.address</name>
        192.168.73.21:10020</value>
</property>

        mapreduce.jobhistory.webapp.address</name>
        192.168.73.21:19888</value>
</property>
</configuration>

hdfs-site.xml中对应位置添加



  dfs.replication</name>
  1</value>
  #集群中主机个数
</property>

  dfs.namenode.secondary.http-address</name>
  192.168.73.21:50090</value>
  #主节点助手地址,这里因为只创建了一个主机先使用本机,搭建集群时最好更改为其它
</property>
</configuration>

yarn-site.xml中对应位置添加



<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据方式 -->

    yarn.nodemanager.aux-services</name>
    mapreduce_shuffle</value>
</property>

    yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->

    yarn.resourcemanager.hostname</name>
    hadoop101</value>
</property>
<!-- 日志聚集功能使用 -->

    yarn.log-aggregation-enable</name>
    true</value>
</property>
<!-- 日志保留时间设置7天 -->

    yarn.log-aggregation.retain-seconds</name>
    604800</value>
</property>
</configuration>

slaves中添加要搭建集群的各个主机名
安装hadoop集群和zookeeper_第3张图片

Hadoop环境变量配置

打开配置文件

vi /etc/profile
export HADOOP_HOME=/opt/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

保存配置更改

source /etc/profile

格式化HDFS

hadoop namenode -format

安装hadoop集群和zookeeper_第4张图片
启动hadoop,start-all.sh 启动后输入jps查看
安装hadoop集群和zookeeper_第5张图片
出现这6个,单个hadoop安装成功

安装zookeeper

解压到opt文件夹中,并改名为zookpr方便使用。
编辑zookpr文件夹内conf内的zoo.cfg文件,配置里面的server是zookeeper服务器的主机名

# The number of milliseconds of each tick
tickTime=2000
maxClientCnxns=0
# The number of ticks that the initial
# synchronization phase can take
initLimit=50
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/hadoop/zookperdata
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888

在hadoop文件夹内创建zoopkperdata文件夹,即上面配置zoo.cfg文件中dataDir的地址,在文件内vi myid,填入里面内容是该节点对应的server号,与zoo.cfg文件中对应。如本机为hadoop101,里面内容则填1。
启动zookeeper
在各zookeeper节点上运行zkServer.sh start。这里先不急着测试,在hadoop集群搭建好后再使用

cd /opt/zookpr
#进入zookeeper文件夹内
./bin/zkServer.sh start
#启动命令
tail zookeeper.out

复制虚拟机,搭建hadoop集群

首先将虚拟机关闭 ,点击克隆
安装hadoop集群和zookeeper_第6张图片
安装hadoop集群和zookeeper_第7张图片
克隆成功后不急的打开虚拟机,先重新生成MAC 地址,两个网络适配器都要重新生成,每个复制的虚拟机也都需要如此操作
重新生成后,启动虚拟机,登陆后输入vi /etc/sysconfig/network-scripts/ifcfg-ens33更改主机地址,修改IPADDR。
修改主机名,与上面配置主机名操作一样,记得使用命令使其立即生效。
修改/opt/hadoop/conf/hadoop/中配置文件hdfs-site.xml,里面备注的地方即为修改的地方,修改时三个虚拟机都要更改,保证三台虚拟机配置一样



  dfs.replication</name>
  3</value>
  #集群中主机个数
</property>

  dfs.namenode.secondary.http-address</name>
  192.168.73.22:50090</value>
  #备用节点地址,这里因为只创建了一个主机先使用本机,搭建集群时最好更改为其它
</property>
</configuration>

修改完hadoop的配置文件,在修改zookeeper,它是修改hadoop中zookprdata文件夹中的myid文件,按照上面说的更改即可。配置完后先删除hadoop文件中的临时文件,即hadoop文件夹中的tmp文件夹rm -rf tmp/。主机启动hadoop,其他两台不需要启动,zookeeper三台虚拟机都要开启,启动后jps出现如图中的QuorumPeerMain即为成功。
安装hadoop集群和zookeeper_第8张图片

你可能感兴趣的:(hadoop)