天天看點

hadoop生态的配置hadoop生态的配置

hadoop生态的配置

1.linux端

1.1 網絡設定

  • 網關
  • 子網路遮罩
  • 網段
  • IP
  • 網絡設定 vi /etc/sysconfig/network-scripts/ifcfig-ens33 配置完輸入ip addr測試
  • 修改主機名和域名 etc/hosts
  • 關閉并禁用windows和linux防火牆
  • 配置秘鑰
  • 修改各自ip和主機名 此操作在克隆叢集機器後修改
  • 防火牆設定

    systemctl stop firewalld 停止

    systemctl disable firewalld 禁用

    systemctl status firewalld 檢視狀态*

  • 設定windows端的主機名映射 C:\Windows\System32\drivers\etc下的hosts檔案
    hadoop生态的配置hadoop生态的配置

1.2 軟體安裝

  • 安裝檢視網絡服務指令 yum -y install net-tools
  • 查找上傳軟體 yum list | grep rz 并安裝
  • 時間同步指令
  • 安裝mysql

yum -y install ntpdate.x86_64

ntpdate 0.asia.pool.ntp.org

2. hadoop生态的軟體安裝與環境變量的配置

![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/20201004105446554.png#pic_center

2.1 HDFS 分布式檔案系統 MapReduce 運算架構大資料集并行運算 Yarn 給分布式運算架構進行資源的排程和任務監控

2.1.1 vi hadoop-env.sh

export JAVA_HOME=/opt/apps/jdk1.8.0_261

2.1.2 vi hadoop-site.xml

<configuration>
   <!-- 叢集的namenode的位置  datanode能通過這個位址注冊-->
	<property>
	     <name>dfs.namenode.rpc-address</name>
		 <value>linux01:8020</value>
	</property>
	 <!-- namenode存儲中繼資料的位置 -->
	<property>
	     <name>dfs.namenode.name.dir</name>
		 <value>/opt/hdpdata/name</value>
	</property>
	 <!-- datanode存儲資料的位置 -->
	<property>
	     <name>dfs.datanode.data.dir</name>
		 <value>/opt/hdpdata/data</value>
	</property>
	 <!-- secondary namenode機器的位置-->
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>linux02:50090</value>
	</property>
 
</configuration>
           

2.1.3 初始化namenode機器 !!!初始化在所有叢集搭建起來後再做。

bin/hadoop namenode -format

2.1.4 一鍵啟動

1 ) 在配置檔案的目錄中修改workers配置檔案 (啟動的時候會讀取這個檔案 ,在配置的主機上分别啟動datanode)

vi workers

2 ) 在hdfs啟動和停止的腳本中添加如下配置

vi sbin/start-dfs.sh | vi stop-dfs.sh

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

3)在yarn啟動和停止的腳本中添加如下配置

start-yarn.sh stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

2.1.5 修改預設的操作路徑為HDFS系統

core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://linux01:8020</value>
  </property>
           

2.1.6 配置yarn的基本設定

vi yarn-site.xml

<!--  resource,manager主節點所在機器 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>linux01</value>
</property>

<!--  為mr程式提供shuffle服務 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!--  一台NodeManager的總可用記憶體資源 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<!--  一台NodeManager的總可用(邏輯)cpu核數 -->
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>4</value>
</property>

<!--  是否檢查容器的虛拟記憶體使用超标情況 -->
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>

<!--  容器的虛拟記憶體使用上限:與實體記憶體的比率 --> 
<property>
  <name>yarn.nodemanager.vmem-pmem-ratio</name>
  <value>2.1</value>
</property>
           
2.4 ZooKeeper 協調系統 協調關鍵共享狀态

2.4.1 在zookeeper下建立一個zkData檔案夾

2.4.2 在conf檔案夾中 修改檔案名為zoo_sample.cfg --> zoo.cfg

vi zoo.cfg

dataDir=/opt/apps/zookeeper-3.4.6/zkData

#Set to “0” to disable auto purge feature

#autopurge.purgeInterval=1

server.1=linux04:2888:3888

server.2=linux05:2888:3888

server.3=linux06:2888:3888

2.4.3 在zkDate中建立myid檔案夾 并寫入id号 初始化在所有叢集搭建起來後再做

注:zookeeper中沒有一鍵啟動指令 需要每台機器單獨啟動。後續配置一鍵啟動腳本

2.6 Hbase 分布式資料庫

2.6.1 hbase-env.sh 修改内容

export JAVA_HOME=/opt/apps/jdk1.8.0_261

查找指令 esc檢視模式下 輸入: /ZK

export HBASE_MANAGES_ZK=false

2.6.2 hbase-site.xml

<configuration>
<!-- 指定hbase在HDFS上存儲的路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://linux04:8020/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
  <name>hbase.unsafe.stream.capability.enforce</name>
  <value>false</value>
</property>
<!-- 指定zk的位址,多個用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>linux04:2181,linux05:2181,linux06:2181</value>
</property>
</configuration>

           

2.6.3 regionservers 配置 設定啟動叢集中的Regionserver機器

2.7 Hive 基于HADOOP的數倉操作工具

2.7.1 tar -zxf apache-hive-2.3.5.tar.gz

2.7.2 vi hive-env.sh

export HADOOP_HOME=/usr/apps/hadoop-2.8.5/

#Hive Configuration Directory can be controlled by:

export HIVE_CONF_DIR=/usr/apps/hive-2.3.1/conf/

2.7.3 vi hive-site.xml

<configuration>
<!-- 記錄HIve中的中繼資料資訊  記錄在mysql中 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://linux04:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<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>
<!-- hive在hdfs中存儲的資料路徑 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>

<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
<!-- shell用戶端連接配接的端口 -->
<property> 
<name>hive.server2.thrift.port</name> 
<value>10000</value>
</property>
<property> 
<name>hive.server2.thrift.bind.host</name> 
<value>0.0.0.0</value>
</property>
<property>
<name>hive.server2.webui.host</name>
<value>0.0.0.0</value>
</property>
<!-- hive服務的頁面的端口 -->
<property>
<name>hive.server2.webui.port</name>
<value>10002</value>
</property>
<property> 
<name>hive.server2.long.polling.timeout</name> 
<value>5000</value>                               
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateSchema </name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore </name>
<value>true</value>
</property>

<property>
<name>hive.execution.engine</name>
<value>mr</value>
</property>
</configuration>
           

2.7.4 vi hdp/ect/hadoop/core-site.xml 隻修改hive服務安裝的主機即可

<property>
  <name>dfs.permissions.enabled</name>
		<value>false</value>
</property>

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

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

2.7.5 準備mysql的驅動包

拷貝一個mysql的jdbc驅動jar包到hive的lib目錄中

2.7.6 配置Hive環境變量 并且source /etc/profile

2.7.7初始化

将hive的原資料資訊初始化到mysql中

${HIVE_HOME}/bin/schematool -initSchema -dbType mysql

hadoop生态的配置hadoop生态的配置

繼續閱讀