(Hadoop3)完全分布式配置文件

hdfs

vi hadoop.env.sh

export JAVA_HOME=/opt/jdk1.8

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

vi core.site.xml

<configuration>
 	<!-- 设置主节点 -->
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://master:8020</value>
        </property>
        <!-- 设置data存放路径 -->
        <property>
              <name>hadoop.data.dir</name>
              <value>/opt/data/hadoop/data</value>
         </property>
         <!-- 设置静态访问用户为root -->
        <property>
              <name>hadoop.http.staticuser.user</name>
              <value>root</value>
        </property>


        <!--兼容性配置 -->
        <!--配置superUser允许通过代理访问主机 -->
        <property>
              <name>hadoop.proxyuser.atguigu.hosts</name>
              <value>*</value>
        </property>
        <!--配置superUser允许通过代理的用户组 -->
        <property>
              <name>hadoop.proxyuser.atguigu.groups</name>
              <value>*</value>
        </property>
        <!--配置superUser允许通过代理的用户 -->
        <property>
              <name>hadoop.proxyuser.atguigu.users</name>
              <value>*</value>
        </property>
</configuration>

vi hdfs.site.xml

<configuration>
        <!-- 指定副本数 -->
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>

        <!-- 指定NameNode数据存储目录 -->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file://${hadoop.data.dir}/name</value>
        </property>

        <!-- 指定DataNode数据存储目录 -->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file://${hadoop.data.dir}/data</value>
        </property>

        <!-- 指定SecondaryNameNode数据存储目录 -->
        <property>
                <name>dfs.namenode.checkpoint.dir</name>
                <value>file://${hadoop.data.dir}/namesecondary</value>
        </property>

        <!-- 兼容 -->
        <property>
                <name>dfs.client.datanode-restart.timeout</name>
                <value>30s</value>
        </property>
        <!-- nn web 访问地址 -->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>master:9870</value>
        </property>
		<!-- 2nn web 访问地址 -->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>slave1:9868</value>
        </property>
</configuration>

yarn

vi yarn-site.xml

<configuration>
        <!-- 指定shuffle方式 -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <!-- 指定ResourceManager地址 -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <!-- 环境变继承 -->
        <property>
                <name>yarn.nodemanager.env-whitelist</name>
                <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
        </property>
        <!-- 取消虚拟内存限制 -->
        <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
        </property>
</configuration>

vi mapred.site.xml

<configuration>
	<!-- 指定MapReduce运行在yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

Hadoop端口号总结

  1. NameNode内部通信:8020
  2. NameNode web端:9870
  3. 2NN web端:9868
  4. ResourceManager web端:8088
  5. 历史服务器 web端:19888

mysql

安装

yum -y install libaio

在这里插入图片描述

初始化配置

  1. 查看 /etc/my.cnf 中datadir=/var/lib/mysql位置文件,将datadir=/var/lib/mysql存在文件删除rm -rf ./*
    在这里插入图片描述

  2. 初始化

mysqld --initialize --user=mysql
  1. 查看临时生成的root临时密码
cat /var/log/mysqld.log | grep password

在这里插入图片描述

  1. 启动mysql
systemctl start mysqld
systemctl status mysqld  #查看状态

注 若发生 ‘ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)’ 重启mysql服务

systemctl restart mysqld
  1. 连接mysql
mysql -uroot -p
Enter password: 密码
  1. 修改密码
set password = password('root');

mysql远程连接

  1. 在mysql数据库下

在这里插入图片描述

update user set host='%' where user='root';

在这里插入图片描述
刷新权限

flush privileges;

Hive配置安装

解压配置环境变量

export HIVE_HOME=/opt/hive3.1

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

source /etc/profile

在这里插入图片描述
或者改名mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak

将hive元数据配置到mysql

  1. 移动mysql驱动到hive/lib
    在这里插入图片描述
  2. 在hive/conf中创建hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
</configuration>

        <property>
                 <name>javax.jdo.option.ConnectionURL</name>
                 <value>jdbc:mysql://master:3306/metastore?useSSL=false</value>
        </property>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>        </property>
        <property>                <name>javax.jdo.option.ConnectionPassword</name>
                <value>root</value>
        </property>
         <property>
                <name>hive.metastore.warehoues.dir</name>
                <value>/user/hive/warehouse</value>
        </property>
         <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>
         <property>
                <name>hive.metastore.uris</name>
                <value>thrift://master:9083</value>        </property>
        <property>
                <name>hive.server2.thrift.port</name>
                <value>10000</value>
        </property>

        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>master</value>
        </property>
         <property>
                <name>hive.metastore.event.db.notification.api.auth</name>
                <value>false</value>
        </property>
</configuration>

初始化hive元数据库

  1. 登录mysql
  2. 创建metastore数据库
mysql -uroot-proot
create database metastore;
  1. 初始化
schematool -initSchema -dbType mysql -verbose
  1. 成功

在这里插入图片描述

启动

  1. 启动hadoop集群
start-all.sh
  1. 启动hive
hive --service metastore
打开新窗口
hive --service hiveserver2
打开新窗口
  1. 阻塞后 打开新连接jps
    在这里插入图片描述
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.1.0 子网掩码:255.255.255.0 -> apply -> ok 回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.1.100 子网掩码:255.255.255.0 -> 点击确定 在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok 1.1修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=itcast ### 1.2修改IP 两种方式: 第一种:通过Linux图形界面进行修改(强烈推荐) 进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply 第二种:修改配置文件方式(屌丝程序猿专用) vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="static" ### HWADDR="00:0C:29:3C:BF:E7" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c" IPADDR="192.168.1.101" ### NETMASK="255.255.255.0" ### GATEWAY="192.168.1.1" ### 1.3修改主机名和IP的映射关系 vim /etc/hosts 192.168.1.101 itcast 1.4关闭防火墙 #查看防火墙状态 service iptables status #关闭防火墙 service iptables stop #查看防火墙开机启动状态 chkconfig iptables --list #关闭防火墙开机启动 chkconfig iptables off 1.5重启Linux reboot 2.安装JDK 2.1上传alt+p 后出现sftp窗口,然后put d:\xxx\yy\ll\jdk-7u_65-i585.tar.gz 2.2解压jdk #创建文件夹 mkdir /home/hadoop/app #解压 tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app 2.3将java添加到环境变量中 vim /etc/profile #在文件最后添加 export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585 export PATH=$PATH:$JAVA_HOME/bin #刷新配置 source /etc/profile 3.安装hadoop2.4.1 先上传hadoop的安装包到服务器上去/home/hadoop/ 注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop分布式需要修改5个配置文件 3.1配置hadoop 第一个:hadoop-env.sh vim hadoop-env.sh #第27行 export JAVA_HOME=/usr/java/jdk1.7.0_65 第二个:core-site.xml <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --> fs.defaultFS hdfs://weekend-1206-01:9000 <!-- 指定hadoop运行时产生文件的存储目录 --> hadoop.tmp.dir /home/hadoop/hadoop-2.4.1/tmp 第三个:hdfs-site.xml hdfs-default.xml (3) <!-- 指定HDFS副本的数量 --> dfs.replication 1 第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml) mv mapred-site.xml.template mapred-site.xml vim mapred-site.xml <!-- 指定mr运行在yarn上 --> mapreduce.framework.name yarn 第五个:yarn-site.xml <!-- 指定YARN的老大(ResourceManager)的地址 --> yarn.resourcemanager.hostname weekend-1206-01 <!-- reducer获取数据的方式 --> yarn.nodemanager.aux-services mapreduce_shuffle 3.2将hadoop添加到环境变量 vim /etc/proflie export JAVA_HOME=/usr/java/jdk1.7.0_65 export HADOOP_HOME=/itcast/hadoop-2.4.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile 3.3格式化namenode(是对namenode进行初始化) hdfs namenode -format (hadoop namenode -format) 3.4启动hadoop 先启动HDFS sbin/start-dfs.sh 再启动YARN sbin/start-yarn.sh 3.5验证是否启动成功 使用jps命令验证 27408 NameNode 28218 Jps 27643 SecondaryNameNode 28066 NodeManager 27803 ResourceManager 27512 DataNode http://192.168.1.101:50070 (HDFS管理界面) http://192.168.1.101:8088 (MR管理界面) 4.配置ssh免登陆 #生成ssh免登陆密钥 #进入到我的home目录 cd ~/.ssh ssh-keygen -t rsa (四个回车) 执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷贝到要免登陆的机器上 ssh-copy-id localhost

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值