在Ubuntu上集成Zookeeper和Hadoop,可以按照以下步驟進行:
Hadoop和Zookeeper都需要Java環境。首先確保你的系統上安裝了Java。
sudo apt update
sudo apt install openjdk-8-jdk
驗證Java安裝:
java -version
從Apache Hadoop官方網站下載最新版本的Hadoop,并解壓到指定目錄。
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
編輯Hadoop的配置文件,主要修改以下幾個文件:
hadoop-env.sh
設置Java環境變量:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
core-site.xml
配置HDFS的默認文件系統:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
配置HDFS的副本數和其他參數:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
yarn-site.xml
配置YARN的相關參數:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
配置MapReduce框架:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在首次啟動Hadoop之前,需要對HDFS進行格式化:
hdfs namenode -format
啟動HDFS和YARN:
start-dfs.sh
start-yarn.sh
驗證Hadoop是否正常運行:
jps
你應該能看到NameNode、DataNode、SecondaryNameNode、ResourceManager和NodeManager等進程。
從Apache Zookeeper官方網站下載最新版本的Zookeeper,并解壓到指定目錄。
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /usr/local/
進入Zookeeper的配置目錄并編輯zoo.cfg
文件:
cd /usr/local/apache-zookeeper-3.7.0-bin/conf
cp zoo_sample.cfg zoo.cfg
編輯zoo.cfg
文件,添加以下內容:
dataDir=/var/lib/zookeeper
clientPort=2181
創建數據目錄并設置權限:
sudo mkdir -p /var/lib/zookeeper
sudo chown -R $USER:$USER /var/lib/zookeeper
啟動Zookeeper服務:
bin/zkServer.sh start
驗證Zookeeper是否正常運行:
bin/zkServer.sh status
Hadoop通常會自動檢測并使用Zookeeper進行協調。確保Hadoop的配置文件中沒有沖突的配置項。
運行一個簡單的Hadoop作業來驗證集成是否成功:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
確保輸入和輸出路徑正確,并且Hadoop能夠正常讀取和寫入數據。
通過以上步驟,你應該能夠在Ubuntu上成功集成Zookeeper和Hadoop。如果有任何問題,請檢查日志文件以獲取更多信息。