首页 文章 精选 留言 我的

精选列表

搜索[ATH事业群],共10000篇文章
优秀的个人博客,低调大师

ubuntu安装spark2.1 hadoop2.7.3集群

0: 设置系统登录相关 Master要执行 1 cat $HOME/. ssh /id_rsa .pub>>$HOME/. ssh /authorized_keys 如果用root用户 1 sed -ri 's/^(PermitRootLogin).*$/\1yes/' /etc/ssh/sshd_config 编辑/etc/hosts 1 2 3 4 5 6 7 8 9 10 11 127.0.0.1localhost #别把spark1放在这 192.168.100.25spark1 #spark1isMaster 192.168.100.26spark2 192.168.100.27spark3 127.0.1.1ubuntu #ThefollowinglinesaredesirableforIPv6capablehosts ::1localhostip6-localhostip6-loopback ff02::1ip6-allnodes ff02::2ip6-allrouters 如果把 spark1 放在/etc/hosts第一行, 会发现在slave 有下面的错误 1 org.apache.hadoop.ipc.Client:Retryingconnecttoserver:spark1 /192 .168.100.25:9000.Alreadytried0 time (s) 然后在spark1 运行 1 2 ss-lnt LISTEN0128localhost:9000 会发现监听的是本地. 删除 hosts中的相关文本重新启动hadoop,解决问题 1: 安装java 可以直接apt-get 1 2 3 4 apt-get install python-software-properties-y add-apt-repositoryppa:webupd8team /java apt-getupdate apt-get install oracle-java7-installer 或者下载 1 2 3 4 5 6 7 8 9 10 11 12 13 wgethttp: //download .oracle.com /otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64 . tar .gz mkdir /usr/lib/jvm tar xvfjdk-7u80-linux-x64. tar .gz mv jdk1.7.0_80 /usr/lib/jvm #配置相关路径 update-alternatives-- install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_80/bin/java" 1 update-alternatives-- install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_80/bin/javac" 1 update-alternatives-- install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_80/bin/javaws" 1 update-alternatives--configjava #验证一下 java-version javac-version javaws-version 添加环境变量 1 2 3 4 5 6 cat >> /etc/profile <<EOF export JAVA_HOME= /usr/lib/jvm/jdk1 .7.0_80 export JRE_HOME= /usr/lib/jvm/jdk1 .7.0_80 /jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME /lib :$JRE_HOME /lib export PATH=$PATH:$JAVA_HOME /bin :$JRE_HOME /bin EOF 2: 安装 hadoop 1 2 3 4 tar xvfhadoop-2.7.3. tar .gz mv hadoop-2.7.3 /usr/local/hadoop cd /usr/local/hadoop mkdir -phdfs/{data,name,tmp} 添加环境变量 1 2 3 4 cat >> /etc/profile <<EOF export HADOOP_HOME= /usr/local/hadoop export PATH=$PATH:$HADOOP_HOME /bin EOF 编辑 hadoop-env.sh 文件 1 export JAVA_HOME= /usr/lib/jvm/jdk1 .7.0_80 #只改了这一行 编辑 core-site.xml 文件 1 2 3 4 5 6 7 8 9 10 <configuration> <property> <name>fs.defaultFS< /name > <value>hdfs: //spark1 :9000< /value > < /property > <property> <name>hadoop.tmp. dir < /name > <value> /usr/local/hadoop/hdfs/tmp < /value > < /property > < /configuration > 编辑hdfs-site.xml 文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <configuration> <property> <name>dfs.namenode.name. dir < /name > <value> /usr/local/hadoop/hdfs/name < /value > < /property > <property> <name>dfs.datanode.data. dir < /name > <value> /usr/local/hadoop/hdfs/data < /value > < /property > <property> <name>dfs.replication< /name > <value>3< /value > < /property > < /configuration > 编辑mapred-site.xml 文件 1 2 3 4 5 6 <configuration> <property> <name>mapreduce.framework.name< /name > <value>yarn< /value > < /property > < /configuration > 编辑yarn-site.xml 文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <configuration> <property> <name>yarn.nodemanager.aux-services< /name > <value>mapreduce_shuffle< /value > < /property > <property> <name>yarn.resourcemanager. hostname < /name > <value>spark1< /value > < /property > <!--property> 别添加这个属性,添加了可能出现下面的错误: Problembindingto[spark1:0]java.net.BindException:Cannotassignrequestedaddress <name>yarn.nodemanager. hostname < /name > <value>spark1< /value > < /property-- > < /configuration > 上面相关文件的具体属性及值在官网查询: https://hadoop.apache.org/docs/r2.7.3/ 编辑masters 文件 1 echo spark1>masters 编辑 slaves 文件 1 2 3 spark1 spark2 spark3 安装好后,使用rsync 把相关目录及/etc/profile同步过去即可 启动hadoop dfs 1 . /sbin/start-dfs .sh 初始化文件系统 1 hadoopnamenode- format 启动 yarn 1 . /sbin/start-yarn .sh 检查spark1相关进程 1 2 3 4 5 6 7 root@spark1: /usr/local/spark/conf #jps 1699NameNode 8856Jps 2023SecondaryNameNode 2344NodeManager 1828DataNode 2212ResourceManager spark2 spark3 也要类似下面的运程 1 2 3 4 root@spark2: /tmp #jps 3238Jps 1507DataNode 1645NodeManager 可以打开web页面查看 1 http: //192 .168.100.25:50070 测试hadoop 1 2 3 4 hadoopfs- mkdir /testin hadoopfs-put~ /str .txt /testin cd /usr/local/hadoop hadoopjar. /share/hadoop/mapreduce/hadoop-mapreduce-examples-2 .7.3.jarwordcount /testin/str .txttestout 结果如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 hadoopjar. /share/hadoop/mapreduce/hadoop-mapreduce-examples-2 .7.3.jarwordcount /testin/str .txttestout 17 /02/24 11:20:59INFOclient.RMProxy:ConnectingtoResourceManageratspark1 /192 .168.100.25:8032 17 /02/24 11:21:01INFOinput.FileInputFormat:Totalinputpathstoprocess:1 17 /02/24 11:21:01INFOmapreduce.JobSubmitter:numberofsplits:1 17 /02/24 11:21:02INFOmapreduce.JobSubmitter:Submittingtokens for job:job_1487839487040_0002 17 /02/24 11:21:06INFOimpl.YarnClientImpl:Submittedapplicationapplication_1487839487040_0002 17 /02/24 11:21:06INFOmapreduce.Job:Theurltotrackthejob:http: //spark1 :8088 /proxy/application_1487839487040_0002/ 17 /02/24 11:21:06INFOmapreduce.Job:Runningjob:job_1487839487040_0002 17 /02/24 11:21:28INFOmapreduce.Job:Jobjob_1487839487040_0002running in ubermode: false 17 /02/24 11:21:28INFOmapreduce.Job:map0%reduce0% 17 /02/24 11:22:00INFOmapreduce.Job:map100%reduce0% 17 /02/24 11:22:15INFOmapreduce.Job:map100%reduce100% 17 /02/24 11:22:17INFOmapreduce.Job:Jobjob_1487839487040_0002completedsuccessfully 17 /02/24 11:22:17INFOmapreduce.Job:Counters:49 FileSystemCounters FILE:Numberofbytes read =212115 FILE:Numberofbyteswritten=661449 FILE:Numberof read operations=0 FILE:Numberoflarge read operations=0 FILE:Numberofwriteoperations=0 HDFS:Numberofbytes read =377966 HDFS:Numberofbyteswritten=154893 HDFS:Numberof read operations=6 HDFS:Numberoflarge read operations=0 HDFS:Numberofwriteoperations=2 JobCounters Launchedmaptasks=1 Launchedreducetasks=1 Data- local maptasks=1 Total time spentbyallmaps in occupiedslots(ms)=23275 Total time spentbyallreduces in occupiedslots(ms)=11670 Total time spentbyallmaptasks(ms)=23275 Total time spentbyallreducetasks(ms)=11670 Totalvcore-millisecondstakenbyallmaptasks=23275 Totalvcore-millisecondstakenbyallreducetasks=11670 Totalmegabyte-millisecondstakenbyallmaptasks=23833600 Totalmegabyte-millisecondstakenbyallreducetasks=11950080 Map-ReduceFramework Mapinputrecords=1635 Mapoutputrecords=63958 Mapoutputbytes=633105 Mapoutputmaterializedbytes=212115 Input split bytes=98 Combineinputrecords=63958 Combineoutputrecords=14478 Reduceinput groups =14478 Reduceshufflebytes=212115 Reduceinputrecords=14478 Reduceoutputrecords=14478 SpilledRecords=28956 ShuffledMaps=1 FailedShuffles=0 MergedMapoutputs=1 GC time elapsed(ms)=429 CPU time spent(ms)=10770 Physicalmemory(bytes)snapshot=455565312 Virtualmemory(bytes)snapshot=1391718400 Totalcommittedheapusage(bytes)=277348352 ShuffleErrors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 FileInputFormatCounters BytesRead=377868 FileOutputFormatCounters BytesWritten=154893 3: 安装 scala 1 2 tar xvfscala-2.11.8.tgz mv scala-2.11.8 /usr/local/scala 添加环境变量 1 2 3 4 cat >> /etc/profile <<EOF export SCALA_HOME= /usr/local/scala export PATH=$PATH:$SCALA_HOME /bin EOF 测试 1 2 3 source /etc/profile scala-version Scalacoderunnerversion2.11.8--Copyright2002-2016,LAMP /EPFL 4: 安装 spark 1 2 tar xvfspark-2.1.0-bin-hadoop2.7.tgz mv spark-2.1.0-bin-hadoop2.7 /usr/local/spark 添加环境变量 1 2 3 4 5 cat >> /etc/profile <<EOF export SPARK_HOME= /usr/local/spark export PATH=$PATH:$SPARK_HOME /bin export LD_LIBRARY_PATH=$HADOOP_HOME /lib/native EOF 1 2 3 export LD_LIBRARY_PATH=$HADOOP_HOME /lib/native #这一条不添加的话在运行spark-shell时会出现下面的错误 NativeCodeLoader:Unabletoloadnative-hadooplibrary for yourplatform...using builtin -javaclasseswhereapplicable 编辑 spark-env.sh 1 2 SPARK_MASTER_HOST=spark1 HADOOP_CONF_DIR= /usr/locad/hadoop/etc/hadoop 编辑 slaves 1 2 3 spark1 spark2 spark3 启动 spark 1 . /sbin/start-all .sh 此时在spark1上运行jps应该如下, 多了 Master 和 Worker 1 2 3 4 5 6 7 8 9 root@spark1: /usr/local/spark/conf #jps 1699NameNode 8856Jps 7774Master 2023SecondaryNameNode 7871Worker 2344NodeManager 1828DataNode 2212ResourceManager spark2 和 spark3 则多了 Worker 1 2 3 4 5 root@spark2: /tmp #jps 3238Jps 1507DataNode 1645NodeManager 3123Worker 可以打开web页面查看 1 http: //192 .168.100.25:8080/ 运行 spark-shell 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 root@spark1: /usr/local/spark/conf #spark-shell UsingSpark'sdefaultlog4jprofile:org /apache/spark/log4j-defaults .properties Settingdefaultloglevelto "WARN" . Toadjustlogginglevelusesc.setLogLevel(newLevel).ForSparkR,usesetLogLevel(newLevel). 17 /02/24 11:55:46WARNSparkContext:Support for Java7isdeprecatedasofSpark2.0.0 17 /02/24 11:56:17WARNObjectStore:Failedtogetdatabaseglobal_temp,returningNoSuchObjectException SparkcontextWebUIavailableathttp: //192 .168.100.25:4040 Sparkcontextavailableas 'sc' (master= local [*],app id = local -1487908553475). Sparksessionavailableas 'spark' . Welcometo ______ /__ /__ ________/ /__ _\\/_\/_`/__/'_/ /___/ .__/\_,_ /_/ /_/ \_\version2.1.0 /_/ UsingScalaversion2.11.8(JavaHotSpot(TM)64-BitServerVM,Java1.7.0_80) Type in expressionstohavethemevaluated. Type:help for more information. scala>:help 此时可以打开spark 查看 1 http: //192 .168.100.25:4040 /environment/ spark 测试 1 2 3 run-exampleorg.apache.spark.examples.SparkPi 17 /02/28 11:17:20INFODAGScheduler:Job0finished:reduceatSparkPi.scala:38,took3.491241s Piisroughly3.1373756868784346 至此完成. 本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1900868,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux下Hadoop2.6.0集群环境的搭建

本文旨在提供最基本的,可以用于在生产环境进行Hadoop、HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用。 基础环境 JDK的安装与配置 现在直接到Oracle官网(http://www.oracle.com/)寻找JDK7的安装包不太容易,因为现在官方推荐JDK8。找了半天才找到JDK下载列表页的地址(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)。因为选择Linux操作系统作为部署环境,所以选择64位的版本。我选择的是jdk-7u79-linux-x64.gz。使用以下命令将jdk-7u79-linux-x64.gz下载到Linux下的/home/jiaan.gja/software目录 wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz 然后使用以下命令将jdk-7u79-linux-x64.gz解压缩到/home/jiaan.gja/install目录 tar zxvf jdk-7u79-linux-x64.gz -C ../install 回到/home/jiaan.gja目录,配置java环境变量,命令如下: cd ~ vim .bash_profile 在.bash_profile中加入以下内容:立刻让java环境变量生效,执行如下命令: source .bash_profile 最后验证java是否安装配置正确: Host 由于我搭建Hadoop集群包含三台机器,所以需要修改调整各台机器的hosts文件配置,命令如下: vi /etc/hosts 如果没有足够的权限,可以切换用户为root。如果禁止使用root权限,则可以使用以下命令修改: sudo vi /etc/hosts 三台机器的内容统一增加以下host配置: SSH 由于NameNode与DataNode之间通信,使用了SSH,所以需要配置免登录。首先登录Master机器,生成SSH的公钥,命令如下: ssh-keygen -t rsa 执行命令后会在当前用户目录下生成.ssh目录,然后进入此目录将id_rsa.pub追加到authorized_keys文件中,命令如下: cd .ssh cat id_rsa.pub >> authorized_keys 最后将authorized_keys文件复制到其它机器节点,命令如下: scp authorized_keys jiaan.gja@Slave1:/home/jiaan.gja/.ssh scp authorized_keys jiaan.gja@Slave2:/home/jiaan.gja/.ssh 文件目录 为了便于管理,给Master的hdfs的NameNode、DataNode及临时文件,在用户目录下创建目录:/home/jiaan.gja/hdfs/name/home/jiaan.gja/hdfs/data/home/jiaan.gja/hdfs/tmp然后将这些目录通过scp命令拷贝到Slave1和Slave2的相同目录下。 Hadoop的安装与配置 下载 首先到Apache官网(http://www.apache.org/dyn/closer.cgi/hadoop/common/)下载Hadoop,从中选择推荐的下载镜像(http://mirrors.hust.edu.cn/apache/hadoop/common/),我选择hadoop-2.6.0的版本,并使用以下命令下载到Master机器的/home/jiaan.gja/software目录: cd ~/software/ wget http://apache.fayea.com/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz 然后使用以下命令将hadoop-2.6.0.tar.gz解压缩到/home/jiaan.gja/install目录 tar zxvf hadoop-2.6.0.tar.gz -C ../install/ 环境变量 回到/home/jiaan.gja目录,配置hadoop环境变量,命令如下: cd ~ vim .bash_profile 在.bash_profile中加入以下内容:立刻让hadoop环境变量生效,执行如下命令: source .bash_profile Hadoop的配置 进入hadoop-2.6.0的配置目录: cd ~/install/hadoop-2.6.0/etc/hadoop/ 依次修改core-site.xml、hdfs-site.xml、mapred-site.xml及yarn-site.xml文件。 core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/home/jiaan.gja/hdfs/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>fs.default.name</name> <value>hdfs://Master:9000</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> </configuration> hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/jiaan.gja/hdfs/name</value> <final>true</final> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/jiaan.gja/hdfs/data</value> <final>true</final> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>Master:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration> mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> yarn-site.xml <configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.address</name> <value>Master:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>Master:18030</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>Master:18088</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>Master:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>Master:18141</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce.shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> 由于我们已经配置了JAVA_HOME的环境变量,所以hadoop-env.sh与yarn-env.sh这两个文件不用修改,因为里面的配置是: export JAVA_HOME=${JAVA_HOME} 最后,将整个hadoop-2.6.0文件夹及其子文件夹使用scp复制到两台Slave的相同目录中: scp -r hadoop-2.6.0 jiaan.gja@Slave1:/home/jiaan.gja/install/ scp -r hadoop-2.6.0 jiaan.gja@Slave2:/home/jiaan.gja/install/ 运行Hadoop 运行HDFS 格式化NameNode 执行命令: hadoop namenode -format 执行过程如下图: 最后的执行结果如下图: 启动NameNode 执行命令如下: hadoop-daemon.sh start namenode 执行结果如下图:最后在Master上执行ps -ef | grep hadoop,得到如下结果:在Master上执行jps命令,得到如下结果:说明NameNode启动成功。 启动DataNode 执行命令如下: hadoop-daemons.sh start datanode 执行结果如下: 在Slave1上执行命令,如下图:在Slave2上执行命令,如下图:说明Slave1和Slave2上的DataNode运行正常。以上启动NameNode和DataNode的方式,可以用start-dfs.sh脚本替代: 运行YARN 运行Yarn也有与运行HDFS类似的方式。启动ResourceManager使用以下命令: yarn-daemon.sh start resourcemanager 批量启动多个NodeManager使用以下命令: yarn-daemons.sh start nodemanager 以上方式我们就不赘述了,来看看使用start-yarn.sh的简洁的启动方式: 在Master上执行jps:说明ResourceManager运行正常。在两台Slave上执行jps,也会看到NodeManager运行正常,如下图: 测试Hadoop 测试HDFS 最后测试下亲手搭建的Hadoop集群是否执行正常,测试的命令如下图所示: 测试YARN 可以访问YARN的管理界面,验证YARN,如下图所示: 测试mapreduce 本人比较懒,不想编写mapreduce代码。幸好Hadoop安装包里提供了现成的例子,在Hadoop的share/hadoop/mapreduce目录下。运行例子: 配置运行Hadoop中遇见的问题 JAVA_HOME未设置? 我在启动Hadoop时发现Slave2机器一直启动不了,然后登录Slave2,在~/install/hadoop-2.6.0/logs目录下查看日志,发现了以下错误: Error: JAVA_HOME is not set and could not be found. 如果我执行echo $JAVA_HOME或者查看.bash_profile文件,都证明正确配置了JAVA_HOME的环境变量。无奈之下,只能将Slave2机器的hadoop-env.sh硬编码为如下的配置: # The java implementation to use. export JAVA_HOME=/home/jiaan.gja/install/jdk1.7.0_79 然后问题就解决了。虽然解决了,但是目前不知道所以然,有好心的同仁,告诉我下。。。 Incompatible clusterIDs 由于配置Hadoop集群不是一蹴而就的,所以往往伴随着配置——>运行——>。。。——>配置——>运行的过程,所以DataNode启动不了时,往往会在查看日志后,发现以下问题:此问题是由于每次启动Hadoop集群时,会有不同的集群ID,所以需要清理启动失败节点上data目录(比如我创建的/home/jiaan.gja/hdfs/data)中的数据。 NativeCodeLoader的警告 在测试Hadoop时,细心的人可能看到截图中的警告信息:我也是查阅网络资料,得知以下解决办法:1、下载hadoop-native-64-2.6.0.tar:在网站http://dl.bintray.com/sequenceiq/sequenceiq-bin/可以找到下载的相应版本,由于我是2.6.0的Hadoop,所以选择下载2、停止Hadoop,执行命令如下:下载完以后,解压到hadoop的native目录下,覆盖原有文件即可。操作如下: tar xvf hadoop-native-64-2.6.0.tar -C /home/jiaan.gja/install/hadoop-2.6.0/lib/native/ 令人失望的是,这种方式并不好使,看到最后的解决方案是需要下载Hadoop源码,重新编译,但这种方式有些重,我不打算尝试了。有没有简便的解决方案,还希望知道的同学告诉一下。 yarn.nodemanager.aux-services错误 在执行start-yarn.sh脚本启动YARN时,在Slave1和Slave2机器上执行jps命令未发现NodeManager进程,于是登录Slave机器查看日志,发现以下错误信息:参考网上的解决方式,是因为yarn.nodemanager.aux-services对应的值mapreduce.shuffle已经被替换为mapreduce_shuffle。有些参考用书上也错误的写为另一个值mapreduce-shuffle。鸣谢 我在试验的过程中,遇到很多问题。但是很多问题在网络上都能找到,特此感谢在互联网上分享经验的同仁们。 后记:个人总结整理的《深入理解Spark:核心思想与源码分析》一书现在已经正式出版上市,目前京东、当当、天猫等网站均有销售,欢迎感兴趣的同学购买。 京东(现有满150减50活动)):http://item.jd.com/11846120.html 当当:http://product.dangdang.com/23838168.html

优秀的个人博客,低调大师

elasticsearch-2.1.1集群搭建初探/填坑

elasticsearch2.x发布有一段时间了,抽空把集群搭起来,做点实验 -------------------------------------------------------------------------------------正文------------------------------------------------------------------------------------ elasticsearch1.7的搭建非常简单,只需要把tar.gz的包下载到linux服务器上解压缩,然后在bin目录下启动es即可, 集群的搭建也非常简单,保证cluster_name一致, node_name不一致就好了, 可以在同一个网段自动发现新节点,也可以在配置文件的discovery.zen.ping.unicast.hosts属性中指定集群的节点IP;----------------------------------------------------------------------------------接下来开始填坑------------------------------------------------------------------------------ 启动失败----> 坑一:Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. 填坑:解释为“防止attacker 获取root权限”, 如果是RPM包安装,会自动创建elastsearch组和elastsearch用户,设置好密码,换一个用户启动即可 坑二:Increase RLIMIT_MEMLOCK, soft limit: XXXXX, hard limit: XXXXX 填坑:es为了性能考虑,推荐关掉swap,并锁定一部分mem,按照日志中的指引操作即可 一般处理好这两个,注意一下文件和日志的权限,基本就能正常的启动了; 搭建集群失败--> 首先要注意的一点,在1.7的时候,es判断集群是否可用时,会用index.number_of_replicas去判断, 但是在2.1.1中,这个变成了discovery.zen.minimum_master_nodes,当集群的node低于设定值的时候,集群会无法访问 PS:这个参数在介绍中是用来防止选举master发生脑裂的一个参数,实际上当存活节点数低于这个值,就选举不出master了; 测试中采用四个node来搭建集群 坑三:手动把四个host写进了discovery.zen.ping.unicast.hosts,但是没有手动指定discovery.zen.minimum_master_nodes的值,每一个node启动以后都把自己设置为Master 填坑:network.host默认采用的是127.0.0.1,这个问题可能会受到hosts的影响,为了意义明确,写成机器的IP,问题解决 坑四:手动把四个host写进了discovery.zen.ping.unicast.hosts,并且手动指定discovery.zen.minimum_master_nodes的值,启动node以后出现报错,ping其他的node超时 or 不停的等待初始化; 填坑:推测es自身应该是自动计算这个discovery.zen.minimum_master_nodes的, 如果手动指定以后,往集群中添加机器时,数量小于discovery.zen.minimum_master_nodes就会出现这种现象, 只需要继续往里面添加节点,直到超过手动指定的值,集群会自动选举Master,并正常运转起来。 总结: 不要用root启动,修改memlock的设置,手动指定network.host的值,discovery.zen.minimum_master_nodes可以手动写,也可以不写,保证cluster_name一致, node_name不一致,es2.1.1的集群就可以正常启动了 PS:jdk至少是1.7, 作为测试用的话,ES_HEAP_SIZE可以不写

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册